Subscribe to my full feed.

sabato 7 novembre 2009

La storia di .Trash-1000 (Gnome + Ubuntu)

Oggi sono un pò "cattiverioso" come dice il caro Marco e vi racconterò di una bella storia da buttare nel cestino, in seguito all'attento lettore sarà tutto più chiaro. I protagonisti di questa storia informatica sono uno gnomo, un koala che ogni sei mesi si traveste da animale diverso e un pò di utenti irriverenti ma non per questo meno divertenti.

La storia ha inizio quando l'utente umano carica una pen-drive, ci lavoricchia un pò, cancella dei file e quando è tempo di andarsene prova a smontare il dispositivo con annessa finestra della discordia:
Cosa vi aspettate che faccia questa dialog? Sinceramente mi aspetto esattamente quello che fa: prende onestamente i file contenuti nel cestino e li elimina. L'inghippo sta nel fatto che per l'utente non è chiaro che i file in questione non sono quelli del cestino dell'utente ma di un cestino, una directory di nome .Trash-1000 che viene creata e gestita sul dispositivo montato. La directory è nascosta in Linux mentre in Windows no.

Attuale work around
Mi sembra onesto e plausibile come comportamento: predispongo un sistema sicuro sul device e poi sarà l'utente a scegliere: se non si vuole spostare i file nel cestino li si può sempre eliminare con la combinazione di tasti SHIFT + CANC oppure abilitare nel menu contestuale di Nautilus l'icona per l'eliminazione.
Se siete interessati a quest'ultima soluzione potete accedere a Nautilus (l'esploratore dei file in Gnome), dal menu Modifica selezionare la voce preferenze. Si apre una finestra come quella sottostante. Dalla scheda Comportamento abilitate il flag Includere un comando «Elimina» che scavalchi il cestino.
A questo punto per ogni file con il tasto destro, dal menu contestuale comparirà la voce "elimina..."

Si può far meglio!
Tornando a noi, cerchiamo di capirci qualcosa cercando tra i vari issue tracker di Gnome e Ubuntu. Il punto della diatriba è che queste cartelle nascoste vengono sempre generate e si accumulano nel dispositivo come mi capita giornalmente quando sono a casa.
Perchè non eliminarle?
Secondo la risposta di Sebastien Bacher: bug 362050 Empty trash' on flash drive leaves unnecessary '.Trash' folder commento 3, la cosa non viene fatta di default perchè in alcuni file system non si hanno i permessi per poter scrivere e il malcapitato l'utente dovrebbe crearsi manualmente tutte le volte la cartella del cestino per poterla usare e poi cita il comportamento da prendere come esempio: il caso di Windows che come sempre fa quello che vuole e nessuno può aprir bocca. No comment.
Did you read my comment before? there is filesystem where you will have no such directory until you create one manually to say that you want one, if the system was to delete if for you every time you unmoun the drive you would have to do this work every time you plug the key, not really a win for users, the microsoft folder is already available under linux and nobody at microsoft will modify their os to delete their special directory that's not much different, that seems extra trouble, work and issue for a small cosmetic change
Ma vediamo un pò come questo comportamento viene recepito dall'utente umano. Cito un commento (non chiedetemi di tradurre...) dal bug di Launchpad correlato #12893 Shouldn't put .Trash-$USER on removable devices dove viene richiesto esplicitamente di non gestire proprio il cestino nei dischi removibili... praticamente una non soluzione:
Please, remove the creation of the .Trash-$USER folder in removable drives, completly, is an incredible pain in the ass for human users.
Thanks
Ma perchè se nella maggior parte dei casi sarebbe auspicabile poter eliminare tutto non lo si può fare in modo automantico? Se me la devo creare a mano, allora sicuramente sono un utente a conoscenza del problema e vorrei semplicemente avere la possibilità di scegliere cosa fare come viene proposto nella descrizione di questo bug #138058
I use nautilus to move pictures from my digital camera to my computer. Several times after deleting items on the camera, I have forgotten to empty the trash, so a large fraction of the memory stick is filled with a .Trash folder that I can't remove with the camera's file managment functions. It would be nice if nautilus would ask before unmounting a removeable device with files in the trash. What's needed is a dialog asking something like "There are 24 files totalling 30 megabytes in the trash on /mnt/digicam. Do you want to delete those files now? (Delete Files) (Keep Files) (Don't Unmount)".
Giusto, ho bisogno di un pulsante in più, una nuova funzionalità che mi chieda di rasare via tutto se lo voglio, ma questa funzionalità sarà disponibile in GNOME 2.16 come domandava tomi nel lontano 2006 sempre nello stesso bug al commento 24?
tomi 2006-10-20 10:05:31 UTC Comment 24
Is this funcion now added in GNOME 2.16 or not
Sven Herzberg [developer] 2006-10-20 16:37:39 UTC Comment 25
i don't think so
tomi 2006-10-20 17:46:05 UTC Comment 26
great! Do they even do anything smart with their releases
e vissero felici e contenti!

martedì 3 novembre 2009

Java e i bottoni che non cliccano in Ubuntu 9.10 Karmic Koala

immagine realizzata con i contenuti di rootlace e lussi

Per la nuova "karmica" release di Ubuntu ho deciso di procedere con un'installazione pulita... e devo dire che mi ha piacevolmente soddisfatto, almeno a prima vista. Le novità grafiche che tanto piacciono all'utente desktop sono attraenti e a mio parere vanno nella direzione giusta.
Il problema di questo post nasce con l'installazione di Eclipse nella versione non pacchettizzata: non si riusciva più a cliccare sui bottoni dell'applicazione, unica soluzione era dare il focus al componente con il TAB e poi andare di Invio... bel workaround del menga.
Non soddisfatto sono andato quindi alla ricerca del bug, e come spesso mi accade era già stato inserito da qualche volenteroso utente. Il bug sembra affliggere la nuova versione delle librerie GTK di Ubuntu (#442078) ed è tracciato anche in Eclipse con il numero #291257. Fortunatamente la cura è più semplice di quello che sembra , basta infatti aggiungere una variabile di ambiente al file ~/.profile come detto tra i commenti dei bug. A conferma del workaround c'è anche un bell'articolo della libreria di GNOME: Migrating to client-side windows
I passi da seguire sono quindi:
  1. aprire gedit sul file .profile
  2. aggiungere alla fine
    GDK_NATIVE_WINDOWS=true
  3. salvare e riavviare il sistema
Speriamo che la cosa venga risolta come per le finestre Java con Compiz abilitato (leggi qui)

domenica 11 ottobre 2009

Alice Gate VoIP 2 plus Wi-Fi + Disco esterno + Ubuntu

Dopo un anno passato a girovagare per il vicentino ed il padovano, con mia moglie siamo riusciti a trasferirci nella nostra nuova casa. Questa settimana mi hanno allacciato la linea telefonica senza canone della Telecom (Alice Casa Internet) e con mio stupore, ho visto dal manuale che il router dà la possibilità di essere usato come print server o simil NAS. Quest'ultimo è compatibile con Samba, il che permette di accedervi con il nostro sistema operativo preferito.

Delle due opzioni vi parlerò quindi del collegamento di un disco esterno, nel mio caso una vetusta penna USB da 128 MB, e la configurazione di Ubuntu per potervi accedere via Wi-Fi, visto che la mia esigenza è di avere a disposizione dei file tra il mio portatile (con sitemi GNU\Linux) e quello di mia moglie (Windows).

Da un browser accedere al pannello di configurazione del router con il classico indirizzo http://192.168.1.1. Sulla barra di destra c'è una voce relativa alla porta USB che si trova nel lato posteriore del router: Porta USB Master. Cliccare sul link Porta USB
Dalla pagina che compare attivare lo stato del servizio Disco Remoto. Inserire nella porta USB la penna o il disco esterno... in basso comparirà l'elenco dei dischi collegati, il nome del server (alicegate) che imposteremo poi in Ubuntu e la condivisione (A). Quest'ultime informazioni sono in Indirizzo dispositivo (\\alicegate\A)
Bene, questo è quanto per Alice, ora passiamo alla nostra cara macchina con Ubuntu installata (nel momento che scrivo ho a disposizione una 9.04). Dal menu principale selezionare Risorse -> Connetti al server... Compare una finestra di dialogo.
Dal menu a tendina Tipo di servizio selezionare Condivisione Windows. Server "alicegate" e condivisione "A" (i dati li abbiamo trovati dalla pagina di amministrazione del router come descritto precedentemente). Poi per comodità si può aggiungere un segnalibro ceccando il flag Aggiungi segnalibro che chiamerò Alice. Così facendo dal menu principale Risorse avrò un collegamento al disco remoto.
Premere Connetti e godersi il nuovo collegamento Samba nel nostro desktop.

mercoledì 7 ottobre 2009

wget + Google Image Ripper (script Bash)

Avete mai sentito parlare del progetto GIR: Google Image Ripper? E' un motore di ricerca che visualizza a grandezza originale il risultato della query del popolare Google Images. Questo strumento on-line è molto utile per reperire immagini senza dover navigare troppo tra i siti e le cornici del motore di ricerca di Montain View.
L'idea che mi ha stuzzicato oggi è stata quella di abbinare la potenza del comando wget a questo strumento on-line. Lo script è molto semplice: vanno impostati dei parametri di ricerca e la dimensione minima delle immagini che si vogliono ottenere. Giocherellando un pò potrete sicuramente affinare lo scheletro dello script che riporto qui sotto. Ecco quindi il mio semplice grabber da linea di comando. Ovvio che migliore sarà la ricerca e migliore saranno i risultati.

Nota: se avete suggerimenti sono sempre ben accetti.


#!/bin/bash
#
# WGET GIR
# v.0.1
# released under GPLv3 licence
#
# http://niubbo.blogspot.com
#--------------------------

# GIR PARAMETERS
#--------------------------
QUERY=+ferrari+maranello+-f40 # query to search (word1+word2+...+wordN)
NSFW=on # not suitable for work (on/off)

# WGET PARAMETERS
#--------------------------
TRIES=3 # Set number of retries to number
TIMEOUT=3 # Set the network timeout to seconds seconds

# SEARCH RESULTS PARAMETERS
#--------------------------
GIRDIR=gir_results # reault's directory
SIZE=70k # minimum image's size [kilobytes]


# SCRIPT
#--------------------------
if [ ! -e $GIRDIR ];then
mkdir $GIRDIR
echo "$GIRDIR created"
fi
cd $GIRDIR
echo "Starting downloading"
wget -H -r --level=1 -k -p -A jpg --tries=$TRIES --timeout=$TIMEOUT "http://dearcomputer.nl/gir/?q=$QUERY&s=7&imgtype=any&nsfw=$NSFW" > /dev/null 2>&1
echo "Finished"
# move files to the current directory
echo "Moving results"
for FILE in $(find ./ -name *.jpg -type f -size +$SIZE); do
mv $FILE ../
done
# remove temporary directory
echo "Removing temporary directory"
cd ..
rm -r $GIRDIR

domenica 4 ottobre 2009

MeMaker 1.0.1 avatar creator non parte in Ubuntu (9.04)

Nella lettura giornaliera del forum di Ubuntu sono incappato su questo progetto per la creazione di avatar (grazie a paper0k): MeMaker. Non ne avevo mai sentito nominare prima e mi sono subito lanciato nella foga da installazione convulsiva. L'idea nasce nell'ambito del Google Summer of Code del 2007 e ha come scopo quello di realizzare un'applicazione sulla falsa riga di alcuni servizi on-line come http://simpsonizeme.com/ http://www.sp-studio.de/ per la crezione di avatar.
Il programma è ancora scarno e sinceramente anche se è previsto un ramo di sviluppo della versione 2.0 non ho idea di quando questo vedrà la luce. Intanto è presente la versione 1.5 anche se per la mia Ubuntu è disponibile solamente la versione 1.0.1... aspetteremo.

Il problema all'avvio
Il sistema delle dipendenze dei pacchetti è da sempre un tallone d'achille delle distribuzioni GNU\Linux e in questo caso non ha risparmiato nemmeno questa piccola applicazione. Installato da apt-get il pacchetto di MeMaker in una Ubuntu 9.04 non ne ha voluto sapere di avviarsi proponendomi questo bel messaggio:
memaker start
Looks like a new theme was added. We will need to reset everything to adjust.
ImportError: No module named numpy.core.multiarray
Segmentation fault
Il bug è tracciato in Launchpad con il numero #368529

La soluzione
La soluzione che vi propongo è leggermente rispetto a quella proposta da Giovannino qui. Infatti non è necessario installare Inkscape, basta installare il pacchetto numpy di python da riga di comando con:
sudo apt-get install python-numpy
Provare la versione 1.5
Per chi come me vuole comunque provare la versione stable 1.5 di questo programmino basta scaricare il pacchetto da MeMaker 1.5, scompattarne il contenuto ed eseguire il file memaker (doppio click -> Esegui nel terminale). L'interfaccia grafica è migliorata in usabilità ed è più aderente alle specifice di gnome. Per il resto non ho notato grandi novità se non la nuova base glyphface (il classico simbolo dello smile).

Link

MeMaker su Launchpad
MeMaker sito ufficiale

mercoledì 30 settembre 2009

Totem 2.26.1 e problemi con Youtube (Ubuntu 9.04)

Un plugin interessante per Totem (Riproduttore di filmati) è sicuramente quello per visualizzare i filmati di YouTube senza dover aprire il browser web.
Per abilitare il plugin basta dal menu principale Modifica selezionare la voce Plugin... e poi Esplora YouTube. Fino a qui è tutto molto bello e piacevole da seguire eccetto che alla prima prova una bella finestra di errore ci saluta dicendoci che non abbiamo i permessi per eseguire il video.

Failure to open YouTube videos "Could Not Open Location; you might not have permission to play the file." misleading
"Non hai i permessi per..." a me?

Alla ricerca del bug
Come in altri post ho avuto piacere di scrivere anche questo problema è noto agli sviluppatori di gnome e in particolare alla comunità di Ubuntu. Il bug in questione è il 323649. Non è ancora stato risolto ma fortunatamente c'è un commento illuminante nel quale si trova la soluzione opportuna. Alla base del problema c'è la costruzione dell'indirizzo del video che viene impostato erroneamente.

Soluzione proposta
CiscoReject propone in questo commento di andare a modificare a manina il codice sospetto di errore. Ovvio che la procedura può non essere immediata per un nuovo utente, ma non è niente di trascendentale.
NOTA 1: La procedura è da seguire solo con cognizione di causa. Se vi scoppia il computer o non si avvia più etc etc l'autore si declina da ogni responsabilità.
  • Chiudere Totem
  • Aprire un terminale da Applicazioni -> Accessori -> Terminale
  • Aprire il file con il codice del plugin con
gksudo gedit /usr/lib/totem/plugins/youtube/youtube.py

  • Modificare (verso la riga 337) il codice:


"""Get the video stream MRL"""
t_param = self.resolve_t_param (youtube_id)
if t_param != "":
mrl = "http://www.youtube.com/get_video?video_id=" + urllib.quote (youtube_id) + "&t=" + urllib.quote (t_param) + self.get_fmt_string ()

con questo:

"""Get the video stream MRL"""
t_param = self.resolve_t_param (youtube_id)
if t_param != "":
#mrl = "http://www.youtube.com/get_video?video_id=" + urllib.quote (youtube_id) + "&t=" + urllib.quote (t_param) + self.get_fmt_string ()
mrl = "http://www.youtube.com/get_video?video_id=" + urllib.quote (youtube_id) + "&t=" + t_param + self.get_fmt_string ()

In pratica andiamo a commentare la riga incriminata e la sostituiamo con una corretta.
NOTA 2: Si ricorda che in pyton l'identazione ha valore sui blocchi di codice quindi non cancellate le tabulazioni e rispettate quelle che trovate nel file. Per maggiori informazioni vi rimando a HowToEditPythonCode dalla guida ufficiale di Python

venerdì 25 settembre 2009

Nascondere i file nascosti di Windows su GNU\Linux (the Gnome way)

(foto di a God's child)
No non si tratta di un gioco di parole ricorsivo, ma bensì di una difficile convivenza tra i due sistemi operativi. Mentre per Windows i file nascosti vengono definiti da parametro specifico del file, in ambito GNU\Linux per convenzione si antepone al nome del file da nascondere il punto ".".

Il problema
Spesso l'utente casalingo possiede un pc con sistema di dual boot nel quale far convivere i due sistemi operativi. Ecco che il problema dei file nascosti nasce nella navigazione in GNU\Linux delle directory nelle quali opera Windows. Lo spunto per il post nasce da un thread del forum di ubuntu.it sempre foriero di piacevoli informazioni.
In Gnome, il file manager Nautilus viene in aiuto dell'utente con alcune impostazioni. Peccato che la soluzione adottata da Nautilus non sia a standard per la freedesktop anche se l'idea era stata quanto meno segnalata nella mail list nel lontano marzo 2005. Quindi cari utenti di KDE non so cosa consigliarvi.

La soluzione di Gnome
Cito dalla guida ufficiale di Nautilus.
In Nautilus non vengono mostrati:
  • i file nascosti, il cui nome inizia con un punto (.),
  • i file di backup, il cui nome termina con una tilde (~),
  • i file elencati in un particolare file .hidden di una cartella.
e in seguito si ribadisce
Per nascondere un file o una cartella in Nautilus, rinominare il file in modo che il suo nome inizi con un punto (.) o creare un file di testo chiamato .hidden all'interno della cartella e aggiungere il nome del file da nascondere
Ecco che si può sfruttare questa funzionalità per elencare i file nascosti o di sistema da non mostare in Nautilus.

Risvolti futuri
La comunità di Ubuntu non è insensibile nemmeno a questi aspetti e noto con piacere che tra le idee di Ubuntu ci sia anche la 7833 che si riferisce proprio ai file nascosti.