mercoledì 18 dicembre 2013

Come abilitare TRIM per migliorare le prestazioni del SSD in Debian / Ubuntu

Che cos'è TRIM e perché conviene abilitarlo?
Il comando TRIM comunica al controller del SSD quali sono i blocchi attualmente non in uso, ad esempio quelli liberati a seguito della cancellazione di un file. Il mancato utilizzo del comando TRIM causa, nel lungo periodo, una rilevante riduzione delle prestazioni del SSD.
E' recente la notizia che Ubuntu 14.04 "Trusty Tahr" uscirà con la funzione TRIM per gli SSD abilitata di default, vediamo come abilitarlo anche in Ubuntu 13.10.

Prima cosa da fare è verificare che il nostro SSD supporti il comando TRIM, apriamo il Terminale e digitiamo:

sudo hdparm -I /dev/sda | grep "TRIM supported"

Se questo comando genererà una risposta simile a questa:

* Data Set Management TRIM supported (limit 8 blocks)

allora potete procedere, se al contrario non otterrete alcuna risposta vorrà dire che il vostro SSD non supporta TRIM.

Eseguire TRIM manualmente:

Prima cosa da sapere è come eseguire TRIM da terminale:

sudo fstrim -v /

Questo comando eseguirà TRIM sull'intero disco di sistema, ci vorrà qualche minuto per il completamento, abbiate pazienza ed aspettate, anche se sembrerà non esserci alcuna attività sul SSD.
Se avete più partizioni sul vostro SSD dovrete eseguire questo comando per ciascuna partizione, non fatelo per la partizione di swap in quanto non ne ha bisogno.

Far eseguire automaticamente TRIM dal sistema:

Ci sono diversi modi per far eseguire TRIM dal sistema in modo automatico, vediamo quali:

1. aggiungere l'opzione "discard" in fstab (NON CONSIGLIATO)

Aggiungere l'opzione discard nel vostro file fstab farà in modo che TRIM venga eseguito ogni qualvolta si cancella un file. Questo metodo non è consigliabile perché nel caso in cui dovete cancellare molti file il vostro SSD rallenterà vistosamente, inoltre è inutile eseguire TRIM ad ogni cancellazione di file. Comunque, nonostante lo sconsiglio, vi spiegherò come fare.

sudo nano /etc/fstab

Con questo comando apriamo il file fstab con l'editor di testo nano.
All'interno del file ci sono tante righe quante sono le partizioni che vengono integrate nel file system principale, ogni riga ha il seguente formato:

<file system> <punto di mount> <tipo> <opzioni> <dump> <pass>

La prima partizione in elenco è quella del sistema operativo, individuabile dal fatto che il punto di mount è /.
Dopo l'indicazione del tipo di filesystem, nel nostro caso ext4, ci sono le opzioni. Dovreste trovare le seguenti opzioni sulla partizione del sistema operativo:
errors=remount-ro
Aggiungete discard alle opzioni separando con una virgola, in questo modo:
discard,errors=remount-ro

Se avete altre partizioni del SSD potete fare lo stesso anche per le altre, ma ricordatevi di non farlo per la partizione di Swap che non ne ha bisogno.
Successivamente possiamo salvare premendo i tasti Ctrl + o, confermare il salvataggio premendo Invio, quindi uscire dall'editor con Ctrl + x.
Riavviate il sistema e avrete il TRIM attivo.

2. eseguire all'avvio del sistema TRIM aggiungendolo al file /etc/rc.local

Questo metodo eseguirà TRIM durante l'avvio del sistema, il prezzo da pagare è il rallentamento del boot, altra nota negativa è che su un PC sempre acceso non verrà mai eseguito. Personalmente non ho applicato questo metodo sul mio PC perché lo spengo e lo riavvio più volte al giorno, ma è una scelta valida per molti, vediamo come fare.

sudo nano /etc/rc.local

Il file si presenta sostanzialmente così:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0

Aggiungete il comando per invocare TRIM prima di exit 0, per ottenere questo:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
exit 0

Salvate  premendo i tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.
Riavviate il PC, da ora in poi, ad ogni avvio, verrà eseguito TRIM.

3. eseguire TRIM automaticamente una volta al giorno tramite /etc/cron.daily

Questo è il metodo che preferisco, TRIM verrà eseguito una volta al giorno all'ora stabilita da cron. Se il PC dovesse essere spento nell'ora stabilita, allora verrà eseguito non appena sarà possibile farlo.
Bene, vediamo come fare:

sudo nano /etc/cron.daily/trim

Creiamo un nuovo file chiamato trim all'interno di /etc/cron.daily, adesso scriviamo le seguenti righe:

#!/bin/sh
fstrim -v /

Ora salvate  premendo i tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.
Ora bisogna rendere il file appena creato eseguibile con il comando:

sudo chmod a+x /etc/cron.daily/trim

Riavviate il PC, da ora in poi TRIM verrà eseguito automaticamente una volta al giorno.

Un piccolo trucco per limitare le scritture sul SSD allo scopo di allungarne la vita:

Probabilmente saprete già che la longevità del vostro SSD è legata al numero di scritture eseguite. Effettuare spesso operazioni in scrittura ne accorcerà sicuramente la vita, ad esempio, una cosa da evitare, se si utilizza Windows, è la deframmentazione del disco!
Tornando ai sistemi GNU/Linux, un piccolo trucco per limitare le scritture su SSD è quello di disabilitare la scrittura della data di accesso ad un file. Per default, ogni volta si apre un file, il sistema operativo scriverà la data di accesso al file, questo si può disabilitare aggiungendo l'opzione "noatime" in /etc/fstab.
Dal Terminale digitiamo:

sudo nano /etc/fstab

Ora aggiungiamo l'opzione noatime per ottenere qualcosa di simile:

noatime, errors=remount-ro

Salvate con le solite combinazioni di tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.

Riavviate e godetevi a lungo il vostro SSD.

venerdì 8 novembre 2013

GNOME SHELL, guida veloce


Fin dalla prima release di GNOME Shell (o anche GNOME 3) ci sono state tante critiche su questo ambiente desktop, tante polemiche sulla mancanza di funzionalità e sulla scarsa possibilità di personalizzazione rispetto al predecessore, GNOME Panel (meglio conosciuto come GNOME 2).
Sarà davvero così? E' davvero così brutto GNOME Shell?
Ovviamente non esiste una risposta assoluta, dipende dai gusti e dalle esigenze personali, il mio giudizio è diametralmente opposto a quello dei denigratori di GNOME Shell, lo trovo molto bello da vedere, comodo da utilizzare e sufficientemente personalizzabile.
Lo avete mai provato? E' la prima volta che vi avvicinate al mondo GNU/Linux? Con questa guida vi presenterò le funzionalità di questo ambiente desktop e cercherò di motivare il mio giudizio.
La versione di cui vi parlo è la 3.8, quella presente di default su Ubuntu GNOME 13.10, non è la recentissima 3.10.

La scrivania pulita

Barra dei menù

Iniziamo a vedere come si presenta GNOME Shell appena installato.
Davanti a voi avrete la scrivania pulita, senza alcuna icona. In alto la barra dei menù con al centro la data e l'ora, a destra troverete le icone del controllo audio, lo stato della connessione alla rete, eventualmente lo stato di carica della batteria (se state utilizzando un portatile) e per finire il nome utente. Sulla sinistra invece troverete “Attività”.
Tutto qui, il look è decisamente pulito ed essenziale. Iniziamo ad analizzare gli elementi sulla barra dei menù:
  • data e ora: cliccandoci sopra verrà visualizzato un pannello con il calendario del mese e gli appuntamenti. Il calendario è direttamente collegato ad Evolution, l'applicazione di gestione e-mail e agenda. Se sincronizzate Evolution con il calendario del vostro account Google (o qualsiasi altro calendario online compatibile) potrete visualizzare gli appuntamenti direttamente su questo pannello. Da qui è anche possibile lanciare Evolution od aprire il pannello delle impostazioni “Data e ora”.



  • audio: l'icona del controllo volume da accesso ad un altro menù interattivo con il quale possiamo regolare il volume o aprire il pannello delle impostazioni “Audio”.
  • connessione alla rete: questa icona rappresenta lo stato della connessione, il suo menù interattivo permette di abilitare/disabilitare le connessioni disponibili (ad esempio via cavo o Wi-Fi) tramite degli interruttori stilizzati. Permette anche di selezionare la rete Wi-Fi alla quale collegarsi tra quelle disponibili. Anche questo menù vi permette di aprire il pannello delle impostazioni che, in questo caso, sarà quello di “Rete”.



  • nome utente: il nome utente ha al fianco un'icona dalla classica forma del fumetto che indica lo stato del nostro account online (fuori rete o disponibile). Cliccandoci sopra verrà visualizzato un menù dal quale possiamo fare molte cose:
    • cambiare lo stato del nostro account online;
    • abilitare/disabilitare le notifiche;
    • aprire le impostazioni di sistema;
    • accedere con un altro utente;
    • terminare la sessione (log out)
    • bloccare lo schermo (molto comodo se ci vogliamo allontanare dal PC e vogliamo evitare sguardi indiscreti in nostra assenza);
    • mettere il PC in stato di sospensione;
    • spegnere il PC (un pannello ci chiederà conferma e ci darà anche la possibilità di scegliere se spegnere definitivamente o riavviare).

Attività

Ho lasciato per ultimo “Attività” perché questa è la novità introdotta con GNOME Shell e sostituisce di fatto il menù delle applicazioni che gli utenti di GNOME Panel erano abituati ad utilizzare. Cliccando con il mouse su “Attività”, o semplicemente portando il mouse nell'angolo in alto a sinistra dello schermo, o da tastiera premendo il tasto “Super” (meglio conosciuto come tasto Windows, vedi questo post), si accede alla modalità “activity overview”. In questa modalità la funzionalità della barra dei menù rimane invariata, ma sulla scrivania verranno visualizzati diversi elementi che vado ad elencare:
  • sul lato sinistro dello schermo avremo una barra con le icone delle applicazioni preferite e di quelle in esecuzione, molto simile al “Dock” di OS X, chiamata “Dash”.
  • In alto al centro verrà visualizzato un campo di ricerca con il quale si posso cercare le applicazioni e/o altri file presenti sul nostro disco.
  • Sul lato destro dello schermo avremo un selettore degli spazi di lavoro. Inizialmente sarà parzialmente nascosto, basta andarci vicino con il mouse per farlo comparire completamente.
  • Al centro dello schermo verranno visualizzate le finestre delle applicazioni in esecuzione, saranno rimpicciolite ed allineate per visualizzarle tutte, in stile “Exposé” di OS X.
la modalità "Attività", sul lato sinistro la mia Dash personalizzata

Cercare e lanciare le applicazioni

La “Dash” di GNOME Shell funziona in modo simile al “Doc” di OS X, è il modo più veloce per lanciare le applicazioni che utilizziamo più frequentemente. Con un click sull'icona l'applicazione corrispondente viene avviata e si esce dalla modalità “Attività”. Inoltre è possibile trascinare le icone per metterle nell'ordine che preferiamo.
L'ultima icona in basso sulla Dash serve a mostrare sullo schermo le applicazioni disponibili sul nostro sistema, cliccando su un'icona lanceremo quell'applicazione. Se vogliamo aggiungere un'icona nella Dash, così da averla sempre a disposizione, basta cliccarci su con il tasto destro e selezionare “aggiungi ai preferiti”.
Quando vengono mostrate le icone delle applicazioni, in basso avremo la possibilità di scegliere se visualizzare solo le più frequenti o tutte.
Cliccando una seconda volta sull'icona “Mostra applicazioni” torneremo alla vista normale della modalità “Attività”.
Per finire, possiamo utilizzare la ricerca per trovare e lanciare l'applicazione desiderata. Io lo ritengo il metodo più veloce, a patto di conoscere il nome dell'applicazione che cerchiamo. Basta infatti iniziare a digitare le prime due o tre lettere del nome ed il risultato della ricerca sarà immediatamente visibile. Alcuni nomi delle applicazioni vengono localizzati in base alla lingua di sistema, comunque la ricerca avrà successo sia digitando il nome inglese, sia per quello in italiano.
Un esempio è “Software Update” che in italiano si chiama “Aggiornamenti software”, digitando “agg” o “upd” o ancora “sof”, la ricerca troverà comunque il programma per l'aggiornamento di sistema.
Ho letto molti commenti di gente che rimpiange il menù delle applicazioni e si lamenta del nuovo sistema, ma sinceramente non ne capisco il motivo, perché cercare tra le voci di un menù non è né più comodo né più veloce.

La ricerca di un'applicazione e molto comoda e veloce

Ricerca di altri file

Ovviamente la ricerca funziona anche per trovare i vostri file, cliccando sull'icona verranno aperti con l'applicazione “Documenti”, che è una sorta di anteprima dalla quale possono essere aperti per la modifica con i rispettivi programmi dedicati. Ad esempio, un documento di testo di LibreOffice verrà visualizzato in Documenti e potrà essere aperto con LibreOffice per modificarlo.
Volendo fare un altro paragone con OS X, la ricerca funziona in modo simile a Spotlight.

Muoversi tra le finestre e le applicazioni aperte

Un moderno ambiente desktop deve fornire un valido sistema per districarci tra le tante applicazioni aperte contemporaneamente con le altrettanto numerose finestre loro associate. Questo compito, in GNOME Panel, era affidato alla barra delle finestre posta alla base dello schermo, che è lo stesso principio che ha avuto Windows con la sua barra delle applicazioni. In GNOME Shell questo compito è affidato alla modalità “Attività”, che ci mostra velocemente tutte le finestre aperte sullo schermo, debitamente scalate ed allineate, per darci modo di selezionarne una e portarla in primo piano con un click, oppure per chiuderle. Funziona nello stesso identico modo in cui un utente Mac utilizza “Exposé”, ed io lo trovo estremamente comodo ed intuitivo. Portare il mouse nell'angolo in alto a sinistra dello schermo è un gesto veloce, possiamo dare un'occhiata a tutte le finestre aperte e cliccare su quella che ci interessa. Le finestre sono animate in tempo reale, quindi anche un video continuerà ad andare avanti mentre lo guardiamo scalato dalla modalità “Attività”.
Ovviamente tutto questo ha un costo in termini di risorse, su PC datati il tutto può risultare meno fluido e più lento nella risposta, ma resta a mio giudizio utilizzabile e comodo. Utilizzo GNOME Shell anche su un netbook, se ce la fa un Atom ce la può fare qualunque altro processore!
Per spostarci da un'applicazione ad un'altra c'è sempre la possibilità di farlo da tastiera con la combinazione di tasti Alt+Tab, anche questa è una funzione che utilizzo spesso, soprattutto quando devo muovermi spesso tra due applicazioni aperte.

le finestre aperte scalate e affiancate

Gestione spazi di lavoro

La gestione degli spazi di lavoro è affidata al selettore degli spazi di lavoro posto sulla parte destra dello schermo della modalità “Attività”. Inizialmente avremo la miniatura di una scrivania con le finestre delle applicazioni aperte, subito sotto ci sarà un'altra miniatura della scrivania vuota. Trascinando una finestra da una miniatura all'altra potremo organizzare le finestre aperte tra più spazi di lavoro. Quando spostiamo una finestra sullo spazio di lavoro vuoto, verrà aggiunta una nuova miniatura libera. In questo modo, spostando le finestre, potremo creare più spazi di lavoro.
Per spostarci da uno spazio all'altro basterà cliccare sulla miniatura oppure direttamente da tastiera con la combinazione di tasti Super+Pag.Su o Super+Pag.Giu.
Ovviamente, nella modalità “Attività” verranno mostrate tutte le finestre aperte dello spazio di lavoro selezionato, mentre non verranno mostrate le finestre presenti sugli altri spazi di lavoro.
Liberando uno spazio di lavoro da tutte le finestre lo eliminerà. Il funzionamento è estremamente intuitivo, è sicuramente più facile provarlo piuttosto che spiegare come funziona.
Tutto questo ha di fatto reso inutile la riduzione ad icona della finestra e di conseguenza il relativo pulsante che era posto nell'angolo in alto a destra. Il principio è semplice, se voglio nascondere dalla vista una finestra, la trascino in un altro spazio di lavoro, se la voglio vedere mi sposto sullo spazio di lavoro dove l'ho messa oppure la trascino di nuovo nello spazio di lavoro che sto utilizzando.

Sul lato destro ci sono gli spazi di lavoro, qui possiamo trascinare le finestre da uno spazio ad un altro

Area delle notifiche

E' una zona nella parte inferiore dello schermo dove compaiono le notifiche, quali ad esempio il collegamento di una periferica o la ricezione di un messaggio. Alcune notifiche possono essere interattive, ad esempio si può rispondere ad un messaggio direttamente dall'area delle notifiche, senza dover andare ad aprire un'altra finestra.
La suddetta area è a scomparsa, per renderla visibile nuovamente basta portare il mouse sul fondo dello schermo e muoverlo verso il basso. Nel caso di una notifica relativa alla connessione di una periferica, si può rendere visibile l'area delle notifiche per andare a smontarla.

In basso è visibile l'area delle notifiche, c'è Rhythmbox in esecuzione e ci sono dispositivi rimovibili montati

Impostazioni e personalizzazione

Eccoci arrivati ad uno degli argomenti più criticati di GNOME Shell: la personalizzazione. Per poter personalizzare il nostro desktop c'è un'applicazione dedicata che si chiama “GNOME Tweak Tool”, il nome in italiano è “Strumento di personalizzazione”. Dalla modalità “Attività” basta digitare “tweak” e lo troverete senza difficoltà. Questo programma ci presenta un gran numero di opzioni suddivise per categorie:
  • Digitazione
  • Estensioni della shell
  • File
  • Finestre
  • Mouse
  • Scrivania
  • Shell
  • Tema
  • Tipi di carattere
Dovrei scrivere diverse pagine per descrivere nel dettaglio tutte le opzioni, quindi mi soffermerò solo su quelle che ritengo più importanti.
Nella categoria “Digitazione” troverete tutte le opzioni che riguardano la tastiera e l'inserimento del testo.
La categoria “Estensioni della Shell” è il sistema che permette di aggiungere caratteristiche e funzionalità al desktop, le estensioni funzionano in modo molto simile a quelle dei browser internet.
Approfondirò questo argomento tra un attimo.
File”, “Finestre” e “Mouse” permettono di personalizzare alcune azioni e poco più.
In “Scrivania” potete decidere come gestire la scrivania che, di default è vuota e non ci si può mettere niente sopra. Attivando l'opzione “Indica se il file manager debba gestire la scrivania”, questa tornerà ad essere gestita come tutti sono abituati a fare, ossia ci si possono parcheggiare file e la si può popolare di icone. Le altre opzioni permettono di scegliere quali icone devono comparire sulla scrivania, tipo il cestino o le periferiche, ecc...
La categoria “Shell” ci da la possibilità di cambiare diversi aspetti del desktop, ad esempio come visualizzare la data e l'ora, gli spazi di lavoro, il comportamento del sistema quando chiudiamo il portatile, ecc...
In “Tema” possiamo modificare profondamente l'aspetto delle finestre, le icone, il puntatore del mouse e tutti gli elementi dell'interfaccia grafica, installando appositi temi. Tutto questo sarà possibile solo dopo aver abilitato l'estensione “User themes” nella categoria “Estensioni della shell”.

GNOME Tweak Tool

Estensioni della Shell

Le estensioni della shell permettono di aggiungere funzionalità o modificare le caratteristiche dell'ambiente desktop secondo le proprie esigenze. Nella categoria “Estensioni della shell” ne troveremo diverse preinstallate, sarà quindi possibile attivarle, disattivarle o modificarne le opzioni se presenti.
Oltre alle estensioni fornite con l'installazione di base, sarà possibile installarne di nuove direttamente dal sito dedicato. In fondo alla lista delle estensioni installate troverete la scritta "Recupera più estensioni", che è il link al sito.
Anche il sistema di installazione è molto semplice, sul sito infatti, nella pagina dedicata all'estensione scelta, troveremo in alto a sinistra un pulsante di tipo switch simile a quelli che troviamo nell'interfaccia grafica di GNOME. Dopo aver attivato il pulsante con un click, ci verrà chiesta la conferma per il download e l'installazione, in pochi istanti sarà installata e funzionante sul nostro desktop.
Tutti coloro che desiderano una funzionalità mancante o che vorrebbero modificare una caratteristica dell'ambiente possono cercare l'estensione che fa al caso loro, o magari svilupparla personalmente.
Per farvi qualche esempio tra le estensioni preinstallate:
Volete il menù delle applicazioni in stile GNOME Panel? C'è, basta attivarlo.
Un altro menù che trovo comodo e aggiungo sempre è quello per i dispositivi rimovibili. Se collegate una penna USB od un hard disk esterno, potrete selezionarli o espellerli tramite un apposito menù.
Io ho trovato molte estensioni utili che completano GNOME Shell e non lo reputo di certo un ambiente rigido o non personalizzabile.

Conclusioni

Quando ho provato per la prima volta Unity non mi ha affascinato, nonostante tutto l'ho utilizzato per più di un anno. GNOME Shell invece mi è piaciuto da subito e non sono più tornato a Unity o ad altro. La mia esperienza personale con gli ambienti desktop viene da circa 10 anni di OS X, l'ho utilizzato fin dalla prima versione, ed alcune caratteristiche di GNOME Shell sono chiaramente inspirate ad esso.

In questi anni ho visto migliorare GNOME Shell (e forse un po anche peggiorare OS X) ed adesso lo ritengo il migliore ambiente desktop per eleganza, semplicità e comodità d'uso. Se non lo avete mai provato vi consiglio di farlo, possibilmente per un periodo abbastanza lungo per conoscerne tutte le funzioni, anche quelle più nascoste.