Ricerca tra la vecchia roba

OAFIID:GNOME_ClockApplet

Posted: marzo 23rd, 2010 | Author: | Filed under: Gentoo, linux | Commenti disabilitati su OAFIID:GNOME_ClockApplet

Ogni tanto mi compaiono errori molto strani sul mio portatile e questa volta è toccato all’orologio nella barra del pannello gnome; quando mi loggavo nel mio account campariva un laconico messaggio

"OAFIID:GNOME_ClockApplet". Do you want to delete the applet from your
configuration?

Siccome l’orologio (in termini tecnici una applet) non è una vera e propria applicazione, ma una specie di plugin che la barra di gnome può caricare all’occorrenza, risulta difficile capire come trovare l’errore (fosse un’applicazione la lanci da terminale e speri in qualche warning sgamo). Grazie a Dyo esiste google ed ho trovato questo: in pratica controllando con ldd si può ottenere l’elenco di librerie che un programma necessita per funzionare; nel mio caso particolare ottengo

packz@godel ~ $  ldd /usr/lib/gnome-panel/libclock-applet.so | grep ‘not found’
    libssl3.so.12 => not found
    libsmime3.so.12 => not found
    libnssutil3.so.12 => not found
    libnss3.so.12 => not found
    libssl3.so.12 => not found
    libsmime3.so.12 => not found
    libnssutil3.so.12 => not found
    libnss3.so.12 => not found

Ohibo, quante librerie mancano? ovviamente devo dirvi che tutto questo avviene su gentoo;-) il programma per il controllo delle dipendenze inverse di hokuto delle librerie della scuola di Nanto esiste revdep-rebuild che però purtroppo in cotale caso non funziona automaticamente ma necessita di un mio aiuto; con l’aiuto della shell vincerò

LIBRARY=$(ldd /usr/lib/gnome-panel/libclock-applet.so | grep ‘not found’ | awk ‘{print "–library "$1}’ ); revdep-rebuild -i -p  $LIBRARY

 L’opzione -p serve a simulare l’azione da intraprendere (revdep-rebuild altrimenti partirebbe ad installare tutto in automatico). Una volta che il programma ha terminato ed emesso la sentenza, è possibile rilanciarlo senza argomenti per fargli eseguire realmente l’aggiornamento.

Prendete una birra e aspettate che finisca, lanciate killall gnome-panel e dopo un po’ di sfarfallio dovrebbe ricomparire la barra con l’orologio.


Come liberare spazio quando /var/log/messages cresce a dismisura

Posted: marzo 10th, 2010 | Author: | Filed under: crash, linux | 2 Comments »

Nei sistemi *nix tutte (o quasi) le operazioni di sistema vengono loggate in appositi files in /var/log/ e può succedere che per problemi a qualche applicazione, quest’ultima riempia qualche file di log del sistema con messaggi che essendo di testo e ripetuti insistentemente, possono portare ad esaurimento del disco. Nel mio caso ho visto che risultava un problema di Full Device ed ho cercato di pulire il disco eliminando eventuali vecchi pacchetti tramite

# eclean distfiles

nella mia gentoo; per chi avesse la fucking Debian può usare

# apt-get clean

Tuttavia il problema persisteva e quindi ho usato la magia della shell per scovare i file con dimensione superiore a 500MB

# find / -size +500M -print0 | xargs –null ls -Ssh | less

e a quel punto è parso evidente quale fosse il problema

# ls -sh /var/log/messages
1,3GB /var/log/messages

Praticamente il sistema pulseaudio (che non mi ha mai funzionato) ha riempito quel file di merda e quindi mi tocca pulirlo; la prima idea sarebbe stata quella di cancellarlo al volo, ma siccome è una soluzione priva di stile, ho pensato che deve esistere un comando adeguato a eseguire la cosiddetta "rotazione" dei file di log ed infatti esiste: logorotate(1).

Eseguendo questo magico comando

# logrotate -f /etc/logrotate.conf

si obbliga il nostro sistema di comprimere e salvare a fianco ai vecchi log quel macigno  che ostruiva il filesystem. I computer sono il male.


Scaricare sottotitoli da youtube

Posted: marzo 8th, 2010 | Author: | Filed under: google, Hack, Video | 12 Comments »

Non so se ve ne siete accorti, ma adesso youtube mette a disposizione anche alcuni video con sottotitoli annessi, sottotitoli che non sono "hardcodati" dentro il video, ma vengono aggiunti "sopra" il video dal player; per curiosità ho cercato se era possibile estrarli ed ho scoperto che sì, è possibile.

Un video su youtube è identificato da una certa sequenza di caratteri e numeri, passati alla variabile GET identificata con v (per capirci http://www.youtube.com/watch?v=jHoxZF3ZgTo ha jHoxZF3ZgTo come identificativo del video); una volta che si è a conoscenza dell’identificativo del video che ci interessa, chiamiamolo per semplicità $id, possiamo sapere quali sottotitoli sono disponibili per esso tramite la comoda URL

 http://video.google.com/timedtext?v=$id&type=list

Essa restituirà una pagina XML contenente la descrizione dei sottotitoli available, come per esempio

<transcript_list docid="-8324286654099914438">
  <track id="0" name="English" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"/>
  <track id="2" name="French" lang_code="fr" lang_original="Français" lang_translated="French"/>
  <track id="3" name="Polish" lang_code="pl" lang_original="Polski" lang_translated="Polish"/>
  <track id="1" name="Spanish" lang_code="es" lang_original="Español" lang_translated="Spanish"/>
</transcript_list>

a questo punto si sceglie il name che più ci aggrada e lo si può scaricare in formato XML con questa URL

 http://video.google.com/timedtext?lang=$lang_code&v=jHoxZF3ZgTo&name=$name

dove bisogna sostituire opportunamente le $variabili  con i valori ottenuti dalla URL precedente. Attenzione che il formato non è direttamente usabile da un lettore, bisognerebbe trasformarlo in .srt (formato standard dei sottotitoli) e penso bastino poche righe di sed che se qualcunon avesse voglia di scrivere nei commenti, lo lascio come esercizio al lettore che ormai è tardi (per citare Vasco Rossi) altrimenti vi è un programma chiamato google2RST che può scaricare per voi e convertire i sottotitoli ma è un programma Java e secondo me è da folli quando basterebbe la shell. Good Hacking…