lunedì 3 maggio 2010
/bin/rm: Argument list too long
se bisogna eliminare una lunga lista di files da linea di comando in linux e appare l'errore:
/bin/rm: Argument list too long, si può utilizzare find e la pipe a xargs e se ci sono spazi si può utilizzare l'argomento -print0 in find e -0 in xargs.
find . -iname "*.doc" -print0 | xargs -0 rm
Funziona, ho appena cancellato 30 Gb di files temporanei...
mercoledì 14 aprile 2010
Aggiornamento a lucid e plugin flash
Ho risolto facendo così:
aptitude download flashplugin-nonfree flashplugin-installer (che mi ha scaricato i pacchetti deb)
dpkg --force-overwrite --install (i due pacchetti scaricati)
ho potuto così continuare gli aggiornamenti.
che stress...
mercoledì 21 ottobre 2009
Incorporare sottotitoli a video avi
Per poter seguire le mie serie preferite (Big Bang Theory, Legend of Seeker, ed altro) ho dovuto collegare un portatile alla tv, e la cosa è molto scomoda da fare in continuazione. Visto che ho un lettore DVD-Divx posso sempre farmi dei dvd (abitudine tra l'altro abbandonata) per vedere i filmati senza sbattimenti. Un problema però c'è: ho bisogno dei sottotitoli in quanto le mie serie tv preferite o non sono ancora trasmesse in Italia (Legend of the Seeker, consigliatissimo) oppure hanno un doppiaggio da far rizzare i capelli (Big Bag Theory), ed il mio lettore dvd non li supporta.
La soluzione è quella, in attesa di ripristinare la freevobox, di incorporare i sottotitoli nei file avi così da evitare continui collegamenti e scollegamenti del portatile alla tv.
Ho provato vari software, ma il più pratico e veloce mi è sembrato mencoder.
Ecco un esempio di come ottenere il risultato voluto:
mencoder -oac copy -ovc xvid -xvidencopts fixed_quant=3 -sub Legend.Of.The.Seeker.s01e13.srt -subfont-text-scale 3 -subalign 2 -o test.avi Legend.of.the.Seeker.S01E13.avi
in sintesi i parametri passati a mencoder:
-oac copy (copia il flusso audio)
-ovc xvid -xvidencopts fixed_quant=3 (converti il video in xvid con qualità da 1 a 5)
-sub file dei sottotitoli da inserire
-subfont-text-scale la dimensione dei font da 1 a 5
-subalign dove posizionare il sottotitolo 0 in alto, 1 al centro, 2 in basso
-o file di destinazione
il file sorgente
Da notare che dalle prove che ho fatto non è possibile passare -ovc copy (che avrebbe risparmiato tempo) in quanto il filmato finale non incorpora i sottotitoli.
Per alcuni, il fatto di essere un programma a linea di comando può rappresentare un limite.
Per utilizzare un programma ad interfaccia grafica si può andare su avidemux, a mio parere più lento di mencoder.
Dimenticavo, sia mencoder che avidemux sono disponibili per Linux, Mac e Windows, e qui tutto lo scibile sulle opzioni di mencoder sui sottotitoli
martedì 6 ottobre 2009
sudo: timestamp too far in the future!

mercoledì 26 agosto 2009
Stampante samba e cpu al 100%
eliminare il file tdb dalla cache di samba.
Nel mio caso la stampante che faceva i capricci si chiamava PDF e quindi ho eliminato
/var/cache/samba/printing/PDF.tdb
venerdì 7 agosto 2009
Capricci dhcp
Nei log del server dhcp risultava il mac address, ma l'indirizzo non era mai quello voluto.
Ho messo mano per la prima volta in vita mia al file /etc/dhclient.conf.
Inserendo la stringa:
send dhcp-client-identifier xx:xx:xx:xx:xx:xx:xx;
(dove le xx rappresentavano il mac address) il server dhcp finalmente assegnava l'ip desiderato.
Devo ammettere che dhclient.conf contiene anche altre cosette interessanti.
sabato 27 giugno 2009
MacBook Pro Ubuntu: NetworkManager - wifi -dhcp
Tra le varie prove che ho fatto per porre rimedio una ha funzionato: disattivare apparmor (croce e delizia di questa distribuzione).
Le soluzioni a questo punto erano due: disattivare apparmor o cercare un fix.
Una rapida ricerca ha portato al bug #342235 in cui è indicata la soluzione.
Con i permessi di root occorre:
- modificare il file /etc/apparmor.d/sbin.dhclient3
- posizionarsi nella sezione dove si trova "/usr/lib/NetworkManager/nm-dhcp-client.action"
- inserire sopra a "/usr/lib/NetworkManager/nm-dhcp-client.action mr," la stringa "/var/run/dbus/system_bus_socket w,"
- salvare e chiudere il file,
- riavviare apparmor (/etc/init.d/apparmor restart) o riavviare il computer.
/usr/lib/NetworkManager/nm-dhcp-client.action {
#include <abstractions/base>
#include <abstractions/dbus>
/var/run/dbus/system_bus_socket w,
/usr/lib/NetworkManager/nm-dhcp-client.action mr,
}
Ora la scheda wireless funziona senza problemi con NetworkManager.
domenica 31 maggio 2009
rsync di cartelle windows su linux
Ho avuto bisogno di fare delle copie sincronizzate e periodiche di un server nt su un server linux (red hat) ed ho messo in crontab questo script:
#!/bin/sh
if df | grep -q -w /mnt/nt
then
echo "nt C$ gia' montato"
else
mount -t smbfs -o username=nt\\administrator,password=password,ro //nt/c\$ /mnt/nt &> /dev/null
echo "nt C$ montato ora"
fi
#ricontrolliamo prima di iniziare rsync
if df | grep -q -w /mnt/nt
then
echo "inizio backup "
rsync -avz --delete /mnt/nt/Program\ Files/IBM/* /home/nt/IBM/
echo "smonto le condivisioni...."
umount /mnt/nt
echo "terminato"
else
echo "errore nel montare nt C$"
fi
umount /mntnt
Particolarmente interessante è:
if df | grep -q -w (punto di mount)
che restituisce true o false a seconda che la condivisione sia montata o meno....
giovedì 21 maggio 2009
Installazione openPMA

La procedura è stata abbastanza semplice ed indolore:
basta seguire le istruzioni contenute nell'official openPMA installation guide per installare ed integrare con le applicazioni già presenti openPMA.
Per prima è necessario scaricare ed installare il bootloader alternativo qui.
Avvenuta l'installazione del package nel PMA400 del boothack si lancia l'applicazione dal tab Impostazioni e si preme OK (è possibile anche fare il restore del bootloader ufficiale successivamente).
Si scarica e scompatta su un computer l'ultima versione di openPMA (giraffe).
Si spegne il palmare, lo si collega spento al computer tramite il cavo usb e finalmente lo si accende.
Si può procedere ora in due direzioni.
la prima, avendo sufficientemente spazio libero (6 GB):
- si esegue il chkdsk del disco
- lo si deframmenta
- ci si reca nella cartella System
- si rinomina aimage.img (il s.o.) ad esempio in aimage.archos
- si copiano i files aimage.img e openpma.img scaricati da opempma.org in questa cartella.
- backup completo dei dati presenti sul palmare
- formattazione in fat32 del palmare
- si scompatta e si copia nel palmare formattato il PMA400 recovery già presente nell'archos ma comunque scaricabile dal sito di Archos
- ci si reca nella cartella System
- si rinomina aimage.img (il s.o.) ad esempio in aimage.archos
- si copiano i files aimage.img e openpma.img scaricati da opempma.org in questa cartella.
- se si vuole mantenere eventuali programmi installati precedentemente sul palmare copiare in questa cartella il file progfs.img dal backup effettuato.
Solo a questo punto si deve:
- smontare correttamente il PMA400 dal computer e senza staccare il cavo con una graffetta effettuare lo spegnimento del palmare agendo nell'apposito buco alla base (reset pin hole).
- a palmare spento scollegare il cavo usb e procedere all'accensione.
Se tutto va a buon fine avremo il nostro nuovo sistema operativo funzionante.
Purtroppo, nonostante avessi 12 GB liberi, ho dovuto optare per la seconda scelta in quanto avevo sempre un errore durante la creazione della partizione nascosta. E' stato un procedimento più lungo, ma che mi ha anche consentito di fare un po' di pulizia.
Impressioni: il sistema mi sembra migliore e più stabile di quello fornito di fabbrica, ho a disposizione tramite terminale molte più funzioni e programmi, e se per qualche motivo volessi tornare indietro potrei farlo seguendo le istruzioni a ritroso della prima direzione, rinominando aimage.img in aimage.openpma e aimage.archos in aimage.img, verificando la presenza del file progfs.img (il file immagine contente le applicazioni installate di default da Archos), resettando e accendendo il palmare. Se volessi invece eliminare anche la partizione nascosta dovrei a questo punto tramite un pc eliminarla, formattare l'unità in fat32, copiare il PAM recovery, resettare e accendere il palmare.
L'unico difetto per ora ho riscontrato è stato la disattivazione dell'altoparlante interno, ma onestamente non ho ancora verificato se ci sono dei work-around.
Devo anche verificare se funziona il collegamento al televisore, la registrazione audio - video ed il telecomando.
domenica 17 maggio 2009
XBMC ed i plugins

A casa ho due vecchi computer che svolgono la funzione di HTPC.
Hanno installato Freevo che è a mio parere il migliore software HTPC open source esistente.
Freevo è scritto in python, utilizza massivamente mplayer (anche se supporta vlc e xine), gira principalmente su Linux e non ha particolari richieste hardware, consentendo quindi di avere un ottimo sistema di home theatre a costi contenuti.
Nel mio caso utilizzo un PIII ed un PIV.
E' estensibile grazie a numerosi plugins. Ne ho scritto qualcuno anch'io e uno di questi è nella distribuzione ufficiale, per la precisione quello di wwitv.
Installare freevo sul mio MacBook con Mac OS X è una operazione fattibile anche se non semplicissima, e per ora non ho abbastanza tempo libero per farlo.
Ho provato quindi XBMC, finalmente in versione Intel e PPC, bello pronto da installare con il suo file dmg.
Le richieste hardware sono decisamente più elevate, rendendolo inutilizzabile sui due htpc che ho in casa, ma la grafica è decisamente carina, si interfaccia agevolmente con i server UPnP (il sistema che utilizzo per condividere musica, film foto e quant'altro) e fa lui stesso da server UPnP.
E' estensibile tramite plugins, e indovinate un po' in che linguaggio? Python!
Ho provato subito a scriverne uno di prova, e sono rimasto piacevolmente colpito dalla presenza di:
un soddisfacente tutorial, una maggiore documentazione, uno scheletro di plugin con cui partire, poche routines chiare ed accessibili.
Creare un plugin video in XBMC può addirittura consistere nel trovare la giusta regex in una pagina web ed passare i risultati a
addDir(name,url,mode,thumbnail)o addLink(name,url,tumbnail)
Quindi come spiegato nell'ottimo tutorial, inserendo in CATEGORIES()
addDir("MOVIES","http://www.tvdash.com/movies.html",1," http://reggiebibbs.files.wordpress.com/2007/12/the-movies360-crop.jpg")
avremo un menu di tipo cartella "Movies" il cui clic invocherà la routine INDEX() passando come argomento l'url http://www.tvdash.com/movies.html.
Compito della funzione INDEX sarà quello di scaricare la pagina web ed applicare la regex desiderata per poi passare a addLink(name,url) i links dei video trovati, creando dei sotto menu "links" che avranno il compito di lanciare il player collegandosi all'url del video specificato.
Decisamente veloce e semplice.