ott
06

[Risolto] cannot connect to X server :0

 

A differenza di GNOME, in KDE non è possibile avviare applicazioni grafiche direttamente con sudo. Infatti, se in KDE si prova a eseguire con sudo un applicazione grafica da utilizzare con i permessi di amministratore, si potrà ricevere un messaggio di errore di questo tipo

$ sudo kateQDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.No protocol specifiedkate: cannot connect to X server :0

La soluzione è semplice: basta utilizzare kdesudo (assicurarsi di aver installato il pacchetto omonimo) al posto del solo sudo:

$ kdesudo kate

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ott
06

[Risolto] Il volume di sistema in KDE è agganciato a quello di VLC

 

Non sono riuscito a trovare un espressione migliore per descrivere il problema: alzando il volume di VLC aumenta anche il volume di sistema, in KDE. Per la precisione, il volume di sistema è sempre maggiore o uguale a quello di VLC. In realtà non è un problema né di KDE (si presenta anche negli altri ambienti desktop) né di VLC (si presenta anche con gli altri programmi, per esempio l ho riscontrato in Dragon Player), ma di una configurazione predefinita poco felice di PulseAudio. È facile imbattersi in questo problema usando KDE perché questo ambiente desktop usa in maniera predefinita PulseAudio. Nel manuale del demone di configurazione di Pulseaudio (man pulse-daemon.conf) possiamo leggere

flat-volumes=  Enable   flat  volumes, i.e. where possible let the sinkvolume equal the maximum of the volumes of the inputs connected to  it.Takes a boolean argument, defaults to yes.

Per risolvere il problema bisogna modificare il file /etc/pulse/daemon.conf con il proprio editor di testo preferito e con i diritti di amministratore. Per esempio, volendo usare Kwrite per aprire il file si può dare il seguente comando nel terminale

kdesudo kwrite /etc/pulse/daemon.conf

Dopo di ciò dobbiamo impostare la variabile flat-volumes al valore no, per inibire il comportamento descritto nel manuale. Nel file dovrebbe essere già presente la riga

; flat-volumes = yes

In questo caso, togliere il simbolo di commento ; e cambiare il valore della variabile da yes a no. Se la riga precedente non è presente, aggiungete semplicemente da qualche parte la riga

flat-volumes = no

Dopo aver salvato e chiuso il file, per concludere bisogna riavviare Pulseaudio da terminale con il comando

pulseaudio --kill && pulseaudio --start

Ho trovato questa soluzione qui: https://wiki.archlinux.org/index.php/PulseAudio_%28Italiano%29#Il_livello_del_volume_si_alza_ogni_volta_che_una_nuova_applicazione_viene_avviata.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

set
29

Massimizzare la finestra di GNU Emacs in KDE

 

Nell ambiente desktop KDE, la finestra dell interfaccia grafica GTK+ di Emacs non viene massimizzata correttamente, come mostrato nella figura a lato. (Per integrare per bene le applicazioni GTK+ in KDE si può consultare questa guida.) Per risolvere questo inconveniente bisogna fare clic sulla barra del titolo di Emacs e aprire Avanzate ? Impostazioni specifiche per applicazione…. Nella scheda Dimensioni e posizione impostare la voce Rispetta le restrizioni geometriche su Imponi e dopo di che premere Ok. In questo modo viene aggiunta semplicemente una striscia bianca per coprire la regione “scoperta”, ma almeno viene eliminato il “fastidio” di vedere parte del desktop dietro una finestra che dovrebbe essere massimizzata.

L impostazione precedente può essere creata “manualmente” andando in Impostazioni di sistema ? Regole delle finestre e nella scheda Regole delle finestre creare una nuova regola facendo clic sul pulsante Nuovo… posto sulla destra. Nella finestra che si aprirà, scrivere una descrizione chiara nel campo omonimo della scheda Corrispondenza delle finestre (la descrizione che si ottiene con la procedura “automatica” descritta sopra è “Impostazioni dell applicazione di emacs”) e nel campo Classe di finestra selezionare Esattamente e aggiungere il valore emacs23 emacs (o l eventuale numero di versione di Emacs utilizzata).

Ho trovato questo workaround qui: http://forum.kde.org/viewtopic.php?f=111&t=94122.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

set
29

Attivare il blocco numeri all'avvio di KDE

 

All avvio dell ambiente desktop potrebbe succedere che il tasto blocco numeri sia disattivato. Per accenderlo automaticamente andare in Impostazioni di sistema ? Dispositivi di immissione, scheda Tastiera e poi nella scheda Hardware selezionare Acceso nel campo Bloc Num all avvio di KDE.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

dic
21

Integrare le applicazioni GTK+ in KDE

 

Le applicazioni scritte con il toolkit GTK+ (come praticamente tutte le applicazioni dell ambiente desktop GNOME) non sono nativamente ben integrate nell ambiente desktop KDE (che invece si basa sul toolkit Qt).

Il toolkit GTK+ permette di impostare un tema per tutte le applicazioni che lo utilizzano, quindi per migliorare l aspetto di queste applicazioni all interno di KDE abbiamo bisogno di un tema che assomigli il più possibile al tema in uso su KDE. Esistono diversi temi GTK+ che ben si integrano con le applicazioni Qt, come QtCurve, però in particolare segnalo l esistenza del tema Oxygen-gtk che è una traduzione in GTK+ del tema predefinito di KDE, cioè Oxygen. Non è scopo di questa guida spiegare come si installano in generale i temi GTK+, vedremo solo come si installa Oxygen-gtk su Debian e sistemi derivati e come fare per utilizzarlo. Sugli altri sistemi operativi (Fedora, openSUSE, Gentoo, Arch Linux, eccetera) potranno cambiare i nomi dei pacchetti da installare e il gestore pacchetti da usare, ma le operazioni da eseguire saranno grosso modo le stesse.

È possibile installare Oxygen-gtk scaricandolo da qui e seguendo le istruzioni riportate nella pagina oppure, su Debian e derivate, installando il pacchetto gtk2-engines-oxygen tramite il gestore pacchetti Synaptic o sul terminale con il comando

sudo apt-get install gtk2-engines-oxygen

Ora dobbiamo solo impostare questo tema come quello utilizzato dalle applicazioni GTK+. Esiste una procedura manuale ben descritta in questa guida (in inglese) del wiki di Arch Linux, ma esiste anche una procedura automatica basata sull utilizzo di un apposita interfaccia grafica. Ci sono diversi semplici programmi che permettono di selezionare il tema GTK+ fra i quali gtk-chtheme e lxappearance, ma dal momento che stiamo parlando dell ambiente desktop KDE suggerisco di utilizzare il selettore dei temi GTK che fa parte degli strumenti di sistema di KDE. Per installarlo su Debian e derivate bisogna installare il pacchetto kde-config-gtk-style con Synaptic oppure via terminale con il comando

sudo apt-get install kde-config-gtk-style

Si può adesso selezionare il tema in Impostazioni di sistema, scegliendo Aspetto delle applicazioni e impostando nella scheda Stili e caratteri GTK lo stile oxygen-gtk.

Manca solo un ultima operazione prima di finire. Scegliendo lo stile con il programma Impostazioni di sistema abbiamo creato un file nascosto il cui percorso è ~/.gtkrc-2.0-kde (ricordo che la tilde ~ è un abbreviazione del percorso della home dell utente corrente), ma per rendere efficace questa impostazione il file deve chiamarsi ~/.gtkrc-2.0 quindi dobbiamo rinominare il file ~/.gtkrc-2.0-kde in ~/.gtkrc-2.0, oppure copiare ~/.gtkrc-2.0-kde e incollarlo con il nuovo nome ~/.gtkrc-2.0 oppure creare un link simbolico ~/.gtkrc-2.0 che punta a ~/.gtkrc-2.0-kde. Per visualizzare i file nascosti in Dolphin bisogna premere la scorciatoia da tastiera ALT + . oppure queste operazioni possono essere eseguite da terminale rispettivamente con i seguenti comandi (basta eseguirne solo uno, quello che si preferisce!):

mv ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per rinominare il filecp ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per copiare il fileln -s ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per creare il link simbolico

Adesso tutte le applicazioni GTK che verranno aperte risulteranno finalmente ben integrate con le applicazioni Qt di KDE.

Un ultima osservazione: l impostazione del tema GTK viene letta solo dai programmi eseguiti dall utente nella cui cartella home si trova il file .gtkrc-2.0, ciò permette agli utenti di uno stesso sistema di usare diversi temi. Questo vale anche per l utente “root”, pertanto se si vuole che anche le applicazioni eseguite come utente “root” utilizzino il tema scelto bisogna inserire nella home dell utente “root” il file .gtkrc-2.0. Per fare questo possiamo copiare il file nella home di “root” oppure creare all interno di questa un link simbolico al nostro file .gtkrc-2.0 in modo che tutte le modifiche apportate al nostro file .gtkrc-2.0 valgano automaticamente anche per l utente “root” senza dover modificare ulteriormente suoi file. Da terminale queste due operazioni possono essere eseguite con i comandi

sudo cp ~/.gtkrc-2.0 ~root/.gtkrc-2.0 # per copiare il filesudo ln -s ~/.gtkrc-2.0 ~root/.gtkrc-2.0 # per creare il link simbolico

Per quanto ne so al momento il tema Oxygen-gtk funziona solo con le applicazioni che utilizzano la versione 2 del toolkit GTK+, per essere più precisi non mi risulta che sia facile utilizzare in maniera semplice questo tema anche con le applicazioni che utilizzano GTK+ 3. Sono ben accetti suggerimenti in questa direzione

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

giu
26

Conflitto fra i moduli delle schede audio

 

Sul mio vecchio muletto ho due schede audio, una integrata e una esterna. Questo è la parte dell output del comando lspci -v che riguarda le mie due schede audio

00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC 97 Sound Controller (rev a0)        Subsystem: C-Media Electronics Inc CMI9739(A) on ECS K7SOM+ motherboard        Flags: bus master, medium devsel, latency 64, IRQ 11        I/O ports at d800 [size=256]        I/O ports at d400 [size=64]        Capabilities: <access denied>        Kernel modules: snd-intel8x0

00:11.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)        Subsystem: Creative Labs SBLive! 5.1 Model SB0100        Flags: bus master, medium devsel, latency 64, IRQ 11        I/O ports at d000 [size=32]        Capabilities: <access denied>        Kernel driver in use: EMU10K1_Audigy        Kernel modules: snd-emu10k1

La scheda integrata è la prima (e segue lo standard AC 97), la seconda è la scheda esterna. Le casse audio sono collegate alla scheda esterna e su Windows (mi duole ammetterlo) l audio funziona senza problemi, mentre su Ubuntu non sentivo nulla fino a qualche minuto fa (in realtà l audio funzionava prima di aggiornare Ubuntu alla versione 9.10 Karmic Koala). Ho impiegato più di un anno e mezzo per capire quale fosse il problema ma l importante è arrivarci (e da solo!): facevano conflitto i driver (o “moduli”) delle due schede (anche se non so perché con le precedenti versioni di Ubuntu questo problema non si presentasse). I nomi dei moduli del kernel utilizzati dalle due schede possono essere letti nell output del comando lspci -v: snd-intel8x0 per la scheda integrata (cioè quella che non uso) e snd-emu10k1 per la scheda esterna.

Per mettere in blacklist un modulo del kernel chiamato modulo bisogna mettere in un file con estensione .conf della cartella /etc/modprobe.d la riga

blacklist modulo

Dunque per far tornare magicamente l audio sul mio computer ho dato il seguente comando da terminale

echo "blacklist snd_intel8x0" | sudo tee /etc/modprobe.d/blacklist-audio.conf

È possibile aggiungere un commento, per ricordarsi perché si è aggiunto un modulo alla blacklist, facendo iniziare le righe di commento con #. Per esempio ho modificato il file appena creato (con i diritti di amministratore perché si trova sotto /etc) aggiungendo il seguente commento

# Metto il modulo della scheda audio integrata nella blacklist per# evitare che entri in conflitto con quello della scheda esternablacklist snd_intel8x0

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

apr
24

Schermo nero al ritorno dalla sospensione

 

Dopo aver aggiornato il kernel Linux alla versione 2.6.38 (ma non sono sicuro che sia questa particolare versione del kernel la causa del problema) al ritorno dalla sospensione trovo lo schermo nero senza la possibilità di fare nulla. In realtà basta premere ALT + CTRL + F7 (o altro tasto funzione associato alla console in cui è avviato il server grafico X.org) per far comparire la la schermata per l inserimento della password e tornare a utilizzare il proprio computer. Nel file di log /var/log/pm-suspend.log in corrispondenza del ritorno dalla sospensione compare qualcosa del tipo:

/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.Sun Apr 24 17:17:00 CEST 2011: performing suspendSun Apr 24 17:18:39 CEST 2011: Awake.Sun Apr 24 17:18:39 CEST 2011: Running hooks for resumeRunning hook /usr/lib/pm-utils/sleep.d/99video resume suspend:Couldn t get a file descriptor referring to the consoleVT_DISALLOCATE: Device or resource busydeallocvt: could not deallocate console 63

Come segnalato qui per risolvere il problema dovrebbe essere sufficiente creare il file /etc/pm/config.d/10no-vt-switch contenente semplicemente

ADD_PARAMETERS=" --quirk-no-chvt "

però non ho provato personalmente questa soluzione. Il problema comunque potrebbe essere molto legato al particolare hardware del computer usato. Quindi controllate se i vostri componenti sono gli stessi di quelli riportati sul Wiki di Debian.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

feb
26

Compilare GNU Octave 3.4.0

 

Lo scorso 8 febbraio è stata rilasciata la versione 3.4.0 di GNU Octave, sostituto libero di MATLAB. Trovate le novità di questa versione qui.

In questo post spiegherò come compilare questa versione di GNU Octave. Qualche mese fa avevamo visto come compilare la versione 3.2.2. Non sarà molto diverso compilare la 3.4.0, anzi, personalmente ho incontrato molti meno problemi nel compilare la 3.4.0 rispetto alla 3.2.2. La guida è stata sperimentata su Ubuntu 10.10, non dovrebbero esserci praticamente differenze per compilare GNU Octave su Debian Sid. Per le altre distribuzioni GNU/Linux le uniche cose differenti saranno probabilmente i comandi da usare per richiamare il gestore pacchetti utilizzato.

Per prima cosa installiamo il compilatore installando il metapacchetto build-essential. Questo può essere installato da Synaptic, oppure da terminale con il comando:

sudo apt-get install build-essential

Il metapacchetto build-essential installa i compilatori se non già presenti, se sono già installati… non fa praticamente nulla. In questo modo comunque ci assicuriamo di averli installati. Dopo di ciò installiamo le dipendenze, ovvero le librerie necessarie per la compilazione di GNU Octave. Possiamo fare ciò molto velocemente da terminale con il comando:

sudo apt-get build-dep octave3.2

Questo comando installerà le dipendenze necessarie per compilare il ramo 3.2 di GNU Octave, ma queste sono praticamente identiche a quelle del ramo 3.4. Manca solo una libreria da installare. Non impedisce la compilazione, però potrebbe essere utile in alcuni casi. Si chiama bison e può essere installata come al solito da Synaptic oppure da terminale con il comando

sudo apt-get install bison

Scarichiamo ora il codice sorgente di GNU OCtave: http://www.gnu.org/software/octave/download.html. La versione 3.4.0 può essere scaricata da terminale con il comando

wget ftp://ftp.gnu.org/gnu/octave/octave-3.4.0.tar.bz2

Scompattiamo l archivio. Lo si può fare per via grafica oppure da terminale con il comando

tar xjvf octave-3.4.0.tar.bz2

Entriamo con il terminale nella cartella principale del codice sorgente di GNU Octave:

cdd octave-3.4.0/

Leggiamo i file README e INSTALL che spiegano come si compila il programma. Per prima cosa dobbiamo configurare il programma usando lo script configure. Potete vedere l elenco delle opzioni di configurazione possibili richiamando lo script con l opzione --help:

./configure --help

Possiamo ora configurare GNU Octave:

./configure

Se lo ritenete necessario potete, naturalmente, aggiungere le opzioni che preferite. Se tutto è andato a buon fine dovreste leggere alla fine dell output di ./configure qualcosa di questo tipo:

Octave is now configured for i686-pc-linux-gnu

  Source directory:            .  Installation prefix:         /usr/local  C compiler:                  gcc  -mieee-fp  -Wall -W -Wshadow -Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread  C++ compiler:                g++  -mieee-fp  -I/usr/include/freetype2    -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2  Fortran compiler:            gfortran -O -mieee-fp  Fortran libraries:            -L/usr/lib/gcc/i686-linux-gnu/4.4.5 -L/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/4.4.5/../../.. -L/usr/lib/i686-linux-gnu -lgfortranbegin -lgfortran -lm  Lex libraries:                 LIBS:                        -lm  

  AMD CPPFLAGS:                  AMD LDFLAGS:                   AMD libraries:               -lamd  BLAS libraries:              -lblas  CAMD CPPFLAGS:                 CAMD LDFLAGS:                  CAMD libraries:              -lcamd  CARBON libraries:              CCOLAMD CPPFLAGS:              CCOLAMD LDFLAGS:               CCOLAMD libraries:           -lccolamd  CHOLMOD CPPFLAGS:              CHOLMOD LDFLAGS:               CHOLMOD libraries:           -lcholmod  COLAMD CPPFLAGS:               COLAMD LDFLAGS:                COLAMD libraries:            -lcolamd  CURL CPPFLAGS:                 CURL LDFLAGS:                  CURL libraries:              -lcurl  CXSPARSE CPPFLAGS:             CXSPARSE LDFLAGS:              CXSPARSE libraries:          -lcxsparse  DL libraries:                -ldl  FFTW3 CPPFLAGS:                FFTW3 LDFLAGS:                 FFTW3 libraries:             -lfftw3  FFTW3F CPPFLAGS:               FFTW3F LDFLAGS:                FFTW3F libraries:            -lfftw3f  fontconfig CFLAGS:              fontconfig LIBS:             -lfontconfig    FT2_CFLAGS:                  -I/usr/include/freetype2  FT2_LIBS:                    -lfreetype -lz  GLPK CPPFLAGS:                 GLPK LDFLAGS:                  GLPK libraries:              -lglpk  graphics CFLAGS:             -g -O2 -D_THREAD_SAFE -D_REENTRANT  graphics LIBS:               -Wl,-Bsymbolic-functions -lfltk_gl -lfltk  Magick++ CPPFLAGS:           -I/usr/include/GraphicsMagick    Magick++ LDFLAGS:               Magick++ libraries:          -lGraphicsMagick++ -lGraphicsMagick    HDF5 CPPFLAGS:                 HDF5 LDFLAGS:                  HDF5 libraries:              -lhdf5  LAPACK libraries:            -llapack  OPENGL libraries:            -lfontconfig   -lGL -lGLU  PTHREAD flags:               -pthread  PTHREAD libraries:             QHULL CPPFLAGS:                QHULL LDFLAGS:                 QHULL libraries:             -lqhull  QRUPDATE libraries:          -lqrupdate  READLINE libraries:          -lreadline  REGEX libraries:             -L/usr/lib -lpcre  TERM libraries:              -lncurses  UMFPACK libraries:           -lumfpack  X11 include flags:             X11 libraries:               -lX11  Z CPPFLAGS:                    Z LDFLAGS:                     Z libraries:                 -lz

  Default pager:               less  gnuplot:                     gnuplot

  Do internal array bounds checking:  false  Build static libraries:             false  Build shared libraries:             true  Dynamic Linking:                    true (dlopen)  Include support for GNU readline:   true  64-bit array dims and indexing:     false

Se non avessimo installato bison avremmo inoltre letto un avviso di questo tipo:

configure: WARNING: I didn t find bison, but it s only a problem if you need to reconstruct parse.ccconfigure: WARNING: OpenGL libs (GL and GLU) not found. Native graphics will be disabled.configure: WARNING: configure: WARNING: I didn t find the necessary libraries to compile nativeconfigure: WARNING: graphics.  It isn t necessary to have native graphics,configure: WARNING: but you will need to have gnuplot installed or you won tconfigure: WARNING: be able to use any of Octave s plotting commandsconfigure: WARNING: configure: configure: NOTE: libraries may be skipped if a library is not found ORconfigure: NOTE: if the library on your system is missing required features.

Questo è il messaggio che ho ottenuto io dopo la prima configurazione (non avevo però ancora installato bison). Come potete vedere mi è stata segnalata l assenza delle librerie OpenGL. Ho risolto questo “problema” (non è un vero e proprio problema perché si tratta solo di un avviso, non è un errore) installando i pacchetti libgl1-mesa-dev e libglu1-mesa-dev:

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev

Normalmente questo problema non dovrebbe verificarsi perché questi pacchetti dovrebbero essere installati usando apt-get build-dep octave3.2, non so bene per quale motivo a me sono stati rimossi.

Dopo aver finalmente configurato GNU Octave possiamo compilarlo con il comando

make

Per rendere più veloce la compilazione, chi ha un processore multicore può passare a make l opzione -j n, dove n è il numero di core del processore (o meglio di job simultanei che può gestire, però per semplificare il discorso parliamo di core). Quindi chi, per esempio, ha un processore con quattro core potrà usare per compilare GNU Octave il comando

make -j 4

Se la compilazione va a buon fine (a seconda della potenza di calcolo del proprio computer questa operazione può richiedere da poche decine di minuti a qualche ora) alla fine dell operazione leggerete sul terminale un messaggio di questo tipo:

Octave successfully built.  Now choose from the following:

   ./run-octave    - to run in place to test before installing   make check      - to run the tests   make install    - to install (PREFIX=/usr/local)

make[2]: uscita dalla directory "/[...]/octave-3.4.0"make[1]: uscita dalla directory "/[...]/octave-3.4.0"

Come potete vedere, prima di installare Octave potete avviarlo per verificare se funzioni con il comando

./run-octave

Infine possiamo installarlo con il comando

sudo make install

Se invece vogliamo crare un pacchetto .deb per rendere più semplice la successiva installazione o rimozione possiamo usare checkinstall:

sudo checkinstall

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

feb
20

Compilare QtiPlot 0.9.8.4

 

Il 18 febbraio 2011 è stata rilasciata la versione finale di QtiPlot 0.9.8.4, un programma per l analisi dei dati, equivalente libero di Origin. Questa versione porta con sé numerose novità che potete leggere qui.

QtiPlot è un programma un po particolare perché il codice sorgente è rilasciato con licenza GPL ma lo sviluppatore distribuisce i binari precompilati a pagamento. Ciò non è in alcun modo in contrasto con il concetto di software libero perché nella sua definizione non si parla di prezzo. La confusione di “software libero” con “software gratuito” è maggiormente presente nelle persone di lingua inglese, poiché in questa la parola “free” ha il duplice significato di “libero” e “gratuito”. Anche chi usa questo software avendolo compilato da sé può fare una donazione a favore del progetto all indirizzo http://soft.proindependent.com/why_donate.html per permettere allo sviluppatore di portare avanti il suo progetto.

In questo post spiegherò come fare a compilare QtiPlot. Questa guida è per Ubuntu Maverick Meerkat 10.10 (e probabilmente funzionerà senza troppi problemi anche per Debian), per le altre distribuzioni ci potranno essere piccoli differenze per quanto riguarda i comandi che richiamano il gestore dei pacchetti, i nomi dei pacchetti e la disponibilità di questi.

Innanzitutto cominciamo con l installare tutte le dipendenze necessarie per la compilazione. In un terminale dare

sudo apt-get install build-essentialsudo apt-get build-dep qtiplot

Il primo comando installa (se non già presente, ma è difficile che non lo sia già) le utility necessarie per compilare la maggior parte dei programmi, il secondo installa le principali librerie che necessita QtiPlot per essere compilato. Nelle ultime versioni QtiPlot ha aggiunto altre dipendenze i cui pacchetti non sono disponibili nella versione di Ubuntu considerata, quindi prima di procedere con la compilazione di QtiPlot stesso dovremo compilare altri programmi.

Scarichiamo il codice sorgente di QtiPlot all indirizzo http://download.berlios.de/qtiplot/qtiplot-0.9.8.4.tar.bz2. Da terminale si può usare

wget http://download.berlios.de/qtiplot/qtiplot-0.9.8.4.tar.bz2

Scompattiamo l archivio dove ci pare (se non siete in grado di farlo da terminale, vi ricordo che è possibile farlo attraverso interfaccia grafica) e spostiamoci con il terminale nella cartella in cui si trova il sorgente:

tar xjvf qtiplot-0.9.8.4.tar.bz2cd qtiplot-0.9.8.4/

Aprite il file README.html presente nella cartella del sorgente (è sempre buona norma leggere i file README e/o INSTALL, o simili, prima di procedere con la compilazione di un programma). Come potete vedere le dipendenze necessarie sono le seguenti: Qt (>= 4.5.0), GSL, muParser (1.32), zlib e libpng. Tutti questi pacchetti sono stati installati (se non erano già presenti) con il comando sudo apt-get build-dep qtiplot. Inoltre servono delle versioni leggermente modificate delle librerie Qwt (5.2) e QwtPlot3D, ma queste sono presenti nella sottocartella 3rdparty/ del codice sorgente di QtiPlot, quindi non bisogna scaricare nulla di nuovo per questo elencato finora. Altre librerie suggerite sono QTeXEngine, ALGLIB (2.6), della quale non ci occuperemo, e TAMUANOVA.

Vogliamo compilare QTeXEngine e TAMUANOVA. Salveremo i codici sorgenti di questi programmi nella sottocartella 3rdparty/, per comodità, quindi spostiamoci in questa cartella:

cd 3rdparty/

Scarichiamo e scompattiamo l archivio contenente il codice sorgente di QTeXEngine:

wget http://download.berlios.de/qtiplot/QTeXEngine-0.3-opensource.zipunzip QTeXEngine-0.3-opensource.zipcd QTeXEngine

Compiliamo la libreria (le istruzioni sono presenti nel file README.txt:

qmakemake

Se tutto è andato bene (lo potete controllare guardando l exit status con il comando echo $?, se è 0 allora l operazione si è conclusa correttamente) torniamo nella cartella superiore, scarichiamo il codice sorgente di TAMUANOVA e compiliamolo:

cd ..wget http://www.stat.tamu.edu/~aredd/tamuanova/tamu_anova-0.2.tar.gztar xzvf tamu_anova-0.2.tar.gz ; mv tamu_anova-0.2/ tamu_anova/cd tamu_anova/

Compiliamo questa libreria (le istruzioni sono presenti nel file INSTALL):

./configuremake

Controllate l exit status con echo $?. Se ottenete 0 potete andare avanti. Non è necessario installare la libreria, è sufficiente averla compilata.

Passiamo ora a QtiPlot. Prima di iniziare la compilazione vera e propria ci sono ancora diverse operazioni da fare. Prima di tutto dobbiamo creare un file chiamato build.conf da posizionare nella cartella del codice sorgente di QtiPlot e che contiene alcune istruzioni che servono per la compilazione. Questo file dovrà essere realizzato sulla base del modello build.conf.example che si trova nella stessa cartella. Per la precisione, build.conf contiene alcune opzioni e variabili per la compilazione e i percorsi delle librerie da utilizzare (oppure le corrispondenti opzioni di compilazione). Ho modificato build.conf.example in base ai reali percorsi delle librerie utilizzate ed ecco il mio build.conf:

isEmpty( QTI_ROOT ) {  message( "each file including this config needs to set QTI_ROOT to the dir containing this file!" )}

############################################################     System specific configuration########################################################### Global include path which is always added at the end of the INCLUDEPATHSYS_INCLUDEPATH = /opt/local/include# Global lib path and libs which is ls always added at the end of LIBSSYS_LIBS = -L/opt/local/lib

############################################################ zlib (http://www.zlib.net/)########################################################### include path. leave it blank to use SYS_INCLUDEZLIB_INCLUDEPATH = $$QTI_ROOT/3rdparty/zlib/

############################################################ muParser (http://muparser.sourceforge.net/)########################################################### include path. leave it blank to use SYS_INCLUDEMUPARSER_INCLUDEPATH = /usr/include/muParser/# link statically against a copy in 3rdparty/MUPARSER_LIBS = /usr/lib/libmuparser.so# or dynamically against a system-wide installation# MUPARSER_LIBS = -lmuparser############################################################ GNU Sientific Library (http://www.gnu.org/software/gsl/)########################################################### include path. leave it blank to use SYS_INCLUDE# GSL_INCLUDEPATH = $$QTI_ROOT/3rdparty/gsl/include# link statically against a copy in 3rdparty/# GSL_LIBS = $$QTI_ROOT/3rdparty/gsl/lib/libgsl.a #            $$QTI_ROOT/3rdparty/gsl/lib/libgslcblas.a# or dynamically against a system-wide installationGSL_LIBS = -lgsl -lgslcblas

############################################################ QWT - use local copy till upstream catches up# http://qwt.sourceforge.net/index.html########################################################### include path.QWT_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwt/src# link locally against a copy in 3rdparty/QWT_LIBS = $$QTI_ROOT/3rdparty/qwt/lib/libqwt.a

############################################################ QwtPlot3D - use local copy till upstream catches up# http://qwtplot3d.sourceforge.net/########################################################### include path.QWT3D_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwtplot3d/include# link locally against a copy in 3rdparty/win32:QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/qwtplot3d.dllunix:QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.so

############################################################ libpng - optional. you don t have to set these variables########################################################### include path. leave it blank to use SYS_INCLUDE# LIBPNG_INCLUDEPATH = $$QTI_ROOT/3rdparty/libpng/# link statically against a copy in 3rdparty/# LIBPNG_LIBS = $$QTI_ROOT/3rdparty/libpng/libpng.a# or dynamically against a system-wide installationLIBPNG_LIBS = -lpng

############################################################ QTeXEngine - optional. you don t have to set these variables# http://soft.proindependent.com/qtexengine/########################################################### include path.TEX_ENGINE_INCLUDEPATH = $$QTI_ROOT/3rdparty/QTeXEngine/src# link locally against a copy in 3rdparty/TEX_ENGINE_LIBS = $$QTI_ROOT/3rdparty/QTeXEngine/libQTeXEngine.a

############################################################ ALGLIB (2.6) - optional. you don t have to set these variables# http://www.alglib.net/########################################################### include path.# ALGLIB_INCLUDEPATH = $$QTI_ROOT/3rdparty/alglib/# link locally against a copy in 3rdparty/# ALGLIB_LIBS = $$QTI_ROOT/3rdparty/alglib/libalglib.a############################################################ TAMUANOVA - optional. you don t have to set these variables# http://www.stat.tamu.edu/~aredd/tamuanova/########################################################### include path.TAMUANOVA_INCLUDEPATH = $$QTI_ROOT/3rdparty/tamu_anova/# link locally against a copy in 3rdparty/TAMUANOVA_LIBS = $$QTI_ROOT/3rdparty/tamu_anova/libtamuanova.a

############################################################ python - only used if python is needed########################################################### the python interpreter to use# (unix only, windows will use what ever is configured to execute .py files!)PYTHON = python

############################################################ Qt tools - allows to use specific versions##########################################################LUPDATE = lupdateLRELEASE = lrelease

##############################################################  Target specific configuration: configure Qtiplot itself############################################################contains( TARGET, qtiplot ) {  # building without muParser doesn t work yet  SCRIPTING_LANGS += muParser  SCRIPTING_LANGS += Python

  # a console displaying output of scripts; particularly useful on Windows  # where running QtiPlot from a terminal is inconvenient  DEFINES         += SCRIPTING_CONSOLE

  #DEFINES         += QTIPLOT_DEMO  # Uncomment the following line if you want to perform a custom installation using the *.path variables defined in ./qtiplot.pro.  #CONFIG          += CustomInstall  # Uncomment the following line if you want to build QtiPlot as a browser plugin (not working on Internet Explorer).  #CONFIG          += BrowserPlugin    CONFIG          += release  #CONFIG          += debug    # Uncomment the following line if you want to link statically against Qt.  #CONFIG           += StaticBuild  #win32: CONFIG   += console}

Non abbiamo ancora finito, dobbiamo fare un ultima cosa. Modifichiamo il file qtiplot.pro che si trova nella cartella principale del codice sorgente. Questo contiene il nome di quali cartelle contengono del codice che dovrà essere compilato. Togliamo dall elenco fitPlugins e manual (eventualmente potranno essere compilati successivamente), quindi il file apparirà più o meno così:

TEMPLATE = subdirs

SUBDIRS = 3rdparty/qwt         3rdparty/qwtplot3d         qtiplot

A questo punto dovremmo essere in grado, finalmente di compilare QtiPlot. Come spiegato nel file README.html i comandi da dare sono

qmakemake

Per rendere più veloce la compilazione, chi ha un processore multicore può passare a make l opzione -j n, dove n è il numero di core del processore (o meglio di job simultanei che può gestire, però per semplificare il discorso parliamo di core). Quindi chi, per esempio, ha un processore con quattro core potrà usare per compilare QtiPlot il comando

make -j 4

Se la compilazione va a buon fine (come al solito possiamo controllarlo con echo $?) possiamo direttamente avviare QtiPlot, per vedere se funziona, inserendo il percorso relativo dell eseguibile appena generato:

qtiplot/qtiplot

Infine si può, se lo si desidera, installare il programma con

sudo make install

oppure utilizzando checkinstall:

sudo checkinstall

che crea un semplice pacchetto .deb (il risultato, però, non è “professionale”).

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

gen
15

info: Impossibile trovare il nodo «Top». [Risolto]

 

Non so bene per quale motivo (ma ho l impressione che sia colpa di un aggiornamento di Ubuntu) non sono più in grado di usare info. Come spiegai in uno dei primi post di questo blog, per consultare da terminale i manuali (se presenti) dei comandi si può usare man:

man nomecomando

In aggiunta a man, molti programmi (soprattutto del progetto GNU) forniscono una guida (spesso più completa del manuale consultabile con man) che può essere letta con info:

info nomecomando

In questi giorni, dando il comando (per esempio)

info coreutils

(per leggere la guida delle principale utilità di sistema, chiamate appunto coreutils) ricevo dal terminale questa risposta:

info: Impossibile trovare il nodo «Top».

Il messaggio in lingua inglese è il seguente:

info: Cannot find node `Top .

Il problema è che per qualche motivo si è corrotto il file /usr/share/info/dir che contiene (o, nel mio caso, dovrebbe contenere) l elenco dei manuali che possono essere consultati con info. Il mio file /usr/share/info/dir conteneva solo questo:


Questo è il file …/info/dir, che contiene il
nodo più in alto della gerarchia di Info, chiamata (dir)Top.
La prima volta che invochi il programma Info esso parte da questo nodo.
^_
File: dir, Node: Top Questo è il nodo più alto dell albero INFO

Questo (il nodo principale) fornisce un menù che contiene le voci principali.
Digitando “q” esce, digitando “?” si produce un elenco di tutti i comandi Info,
“d” ritorna alla presente schermata, “h” fornisce informazioni ai nuovi utenti,
“mEmacs” visualizza il manuale di Emacs, ecc.
All interno di Emacs, puoi cliccare con il pulsante sinistro del mouse su una voce di menù
o su un riferimento incrociato per selezionarlo.

* Menu:

Come vedete, manca l elenco dei manuali disponibili, che invece dovrebbe essere presente dopo la riga * Menu:.

Per risolvere il problema si può cancellare il file incriminato e rigenerarlo con il comando da terminale install-info (in Debian, Ubuntu e derivate bisogna richiamare il comando con ginstall-info). install-info accetta come primo argomento il file (in genere questi file hanno estensione .info e potrebbero essere compressi con gzip) che contiene il manuale che si vuole aggiungere all elenco (questi file in genere si trovano nella cartella /usr/share/info/ e sue sottocartelle), come secondo argomento il file di elenco (cioè /usr/share/info/dir). Queste due operazioni possono essere automatizzate con i due seguenti comandi (richiedono i diritti di amministratore perché si modificherà un file di sistema):

sudo mv /usr/share/info/dir ~/dir
for file in /usr/share/info/*.{gz,info} /usr/share/info/*/*.{gz,info}; do sudo install-info “$file” /usr/share/info/dir ; done

Se usate sistemi, come Debian o Ubuntu, che richiedono ginstall-info al posto di install-info, il secondo dei comandi precedenti va cambiato in

for file in /usr/share/info/*.{gz,info} /usr/share/info/*/*.{gz,info}; do sudo ginstall-info “$file” /usr/share/info/dir ; done

Breve spiegazione dei comandi consigliati: il primo comando (mv) serve per spostare il file nella propria home, conservando una copia di sicurezza (anche se il file è corrotto non fa male creare una copia, dopo aver risolto il problema la copia può essere tranquillamente cancellata); il secondo esegue un ciclo for su tutti i file con estensioni .gz o .info presenti nella cartella /usr/share/info e sue sottocartelle. Se in questo modo non dovessero essere inclusi alcuni file di manuali, potete farlo manualmente tramite install-info (o ginstall-info) con la sintassi esposta precedentemente.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ott
23

Importare in Gmail la posta inviata di un altro account

 

Questa volta parlerò di un problema non legato al sistema operativo GNU/Linux, però è un problema che mi ha tenuto impegnato per un po e voglio spiegare il barbatrucco con cui l ho risolto: importare in Gmail la posta inviata di un altro account.

In Gmail è possibile importare le email ricevute da un qualsiasi altro account di posta elettronico nel proprio account su Gmail. Se si vuole è possibile anche continuare a scaricare automaticamente la posta da altri account (al massimo 5) con la funzione chiamata Mail Fetcher. Purtroppo né l importazione manuale della posta né Mail Fetcher importano anche le email inviate dagli altri account, come spiegato nella sezione di Risoluzione dei problemi della guida. È vero che non è possibile farlo automaticamente, ma con un qualche giro sono riuscito nel mio intento. Per fare ciò ho dovuto dare un occhiata all organizzazione della posta su Gmail. Il barbatrucco funziona se l account da cui si vogliono importare le email verrà aggiunto ai mittenti personalizzati.

Le mail (che normalmente sono raccolte per conversazioni, se non vi piace questa visualizzazione potete disattivarla da Impostazioni e nella scheda Generali selezionate Visualizzazione per conversazione disattivata) non sono suddivise in cartelle ma hanno delle “etichette” che vengono loro attribuite. L uso è praticamente lo stesso, la differenza è che a una mail possono essere attribuite più etichette, è come se si trovasse in più cartelle contemporaneamente. Tutte le mail si trovano nello spazio chiamato Tutti i messaggi (il collegamento sta bella barra sulla sinistra, se non la vede premete Altre), non vengono però visualizzate le email eliminate (le quali hanno l etichetta Cestino) e quelle segnate come spam (che hanno l etichetta Spam). (quasi) Tutti i “gruppi” che vediamo sulla sinistra non fanno altro che raccogliere le email secondo le etichette che le sono state attribuite. Così, le email posizionate in Posta in arrivo sono semplicemente delle mail che hanno l etichetta Posta in arrivo (per quanto possa sembrare strano, una email inviata può trovarsi in Posta in arrivo: basta che abbia la corrispondente etichetta), le eventuali email presenti in Personale, Lavoro, ecc. hanno le rispettive etichette e, come detto, una mail può anche avere più etichette contemporaneamente (e quindi comparirà in tutti i rispettivi “gruppi”). Invece le mail presenti in Posta inviata hanno come caratteristica di avere come mittente l account in uso o uno dei mittenti personalizzati.

Vi starete chiedendo: cosa c entra tutto questo discorso con l importazione delle email inviate? Calma, arriviamo subito alla soluzione del problema facendo un breve riepilogo di quello che abbiamo appreso. Sappiamo che Gmail può importare dagli altri account la posta arrivata, ma non quella inviata, allora potremmo pensare di spostare nel precedente account le email inviate nella cartella di Posta in arrivo (in genere questa è una operazione possibile, naturalmente non posso spiegare i dettagli perché variano da provider a provider), ma questa operazione crea l inconveniente che importando la posta nell account Gmail le email inviate avranno l etichetta Posta in arrivo e quindi si troveranno in quel gruppo (a meno che nella fase di importazione non si sia selezionata l opzione Archivia messaggi in arrivo (Ignora Posta in arrivo)). Sappiamo però anche che per togliere una mail dalla Posta in arrivo basta rimuovere la corrispondente etichetta, niente di più semplice! Ho già specificato che il barbatrucco funziona se l indirizzo da cui stiamo importando la posta è uno dei mittenti personalizzati, quindi le email si troveranno già automaticamente in Posta inviata, altrimenti non compariranno in questa “cartella” ma solo in Tutti i messaggi.

Per non dover rimuovere manualmente le etichette a ciascun messaggio inviato consiglio di suddividere l operazione di importazione in due punti:
1) importare normalmente nell account Gmail tutta la posta arrivata al precedente account;
2) dopo aver concluso questa operazione, spostare (nel vecchio account) le email inviate nella cartella ed eseguire nuovamente lo scaricamento in Gmail (tranquilli, le email già importate non saranno scaricate nuovamente) selezionando l opzione Archivia messaggi in arrivo (Ignora Posta in arrivo). In questo modo, come spiegato già abbastanza bene dal nome dell opzione, le nuove email che saranno scaricate (nella speranza che ci siano solo le email inviate e non compaia qualche nuova mail :-D ) verranno archiviate, cioè non sarà aggiunta l etichetta Posta in arrivo.

Nel vecchio account da cui avete importato le email potete ora fare quello che vi pare: riportare le email inviate nella cartella di posta inviata, cancellarle, ecc. Ovviamente è possibile selezionare l opzione Archivia messaggi in arrivo (Ignora Posta in arrivo) già nell importazione di tutte le mail ricevute, in questo caso non si rende neanche necessaria una doppia importazione, si possono importare tutte insieme email ricevute e inviate (naturalmente dopo aver spostato queste ultime nella cartella di posta ricevuta).

Questo è il barbatrucco che ho escogitato io, non escludo che esista qualche metodo più semplice, in questo caso sarei felice di conoscerlo! :-)

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ott
09

Ipe: An error occurred during the Pdflatex run. There was an error reading the Pdflatex output [Risolto]

 

Se avete installato la distribuzione TeX Live 2010 e usate il programma di grafica Ipe per creare disegni, andando a compilare un immagine potreste ricevere la seguente finestra di errore:

An error occurred during the Pdflatex run

There was an error reading the Pdflatex output

Trovate la soluzione a questo problema qui: http://http.typke.com/cgi-bin/bugzilla3/show_bug.cgi?id=350 e consiste nell aggiungere al preambolo dell immagine il comando pdfobjcompresslevel0. Ricordo che il preambolo di un immagine Ipe può essere modificato da Edit ? Document properties (oppure con la scorciatoia da tastiera CTRL + Shift + P), scrivendo nel campo Latex preamble.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ott
09

Ipe: An error occurred during the Pdflatex run. There was an error reading the Pdflatex output [Risolt]

 

Se avete installato la distribuzione TeX Live 2010 e usate il programma di grafica Ipe per creare disegni, andando a compilare un immagine potreste rivedere la seguente finestra di errore:

An error occurred during the Pdflatex run

There was an error reading the Pdflatex output

Trovate la soluzione a questo problema qui: http://http.typke.com/cgi-bin/bugzilla3/show_bug.cgi?id=350 e consiste nell aggiungere al preambolo dell immagine il comando pdfobjcompresslevel0. Ricordo che il preambolo di un immagine Ipe può essere modificato da Edit ? Document properties (oppure con la scorciatoia da tastiera CTRL + Shift + P), scrivendo nel campo Latex preamble.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

lug
27

Touchpad non funzionante in Ubuntu Lucid Lynx [Risolto]

 

Nella versione 10.04 di Ubuntu (nome in codice Lucid Lynx) può capitare che dopo l avvio della sessione il mouse smetta di funzionare. Il problema è stato segnalato su Launchpad, intanto esistono un paio di risoluzioni.

La prima è un semplice workaround per aggirare momentaneamente il problema quando si presenta: entrare in una console con i tasti ALT + CTRL + F1 e poi, senza fare altro, tornare nella shell grafica con la combinazione ALT + CTRL + F7.

Un altra soluzione che dovrebbe invece essere definitiva (ma che personalmente non ho testato, però più di qualcuno conferma essere funzionante) è dare questo comando nel terminale:

gconftool –type bool –set /desktop/gnome/peripherals/touchpad/touchpad_enabled true

Ho trovato questa seconda soluzione qui: https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/549727/comments/103

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
18

Aprire file system di Wubi da Live CD

 

Se avete fatto la sciagurata scelta di installare Ubuntu tramite Wubi e avete incontrato dei problemi che impediscono l avvio del sistema, potete ancora accedere alla “partizione” di Wubi (anche se il nome “partizione” non è del tutto corretto) usando un Live CD (va bene di qualsiasi distribuzione). Dopo aver avviato il sistema da cd bisogna aprire un terminale, montare la partizione di Windows in cui è installato Wubi (la posizione, in Windows, del file system di Ubuntu dovrebbe essere il file C:ubuntudisk
oot.disk
, o simile). La partizione di Windows può essere anche normalmente montata per via grafica, se possibile (per esempio con GNOME è sufficiente fare clic, in Nautilus, sul nome della partizione desiderata). A questo punto, dare nel terminale i seguenti comandi:

sudo mkdir /vdisk
sudo mount -o loop /media/WINDOWS/ubuntu/disks/root.disk /vdisk

Il primo serve per creare nel sistema live la cartella /vdisk (è comunque possibile dare un percorso e nome arbitrario alla cartella), il secondo per montare il file system di Wubi e usare come punto di montaggio la cartella appena creata. Il penultimo argomento del comando mount è il percorso del file system di Wubi, da adattare al proprio caso: in genere le partizioni si montano nella cartella /media (e così fa in modo predefinito Nautilus, ma è possibile montare in un punto diverso, come infatti faremo) e poi ho scritto WINDOWS che sta a indicare il nome dell etichetta della partizione (molto probabilmente non sarà questa l etichetta della partizione, controllate per bene qual è il nome). Per vedere l elenco delle partizioni montate e relativo punto di montaggio si può dare semplicemente il comando

mount

senza altri argomenti. Il resto del percorso (ubuntu/disk/root.disk) dovrebbe essere corretto (come detto prima, questo è il percorso in cui si dovrebbe trovare il file in Windows). L autocompletamento nel terminale potrebbe aiutarvi a inserire il percorso corretto.

A questo punto è possibile aprire normalmente il file system di Wubi come una normale partizione montata. Attenti a non fare ulteriori danni all installazione di Ubuntu, la state già facendo soffrire abbastanza usando Wubi ^^

Avvertenza: se nell installazione di Wubi si è scelto il file system ext4, per potervi accedere ci sarà bisogno di un Live CD che riconosca questo recente file system. Per esempio, usando Ubuntu ci sarà bisogno del cd della versione 9.04 o successiva.

Questa guida è stata ripresa da https://wiki.ubuntu.com/WubiGuide.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

top