venerdì 17 aprile 2009

[Risolto] Problema con cupsd: «Child exited with status 1!»

A ogni avvio del sistema mi compariva il messaggio
cupsd: Child exited with status 1!
(per maggiori informazioni su CUPS potete vedere qui). Ho controllato i log relativi a CUPS con il comando nel terminale
cat /var/log/cups/error_log
(se non amate leggere file sul terminale potete anche aprire il file /var/log/cups/error_log con un editor di testo qualsiasi). Ho potuto ammirare una lunga sfilza di messaggi di errore di questo tipo:
E [17/Apr/2009:14:14:18 +0200] "/etc/cups/ssl/server.crt" is a bad symlink - No such file or directory
Perciò ho controllato cosa avesse il file /etc/cups/ssl/server.crt che non andava. Il comando
sudo file /etc/cups/ssl/server.crt
mi ha restituito questo output:
/etc/cups/ssl/server.crt: broken symbolic link to `/etc/ssl/certs/ssl-cert-snakeoil.pem'
Nella stessa cartella del file server.crt era presente anche un altro file chiamato server.key:
sudo file /etc/cups/ssl/server.key
Risultato:
/etc/cups/ssl/server.key: broken symbolic link to `/etc/ssl/private/ssl-cert-snakeoil.key'
Ho quindi cancellato i due file che erano solo dei link simbolici non funzionanti. Prima, però, ho per sicurezza creato una copia di quei file, non si sa mai:
sudo cp -pr /etc/cups/ssl/ $HOME
e poi ho rimossi i file nella cartella /etc/cups/ssl/ (non la loro copia di backup salvata nella home) con il comando:
sudo rm /etc/cups/ssl/server.crt /etc/cups/ssl/server.key
A questo punto ho riavviato cups con il comando
sudo /etc/init.d/cups restart
e il messaggio
* Restarting Common Unix Printing System: cupsd [ OK ]
mi ha fatto capire che tutto era andato bene e ho potuto cancellare la copia di sicurezza della cartella /etc/cups/ssl/ con il comando
sudo rm -rf $HOME/ssl/

Esiste anche una soluzione (alternativa a quella precedente, non c'è bisogno di seguirle tutte e due) meno violenta per i file server.crt e server.key: semplicemente creare i file mancanti. Si può fare almeno in due modi differenti (sempre attraverso comandi nel terminale):
cd /etc/ssl/certs/
sudo make-ssl-cert generate-default-snakeoil

oppure reinstallando il pacchetto ssl-cert:
sudo apt-get install --reinstall ssl-cert
Anche dopo queste operazioni va dato il comando per riavviare cups per controllare che il problema sia stato effettivamente risolto.

(Fonte: http://crunchbanglinux.org/forums/topic/53/printing-broken/)

domenica 12 aprile 2009

Mancato avvio di APT Key Manager

Se avete installato su Ubuntu Intrepid (ma forse il problema è presente in Jaunty) il pacchetto gui-apt-key per poter autenticare comodamente attraverso un'interfaccia grafica i repository di terze parti (maggiori informazioni qui) avrete notato che avviando il programma da ApplicazioniStrumenti di sistemaAPT Key Manager viene mostrato il seguente messaggio di errore:
Impossibile lanciare la voce di menù
Esecuzione del processo figlio "/usr/bin/su-to-root" fallita (Nessun file o directory)

Il problema è dovuto al comando di esecuzione inserito nel file /usr/share/applications/gui-apt-key.desktop (che è il collegamento presente nel menu). Il comando in questione è, ovviamente, su-to-root. Si tratta di uno script bash che si può ottenere installando il pacchetto menu (fonte). L'installazione può essere fatta tramite Synaptic oppure nel terminale con il comando
sudo apt-get install menu

Se volete evitare di installare il pacchetto menu (che comunque pesa solo circa 400 kB) potete risolvere il problema o modificando direttamente il file del collegamento, in particolare la chiave Exec così come spiegato più avanti, oppure per via grafica. Per seguire quest'ultima strada dovete fare clic con il tasto destro sul menu principale (dove c'è scritto Applicazioni | Risorse | Sistema) e poi selezionare Modifica menu. Si può avviare lo stesso programma da terminale con il comando
alacarte
Quindi sulla sinistra selezionate Strumenti di sistema, e sulla destra selezionate APT Key Manager, quindi fate clic sul pulsante Proprietà sulla destra. Nella finestra che vi si aprirà dovete modificare il comando
/usr/bin/su-to-root -X -c /usr/sbin/gak
in
gksu -u root /usr/sbin/gak
cioè così com'era nella versione 0.3 presente in Ubuntu 8.04.

Questo piccolo bug è stato segnalato su Launchpad (https://bugs.launchpad.net/ubuntu/+source/gui-apt-key/+bug/282185)

sabato 4 aprile 2009

Correzione errori nel file system

Oggi accendendo il computer mi è comparsa questa (molto poco) rassicurante scritta:
*An automatic file system check (fsck) of the root filesystem failed.
A manual fsck must be performed, then the system restarted.
The fsck should be performed in maintenance mode with the
root filesystem mounted in read-only mode.
*The root filesystem is currently mounted in read-only mode.
A maintenance shell will now be started.
After performing system mainteance, press CONTROL-D
to terminate the maintenance shell and restart the system.
Give root password for maintenance
(or type Control-D to continue):

Il problema è che non sapevo che password inserire per continuare: la password del mio utente, infatti, non è la password di root (e comunque provando a inserire quella password mi segnalava login non valido). Anche avviando il computer in recovery mode la situazione era la stessa. Ho quindi avviato il computer con il Live CD (conservatelo sempre, può tornare molto utile in questi casi) per eseguire il controllo del file system manualmente. Ho dovuto però prima individuare quale fosse il file system su cui è installato Ubuntu. per fare ciò ho dato nel terminale il comando
sudo fdisk -l
che mi ha restituito questo output:
Disco /dev/sda: 40.0 GB, 40027029504 byte
255 testine, 63 settori/tracce, 4866 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x16281627

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 2433 19543041 7 HPFS/NTFS
/dev/sda2 2434 4866 19543072+ 5 Esteso
/dev/sda5 2434 4759 18683563+ 83 Linux
/dev/sda6 4760 4866 859446 82 Linux swap / Solaris

Disco /dev/sdb: 20.4 GB, 20416757760 byte
255 testine, 63 settori/tracce, 2482 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x29ab86bc

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 2482 19936633+ c W95 FAT32 (LBA)

Ubuntu è installato nel dispositivo il cui sistema si chiama Linux. Nel mio caso il dispositivo è /dev/sda5. Quindi ho eseguito il controllo del file system con il comando
sudo fsck /dev/sda5
Dopo alcune correzioni di errori presenti il controllo è terminato e riavviando il pc sono tornato nuovamente in possesso del computer.

martedì 31 marzo 2009

Repository per Pidgin

Torno a parlare del mio client di messaggistica istantanea preferito: Pidgin. Esiste un repository per aggiornare automaticamente questo programma. L'ho usato per qualche tempo, però l'ultima versione presente fino a pochi giorni fa era la 2.5.1, mentre attualmente l'ultima versione stabile è la 2.5.5. Nel frattempo ho aggiornato Pidgin con i pacchetti deb presenti qui. Da più o meno un giorno, invece, è stata aggiunta al repository proprio la 2.5.5 e ho quindi deciso di aggiungerlo al mio elenco, nella speranza che continueranno ad aggiornarlo in seguito, altrimenti tornerò a usare i pacchetti di Getdeb.net (per altro rapidissimi nel distribuirli).

Vi illustro ora come aggiungere il repository di Pidgin.

Per chi usa una versione di Ubuntu dalla 9.10 (Karmic Koala) in poi è sufficiente dare semplicemente il seguente comando nel terminale
sudo add-apt-repository ppa:pidgin-developers/ppa
senza ulteriori complicazioni, e il repository verrà anche autenticato automaticamente

Per le versioni precedenti, aprite SistemaAmministrazioneSorgenti software. Nella scheda Software di terze parti fate clic su Aggiungi e scrivete la seguente stringa
deb http://ppa.launchpad.net/pidgin-developers/ubuntu intrepid main
sostituendo a intrepid il nome della vostra versione di Ubuntu. Se non sapete il nome in codice della vostra release date questo comando nel terminale:
lsb_release -c
A me è apparso questo output:
Codename: intrepid
Quindi, nel mio caso intrepid è il nome da mettere nella stringa mostrata di sopra. Le versioni di Ubuntu che si possono mettere nella stringa sono dapper, gutsy, hardy, intrepid e jaunty.
Potete anche aggiungere il repository da terminale seguendo questa guida.

Dopo aver aggiunto il repository dovete aggiungere la chiave di autenticazione per il repository (come spiegato qui): nel terminale digitate questi comandi:
gpg --keyserver keyserver.ubuntu.com --recv-keys 7FB8BEE0A1F196A8
gpg --export --armor 7FB8BEE0A1F196A8 | sudo apt-key add -
Per autenticare il repository potete anche copiare il contenuto di questa pagina in un editor di testo (a partire da -----BEGIN PGP PUBLIC KEY BLOCK-----), salvatelo in un file, aprite SistemaAmministrazioneSorgenti software e nella scheda Autenticazione fate clic su Importa file chiave..., quindi selezionate il file che avete appena salvato. Se la chiave verrà aggiunta correttamente potete anche eliminare il file.

Dopo aver in qualche modo aggiunto il repository vi basta un semplice aggiornamento del sistema per ottenere l'ultima versione di Pidgin. Quindi aprite SistemaAmministrazioneGestione aggiornamenti. Nella finestra che si aprirà fate clic su Verifica. A questo punto, se non aveste aggiunto la chiave di autenticazione avreste letto questo messaggio di errore:
W: Errore GPG: http://ppa.launchpad.net intrepid Release: Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 7FB8BEE0A1F196A8
Negli aggiornamenti proposti dovrebbe comparirvi Pidgin, quindi potete fare finalmente clic su Installa aggiornamenti. L'aggiornamento della versione di Pidgin può anche essere fatta da terminale con i due seguenti comandi:
sudo apt-get update
sudo apt-get upgrade
Il primo aggiorna l'indice dei pacchetti installabili, il secondo aggiorna i pacchetti installati di cui è presente una versione più recente.


Aggiornamento dell'1 aprile 2009: hanno aggiunto delle istruzioni per aggiungere il repository anche sul sito stesso di Pidgin quindi nutro qualche speranza in più che aggiorneranno la versione presente nel repository.

Nota: il post è stato aggiornato successivamente alla sua pubblicazione per aggiungere le istruzioni relative alle ultime versioni di Ubuntu.

lunedì 23 marzo 2009

Impostare scorciatoie da tastiera con xbindkeys

Utilizzando GNOME come ambiente desktop è possibile impostare delle combinazioni da tastiera senza installare alcun programma semplicemente da SistemaPreferenzeScorciatoie da tastiera. Oggi però ho voluto provare un metodo "alternativo" per impostare le scorciatoie. xbindkeys può tornare utile se si utilizzano desktop environment diversi da GNOME e che non offrono la possibilità di modificare le scorciatoie (per esempio, in questi giorni sto provando LXDE non ho trovato altri modi di impostare scorciatoie personalizzate Come segnalato da un lettore anonimo, in LXDE è possibile impostare le scorciatoie modificando il file ~/.config/openbox/lxde-rc.xml. Maggiori informazioni a questo proposito possono essere trovate qui). Vi illustro le operazioni da fare.

Per prima cosa dovete installare il programma necessario che si chiama xbindkeys. Potete installarlo con Synaptic oppure da terminale con il comando
sudo apt-get install xbindkeys
Se dopo aver installato il pacchetto provate a dare il comando
xbindkeys
leggerete questo messaggio di errore:
Error : /home/nomeutente/.xbindkeysrc not found or reading not allowed.
please, create one with 'xbindkeys --defaults > /home/nomeutente/.xbindkeysrc'.
or, if you want scheme configuration style,
with 'xbindkeys --defaults-guile > /home/nomeutente/.xbindkeysrc.scm'.

(ovviamente al posto di nomeutente comparirà il nome del vostro utente) quindi, come suggerito, digitate il comando
xbindkeys --defaults > ~/.xbindkeysrc
(vi ricordo che la tilde ~ è un'abbreviazione del percorso della vostra cartella home). È stato dunque creato il file .xbindkeysrc nella vostra cartella home. Il suo nome inizia con il punto e questo significa che è un file nascosto. Per vederlo, entrate nella vostra home (RisorseCartella home) e, se non visualizzate i file nascosti, premete i tasti [ CTRL ] + [ H ] per far "apparire" il nostro file. Potete quindi aprire .xbindkeysrc per guardarlo.

In ogni riga, tutto ciò che si trova alla destra del cancelletto # è un cosiddetto commento. Ciò che vi interessa sono le righe del tipo
"xterm"
c:41 + m:0x4

in cui la prima indica il comando da eseguire (xterm è un emulatore del terminale) e la seconda corrisponde alla combinazione di tasti da premere per eseguire il comando (in questo caso dovrebbe essere [ CTRL ] + [ F ]).

Ora però noi vogliamo aggiungere una nuova scorciatoia da tastiera per velocizzare le operazioni più comuni. Per esempio, vogliamo creare la scorciatoia [ ALT ] + [ T ] per aprire il terminale di GNOME che si invoca con il comando gnome-terminal (e che è diverso esteticamente dal terminale che si apre con il comando xterm). Nel terminale inserite il comando
xbindkeys -k
oppure
xbindkeys --key
e vi uscirà scritto
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.

e quindi premete la combinazione di tasti che vi interessa (nell'esempio sarà [ ALT ] + [ T ]). Dopo che avrete premuto i tasti comparirà la scritta
"(Scheme function)"
m:0x18 + c:28
Alt+Mod2 + t

Ora per completare l'operazione non vi resta che ricopiare nel file .xbindkeysrc, prima della stringa End of xbindkeys configuration, queste tre righe, sostituendo (nel nostro esempio) a "(Scheme function)" la scritta "gnome-terminal". Un consiglio utile è di scrivere un piccolo commento prima del comando, in modo da ricordarsi in seguito qual è la combinazione aggiunta. Quindi, in concreto, dovrete aggiungere le seguenti righe:
# Apre "gnome-terminal" con la combinazione ALT + T
"gnome-terminal"
m:0x18 + c:28
Alt+Mod2 + t

Potete anche aggiungere solo una delle ultime due righe (m:0x18 + c:28 oppure Alt+Mod2 + t).

Se avete intenzione di aggiungere numerose combinazioni di tasti, non c'è bisogno di usare il comando xbindkeys -k ogni volta, potete usare
xbindkeys -mk
oppure
xbindkeys --multikey
e poi premere il tasto [ Q ] quando avete finito.

Le combinazioni di tasti possono anche comprendere i tasti del mouse. Normalmente xbindkeys non fa distinzione se siano attivi NumLock, CapsLock e ScrollLock. Se invece volete impostare questo controllo dovete decommentare (cioè rimuovere il #) prima delle seguenti righe (nel mio file .xbindkeysrc compaiono ai righi 36-38)
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

Ovviamente potete anche decommentare solo quello che vi interessa, non necessariamente tutti e tre.

Una volta che è pronto il vostro file di configurazione per xbindkeys vi resta un'ultima semplice operazione da fare: seguendo queste istruzioni aggiungete ai programmi in esecuzione automatica all'avvio della sessione il comando xbindkeys.

sabato 7 marzo 2009

Compilare il pacchetto purple-plugin_pack


Oggi avevo deciso di compilare il pacchetto purple-plugin_pack che aggiunge circa 50 nuovi plugin al client di messaggistica istantanea Pidgin. Nei repository di Ubuntu si trova già il pacchetto pidgin-plugin-pack, però è alla versione 2.2.0 mentre sul sito ufficiale è presente il sorgente della versione 2.5.1. Se non avete già compilato altri plugin per Pidgin né Pidgin stesso dovete prima installare i pacchetti necessari dando nel terminale il seguente comando:
sudo apt-get install build-essential pidgin-dev
Se non amate il terminale (che comunque sarà necessario in seguito per compilare il pacchetto) potete installare i due pacchetti facendo clic sui nomi, oppure con Synaptic. In realtà, se avete compilato da soli Pidgin non dovreste incontrare i problemi che ho trovato io e questa guida molto probabilmente non vi interesserà.

Dopo di ciò scaricate il sorgente di purple-plugin_pack e scompattatelo (clic con il tasto destro sull'icona dell'archivio → Estrai qui). Ora aprite il terminale, se non l'avete già fatto, e spostatevi con il comando cd nella cartella dove avete scompattate il sorgente. Date il comando
./configure
Se tutto è andato bene, alla fine dell'esecuzione comparirà la scritta
Type make to compile
quindi potete procedere. Se non aveste installato pidgin-dev avreste letto questo messaggio di errore:
No package 'purple' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables PURPLE_CFLAGS
and PURPLE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
A questo punto date il comando:
make
Qui, però, ho incontrato un problema: mi è comparso il seguente errore (seguito da altri messaggi, ma l'errore è questo):
/usr/bin/ld: cannot find -lpurple
collect2: ld returned 1 exit status

Il problema stava nel file /usr/lib/libpurple.so, infatti il comando
file /usr/lib/libpurple.so
restituiva come output
/usr/lib/libpurple.so: broken symbolic link to `libpurple.so.0.5.2'
ciò vuol dire che il file in questione è un collegamento simbolico ma il file a cui dovrebbe puntare non esiste. Ho quindi cercato file che si chiamassero libpurple.so.0 con il comando
locate libpurple.so.0.
Se non non riceve risultati potreste dover aggiornare il database con il comando
sudo updatedb
Il mio output del comando locate libpurple.so.0. è stato
/usr/lib/libpurple.so.0.5.5
Quindi il file trovato è stato /usr/lib/libpurple.so.0.5.5. Ho perciò creato il collegamento simbolico mancante con il comando
sudo ln -s /usr/lib/libpurple.so.0.5.5 /usr/lib/libpurple.so
Dopo di ciò ho potuto riprendere la compilazione del pacchetto con il comando
make
e poi
sudo make install
Se avete concluso con successo la compilazione, aprendo Pidgin troverete tutti i nuovi plugin pronti all'uso.

Dopo aver compilato il pacchetto potete anche creare un file .deb per poter più facilmente installare successivamente i plugin. Io ho utilizzato con successo checkinstall (dopo aver installando il pacchetto checkinstall (chi l'avrebbe mai detto, no?)). Il comando da dare per creare il pacchetto è:
checkinstall --install=no

Analoghi problemi (con analoghe soluzioni) potrebbero essere incontrati compilando il plugin Guifications.

venerdì 6 marzo 2009

Creare nuovi modelli di file per Nautilus

In Nautilus (il file manager predefinito di GNOME) avrete notato che c'è la possibilità di creare un nuovo documento vuoto (clic con il tasto destro in una cartella → Crea documentoFile vuoto). Avrete anche notato che sopra l'opzione File vuoto c'è scritto Nessun modello installato (se non leggete questa scritta probabilmente questa guida non vi servirà).
Magari a questo punto vi sarà anche venuta la curiosità di come si facciano a creare dei modelli (chiamati in inglese Templates) personalizzati. È semplicissimo. Aprite Nautilus (per esempio da RisorseCartella home) e poi aprite VaiModelli. Questo vi porterà nella cartella ~/Modelli (ricordo che la tilde ~ indica il percorso della vostra cartella home, per esempio /home/nomeutente) oppure la creerà se non esiste. Volendo, potete anche creare la cartella manualmente. A questo punto non dovete far altro che salvare in questa cartella i modelli che preferite. Dopo che avrete salvato i modelli (ovviamente dategli dei nomi chiari) il risultato sarà simile a questo:
Se dopo aver creato la cartella e salvato dentro i vostri modelli questi non dovessero comparire nel menu mostrato nell'immagine, provate a chiudere tutte le finestre di Nautilus e poi riaprire. Se dopo di ciò non dovesse ancora funzionare, aprite il file ~/.config/user-dirs.dirs e controllate che ci sia la riga
XDG_TEMPLATES_DIR="$HOME/Modelli"
Se per qualche motivo non ci dovesse essere, oppure è diversa, modificatela come scritto sopra. Potete anche modificare il percorso inserendone uno a vostro piacimento ($HOME è un altro modo per indicare la cartella home dell'utente corrente).

Qui potete trovare una raccolta di modelli, ovviamente da salvare nella cartella ~/Modelli (o in quella che avete impostato). Se i nomi dei file in inglesi non vi piacciono rinominate semplicemente i modelli salvati nella cartella.