venerdì 12 giugno 2009

Scoprire il tipo di un file

Per conoscere il tipo di un file si può utilizzare l'utilissimo comando da terminale file. La sintassi per il suo utilizzo basilare è estremamente semplice:
file /percorso/del/file
ovviamente sostituendo a /percorso/del/file il percorso assoluto o relativo (vedi qui per maggiori informazioni) del file di cui si vuole conoscere il tipo. Per esempio, per conoscere il tipo di un file chiamato pippo e posizionato nella Scrivania, nel terminale dobbiamo dare il comando
file ~/Scrivania/pippo
Ricordo che la tilde ~ è l'abbreviazione della cartella home dell'utente che usa il sistema.

Questo programma risulta particolarmente utile quando si vuole individuare la reale "natura" di un file, perché il tipo di un file non si può identificare con la sola estensione. file opera guardando il contenuto del file. Certo può capitare qualche caso in cui anche file sbaglia, ma ciò che determina la "natura" di un file è il suo contenuto, non certo l'estensione che può essere cambiata a piacimento. Per conoscere le opzioni che si possono utilizzare con file potete consultare il manuale con il comando
man file

Chi non ama particolarmente il terminale, o comunque preferisce utilizzare anche delle interfacce grafiche, può usare questo semplice script per Nautilus che ho realizzato:
#!/bin/bash

titolo="Tipo file" # titolo dei popup che verranno visualizzati

if [ $# -gt 0 ]; then # se viene selezionato più di un file
    file -- "$@" | zenity --text-info --title="$titolo" --filename=/dev/stdin # visualizza un popup che mostra il tipo di ciascun file o cartella selezionato
else # altrimenti
    zenity --error --title="$titolo" --text="Devi selezionare almeno un file" # visualizza un popup di errore
fi
Per utilizzare lo script è necessario installare il pacchetto zenity.

Aprite un file vuoto con un editor di testo (come gedit), copiate lo script nell'editor e salvatelo nella cartella ~/.gnome2/nautilus-scripts chiamandolo, per esempio, Tipo file. Rendete quindi eseguibile lo script facendo clic con il taso destro sul file (per accedere alla cartella ~/.gnome2 dovete visualizzare i file nascosti premendo [ CTRL ] + [ H ]), scegliete Proprietà e quindi, nella scheda Permessi, mettete la spunta a Consentire l'esecuzione del file come programma. In questo modo, facendo clic con il tasto destro su un file di cui volete conoscere il tipo, vi basterà fare clic su ScriptTipo file (o il nome che avete dato allo script).

mercoledì 10 giugno 2009

Spostamento celle verso il basso con Incolla speciale in Calc

In Calc (il foglio elettronico della suite OpenOffice.org) avevo necessità di
· tagliare delle celle
· incollarle in un'altra posizione spostando verso il basso le celle selezionate che contengono altri dati
Questa operazione si potrebbe fare con la funzione Incolla speciale. In pratica basta selezionare le celle da tagliare, fare clic con il tasto destro e scegliere Taglia, quindi selezionare la posizione in cui incollare le celle e, facendo clic con il tasto destro, scegliere Incolla speciale. In questo modo apparirà una finestra in basso a destra della quale si può scegliere di spostare in basso le celle selezionate. Il problema è che l'opzione Verso il basso non era selezionabile. Cercando su Google ho trovato un modo per aggirare il problema.

Bisogna incollare ugualmente, selezionando l'opzione Non spostare, anche se non è quello che vogliamo fare. Quindi nel popup che apparirà che chiederà conferma della sovrascrittura, fate clic su .
In questo modo le celle saranno state, ovviamente, sovrascritte. A questo punto, annullate l'operazione (premendo i tasti [ CTRL ] + [ Z ] oppure da ModificaAnnulla Inserisci) e, facendo clic con il tasto destro sulle celle da spostare, selezionate nuovamente Incolla speciale.
Magicamente, adesso sarà possibile scegliere l'opzione di spostamento verso il basso.
Il messaggio della mailing list dove ho trovato questo workaround risale al 2004, il problema nel frattempo non sembra essere stato risolto (se ho visto bene, comunque, è già stato segnalato agli sviluppatori). Inoltre, mi è sembrato che il difetto si verifichi solamente quando si tagliano delle celle, non quando vengono solamente copiate.

venerdì 5 giugno 2009

Catturare screenshot

Se utilizzate Ubuntu nella versione con GNOME come ambiente desktop probabilmente avrete preinstallato il programma gnome-screenshot per catturare le schermate del monitor (in inglese si chiamano screenshot). Se non c'è, per ottenerlo è sufficiente installare il pacchetto omonimo da Synaptic oppure da terminale con il comando
sudo apt-get install gnome-screenshot
Per catturare uno screenshot di tutto il monitor basta premere il tasto [ STAMP ], invece se si vuole catturare solo la schermata della finestra attiva bisogna premere insieme i tasti [ ALT ] + [ STAMP ]. Per utilizzare altre impostazioni (come l'inclusione del puntatore o del bordo di una finestra, oppure il ritardo con cui catturare una schermata) bisogna avviare il programma da ApplicazioniAccessoriCattura schermata.


Esiste inoltre un altro programma che offre numerose opzioni in più: Shutter (precedentemente conosciuto come Gscrot). Shutter può essere installato aggiungendo un repository (qui sono presenti le istruzioni in inglese per farlo) oppure direttamente dal pacchetto che si può scaricare da questa pagina nella sezione Ubuntu packages (è necessario scaricare tutti i pacchetti indicati per la propria versione del sistema). Shutter potrebbe richiedere l'installazione (che avverrà in automatico) di numerose dipendenze (a me per esempio ha dovuto installare 14 pacchetti mancanti). Una volta installato, Shutter può essere avviato da ApplicazioniAccessoriShutter - Screenshot Tool. Il programma permette di scegliere il formato in cui salvare l'immagine, di quale finestra cattura la schermata (la rende attiva automaticamente), di quale desktop virtuale catturare un'intera schermata, inoltre offre la possibilità di selezionare un'area rettangolare dello schermo da salvare e modificare lo screenshot appena catturato con il programma di editing grafico preferito. Qui potete trovare una breve guida in italiano per Shutter.

Utilizzando anche Ubuntu con LXDE come ambiente desktop, sono spesso alla ricerca di programmi quanto più leggeri ed essenziali possibile. Per catturare le schermate del desktop è possibile utilizzare da terminale il semplice programma import. Può essere installato da Synaptic, oppure da terminale con il comando
sudo apt-get install import
Per utilizzarlo basta dare il comando
import nomefile
sostituendo a nomefile il nome che si desidera dare allo screenshot. Dopo aver dato il comando si dovrà selezionare l'area del desktop da catturare. L'immagine verrà salvata nella cartella in cui è posizionato il terminale (usare il comando pwd per sapere qual è). È possibile usare qualche altra opzione, consultate il manuale con il comando
man import
per maggiori informazioni.

Un altro programma da utilizzare da terminale per catturare le schermate è scrot. Come al solito, può essere installato da Synaptic, oppure da terminale con il con il comando
sudo apt-get install scrot
Per catturare immediatamente una schermata dell'intero schermo è sufficiente dare il comando
scrot
Con l'opzione -s è possibile selezionare un'area rettangolare dello schermo da salvare (facendo semplicemente clic in una finestra verrà salvata quella finestra); l'opzione -d NUM permette di impostare un ritardo di NUM secondi prima di catturare lo screenshot; l'opzione -c unitamente a -d visualizza un conto alla rovescia prima della cattura della schermata (ricordo che le opzioni possono anche essere scritte tutte insieme, l'importante è che dopo l'opzione -d ci sia il numero di secondi di ritardo). Altre opzioni di scrot possono essere ottenute leggendo il manuale con il comando
man scrot

File e cartelle nascosti nella home

In genere per ogni utente di un sistema GNU/Linux è presente una cartella home, cioè una cartella sotto /home che ha lo stesso nome dell'utente. Per esempio, se un utente del sistema si chiama pippo, esisterà una cartella il cui percorso è /home/pippo. Spesso, per quanto riguarda la bash, questa cartella viene indicata con la tilde ~ oppure con la variabile $HOME, che stanno entrambe a indicare proprio il percorso della cartella. Queste abbreviazioni risultano molto comode perché indicano sempre il percorso della cartella home dell'utente che sta utilizzando il sistema, indipendentemente dal nome dell'utente stesso.

Generalmente, all'interno della home di ciascun utente si trovano numerosi file e cartelle, ma molti di questi sono nascosti. Un file (o cartella) nascosto in un sistema di tipo Unix ha semplicemente un punto prima del proprio nome: in questo modo, navigando nella cartella il file (o cartella) nascosto non viene visualizzato in maniera predefinita. Proprio perché i nomi dei file nascosti iniziano con un punto in inglese vengono detti dot files (che significa file punto). In Nautilus, il file manager predefinito di GNOME, per visualizzare gli eventuali file nascosti presenti in una cartella è sufficiente premere i tasti [ CTRL ] + [ H ] oppure fare clic su Visualizza e quindi selezionare Mostra file nascosti. Se invece state usando il terminale, il comando normalmente ls non è in grado di elencare i file nascosti presenti in una cartella, bisogna usare l'opzione -a, quindi il comando
ls -a directory
elenca tutti i file, compresi quelli nascosti, presenti nella directory specificata.

Molti dei programmi che si utilizzano quotidianamente salvano le configurazioni personalizzate di ciascun utente all'interno delle rispettive home in cartelle nascoste. Visualizzando i file nascosti della vostra home potrete riconoscere le cartelle di alcuni programmi. Se avete necessità di modificare direttamente il file di configurazione di un programma è probabile che il file si trovi nella cartella nascosta associata a quel software.

Quando si disinstalla un programma generalmente l'eventuale cartella presente nella home di quel programma non viene cancellata, per preservare le configurazioni qualora il programma venisse reinstallato successivamente. La cartella può essere cancellata manualmente dopo la rimozione di un programma, ma può anche essere fatto automaticamente: quando si rimuove un pacchetto da Synaptic, invece di selezionare l'opzione Marca per la rimozione bisogna scegliere Marca per la rimozione completa. Allo stesso modo, se si disinstalla un pacchetto da terminale e si vuole cancellare anche la cartella nascosta contenente le configurazioni, invece dell'usuale
sudo apt-get remove nomepacchetto
bisogna dare il comando
sudo apt-get purge nomepacchetto
o, il che è lo stesso
sudo apt-get remove --purge nomepacchetto

In particolare, molto spesso problemi relativi a Firefox sono proprio collegati al profilo in uso, che si trova nel percorso ~/.mozilla/firefox/nomeprofilo (usualmente il nome della cartella comprende una sequenza casuale di lettere e numeri seguita dal nome del profilo). Una soluzione sarebbe quella di cancellare tutta la cartella .mozilla, ma in questo modo si perderebbero tutti i plugin installati, i Segnalibri, le password salvate e la Cronologia. Un metodo più indolore consiste nel rinominare la cartella .mozilla (ma non cancellarla, per conservare Segnalibri & Co.): in questo modo, all'avvio successivo Firefox creerà automaticamente un nuovo profilo (e quindi una nuova cartella .mozilla/firefox). Un metodo alternativo a quest'ultimo consiste nel creare un nuovo profilo: per fare ciò bisogna avviare Firefox da terminale con l'opzione -ProfileManager:
firefox -ProfileManager
Nella finestra che si aprirà, fate clic su Create Profile. Se in questo modo il problema viene risolto, sarà possibile recuperare dalla cartella del profilo precedente (oppure nella cartella che era stata rinominata) i segnalibri (SegnalibriImporta e salvaRipristinaSeleziona file. Cercate la cartella bookmarkbackups del profilo precedente e selezionate il file *.json più recente). A questo proposito potrebbe essere utile eseguire dei periodici backup del proprio profilo (per esempio con il plugin FEBE).

BaShare: semplice programma per condividere file

Chi usa programmi di messaggistica istantanea come Pidgin sa che i trasferimenti di file tramite protocollo MSN sono molto lenti. Questo perché Pidgin non supporta la connessione diretta fra i due interlocutori per l'invio dei file (segnalazione del bug sul sito ufficiale). Per risolvere questo problema (almeno quando si inviano file) si può usare il programma opensource BaShare, realizzato da Guiodic. Per l'utilizzo del programma non è necessario che il programma sia installato su tutti e due i computer che si scambiano i file (ovviamente è necessario almeno per chi invia il file).

Nella pagina dei download potete trovare, oltre al sorgente, i pacchetti già compilati per diverse distribuzioni, compresa Ubuntu.

Chi utilizza un router potrebbe aver bisogno di scaricare Miniupnpc per aprire automaticamente la porta TCP.

Sul forum in italiano di Ubuntu è presente una discussione su questo programma: http://forum.ubuntu-it.org/index.php/topic,261426.0.html

Inserire caratteri Unicode

Tabella dei caratteri

Per inserire dei caratteri Unicode si può usare una tabella dei caratteri, come  Gucharmap (per l'ambiente desktop GNOME) o KCharSelect (per l'ambiente desktop KDE),  che fornisce una mappa dei caratteri Unicode disponibili mostrando anche una breve descrizione per ciascuno di essi. Gucharmap è preinstallato su Ubuntu con GNOME come ambiente desktop, se non presente può essere ottenuto installando, da Synaptic o da terminale, il pacchetto gucharmap. Il comando da dare nel terminale per installarlo è
sudo apt-get install gucharmap
Per avviarlo potete andare in ApplicazioniAccessoriTabella carattere, oppure è possibile invocarlo tramite terminale con il comando
gucharmap
Facendo doppio clic sul carattere da inserire, questo comparirà nella barra "Testo da copiare:" e facendo clic sul pulsante Copia i caratteri lì presenti verranno salvati negli appunti e potrete quindi incollare i caratteri dove vi servono.

Analogamente, per installare KCharSelect su Kubuntu è necessario installare il pacchetto kcharselect.  Il comando da dare nel terminale per installarlo è
sudo apt-get install kcharselect
Le funzioni di questa applicazione sono analoghe a quelle di Gucharmap.

Direttamente da tastiera

Codici Unicode esadecimali (solo applicazioni GTK+)

Se avete necessità di inserire spesso alcuni caratteri particolari e non volete ogni volta aprire una mappa dei caratteri, conoscendo il codice Unicode potete farlo semplicemente da tastiera. Il metodo illustrato di seguito funziona solo in applicazioni basate sul toolkit GTK+, come le applicazioni dell'ambiente desktop GNOME.  Bisogna premere contemporaneamente i tasti [ CTRL ] + [ SHIFT ] + [ U ], rilasciare i tasti (a questo punto vi comparirà una u sottolineata: non cancellatela!), scrivere il codice esadecimale del carattere e premere [ Invio ]. Per esempio, volendo inserire il carattere selezionato nell'immagine precedente (che rappresenta una tastiera), vediamo in basso a destra della schermata di Gucharmap che il codice esadecimale associato è 2328. Quindi per inserire quel carattere bisogna premere contemporaneamente [ CTRL ] + [ SHIFT ] + [ U ], rilasciare i tasti, scrivere 2328 e quindi premere [ Invio ]. Nell'immagine sulla sinistra c'è un esempio relativo all'inserimento del simbolo dell'integrale triplo il cui codice Unicode è 222D (nell'inserire il codice esadecimale le lettere possono anche essere minuscole, è indifferente).

Con la tastiera italiana

Alcuni dei caratteri Unicode che si possono aggiungere con la combinazione [ CTRL ] + [ SHIFT ] + [ U ] seguito dal codice Unicode (ma ovviamente non tutti, i caratteri Unicode sono oltre 100.000!) si possono inserire premendo [ ALT GR ] o [ ALT GR ] + [ SHIFT ] più una particolare lettera o numero. Le specifiche combinazioni cambiano a seconda del layout in uso, qui mi concentrerò sul layout italiano della tastiera su sistemi GNU/Linux. I tasti vanno tutti premuti contemporaneamente. Per esempio, per inserire il carattere æ è sufficiente premere insieme [ ALT GR ] + [ A ], mentre per il simbolo ® bisogna premere contemporaneamente [ ALT GR ] + [ SHIFT ] + [ R ]. Il simbolo tilde ~, molto usato, si ottiene premendo [ ALT GR ] + [ ì ]. Inoltre attivando il Caps lock è possibile scrivere le lettere maiuscole accentate. Così, per avere la È (E con accento grave) basta attivare il Caps lock e premere [ è ]. Invece per la É (E con accento acuto) bisogna attivare il Caps lock e premere [ SHIFT ] + [ è ] (infatti la é si ottiene con [ SHIFT ] + [ è ]).

Un'utile immagine (realizzata da Giorgio Polvara che l'ha distribuita con licenza CC-BY-NC-SA) che illustra i caratteri che si possono ottenere con le combinazioni di tasti di [ ALT GR ] su una tastiera con layout italiano si trova(va) all'indirizzo https://dl.getdropbox.com/u/235886/linuxkeyboard.png
Con queste combinazioni è possibile anche inserire facilmente lettere con dei particolari simboli come la dieresi.