Sei sulla pagina 1di 98

FAQ: OpenStreetMap Crea un server per gestire gli ebook Circuiti elettrici con Shrimp

Diventa protagonista nel mondo Linux

Pro

Android

Rendi davvero sicuro


il tuo smartphone!

Tariffa R.O.C. - Poste Italiane Spa - Abb. Post. - D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma 1, S/NA - Distributore: Press-Di, milano

CREA IL TUO DESKTOP


Basta ambienti precotti,
arrivato il momento
di realizzarne uno tuo:
veloce, leggero
o ricco di funzioni...
a te la scelta!

Inoltre
12 pagine di pura programmazione

Accademia
del codice

OCaml Grafici con la programmazione a oggetti


HTML5 Costruisci un player multimediale
Grunt Automatizza la scrittura del codice JavaScript
Linux Pro 142 - 2014 - Mensile - 5,90 - CHF 13,60

Il Web con LAMP

Tutto ci che ti serve per


creare un sito Internet casalingo

Android full optional


Libera la vera potenza del tuo smartphone
installando la ROM CyanogenMod

I miniPC del futuro


Trasforma il NUC di Intel in un media
center con GNU/Linux e XBMC

A tutto Torrent

Usa Deluge per creare la


macchina da filesharing perfetta

DOMINIO | MAIL | HOSTING | SERVER

SEMPRE UN PASSO AVANTI:

1&1
SERVER
CON AMD OPTERON 6338P
TM

69,
A partire da

99

Perch scegliere 1&1:


25 anni di esperienza
7 data center di propriet

/mese
IVA escl.*

Pi di 70.000 server
19 milioni di domini registrati
6.500 dipendenti di cui
1.900 sviluppatori

OFFERTA!
1&1 OUTLET SERVER L 2

19,99

A partire da

/mese
IVA escl.*

NOVIT!

1&1 Server Dedicato o12A-32 con il nuovissimo processore AMD OpteronTM 6338P a 12 core,
2x 2 TB di Hard Disk (software RAID) e componenti hardware esclusivi per server!
AMD OpteronTM 6338P
12 core
2,3 GHz
32 GB o 64 GB di RAM

MESE

CLIC

TELEFONATA

DI PROVA DEI
NOSTRI PRODOTTI

PER CAMBIARE
PACCHETTO

E PARLERAI CON
UN ESPERTO

2x 2 TB HDD (software
RAID) o 2x 4 TB HDD
(hardware RAID)
Parallels Plesk Panel

Architettura a 64 bit
In pi, a scelta, 2x 240 GB
SSD Intel S3500 a
20 /mese IVA escl.*

800 977313
(numero verde)

*1&1 Server Dedicato o12A-32 a partire da 69,99 /mese IVA escl. (83,29 IVA incl.) e 1&1 Outlet Server L 2 a partire da 19,99 /mese IVA escl. (23,79 IVA incl.) con 30 giorni
di prova soddisfatti o rimborsati al 100% e contratti rispettivamente di 24 e 12 mesi. SSD Intel S3500 240 GB a 20 /mese IVA escl. (23,80 IVA incl.) in aggiunta al prezzo
di 1&1 Server Dedicato o12A-32. Maggiori informazioni sul sito 1and1.it. 1&1 Internet AG, Elgendorfer Str. 57, 56410 Montabaur, Germania.

MAPIT1406S1P_207x285+5_KB_46L.indd 1

1and1.it
16.05.14 10:00

Editoriale

Il mix perfetto
Dopo la serie di argomenti di copertina
piuttosto tosti pubblicata negli ultimi
numeri, questo mese abbiamo messo a riposo
i nostri esperti di sicurezza, networking
e stampanti 3D per tornare a parlare di desktop.
No, non preoccupatevi, non stiamo per dirvi
che questo sar lanno del desktop Linux, ormai
ci abbiamo rinunciato anche noi (forse)...
Dalle mail che arrivano in redazione o dai
messaggi che leggiamo nelle mailing list dei LUG
ci sembra di scorgere un certo numero di nuovi
utenti del Pinguino. Sono due i principali dubbi
che assalgono chi muove i primi passi in questo
mondo: quale distribuzione scegliere e quale
ambiente grafico adottare. Nel primo caso
vi proponiamo su DVD una delle migliori
alternative per i principianti: OpenMandriva LX.
La sua storia piuttosto travagliata, ma nel
tempo una cosa rimasta immutata:
la semplicit duso dei suoi strumenti.
Non spendiamo per altre parole
sullargomento: infilate il DVD allegato
nel lettore ottico e provate voi stessi questa
distribuzione. Molte pi informazioni sul secondo
punto, gli ambienti grafici, le trovate invece
a partire da pagina 8. Abbiamo preparato una
panoramica completa sui desktop pi diffusi,
mettendone in evidenza pro e contro. In questo
modo potrete scegliere quello che pi si adatta
alle vostre esigenze e, con poco sforzo,
prendere il meglio di ognuno di essi e installarlo
nella vostra distro (per questo date unocchiata
anche al Confronto di questo mese). Il secondo
argomento forte di questo numero riguarda

due sistemi operativi per smartphone e tablet,


Android e Firefox OS. Al primo dedichiamo
un articolo che spiega come blindare il sistema
cos da salvaguardare la vostra privacy e i dati.
Vi sveliamo poi il dietro le quinte di
CyanogenMod, forse lalternativa pi popolare
ad Android stock. CyanogenMod nasce con
lo scopo di creare un sistema totalmente libero
senza per costringere lutente a rinunciare
a qualcosa. Lo abbiamo provato e ci sembra
che lobiettivo sia stato raggiunto alla perfezione.
Altrettanto libero e basato su standard aperti
poi anche Firefox OS: se non lo conoscete,
ne abbiamo ripercorso la storia e le motivazioni
che hanno portato alla sua nascita. Tutto questo
condito con un buon numero di tutorial
che spaziano dalla creazione di un server
per lo scaricamento automatizzato dei torrent
alla piattaforma LAMP, passando per HTML5
e JavaScript. Insomma, pensiamo di aver creato
il solito mix di articoli in grado di soddisfare
la vostra fame di informazioni. Ah, aspettate,
ci giunge voce che eBay ha subito un attacco
e raccomanda a tutti di cambiare la password
daccesso... di questi tempi non c pace per
chi si occupa di sicurezza. Quindi vi ripetiamo
il solito mantra, tanto per vivere pi tranquilli:
aggiornate i vostri sistemi, scegliete delle parole
chiave robuste e cambiatele spesso.
Non ci rimane che augurarvi una buona lettura!

contatti
Domande alla redazione: redazione@linuxpro.it
Abbonamenti: abbonamenti@myabb.it

Ora trovi
Linux Pro
anche
su Android

Arretrati: arretrati@linuxpro.it
Problemi con il DVD: aiutocd@sprea.it
Sito Web: www.linuxpro.it
Oppure inviate le vostre lettere a:
Linux Pro, Sprea Editori S.p.A.,
Via Torino 51, 20063 Cernusco S/N
Telefono: 02.92432.1
Linux pro 142

LXP_142_01_editorale 1

27/05/14 14:45

Sommario

Sommario
linux pro 142

LINUX

Pro

Benvenuti nel centoquarantaduesimo numero di Linux Pro, la vostra guida definitiva a Linux e al mondo Open Source

In primo piano

createvi il desktop
ideale

Lo staff di Linux Pro vi guida tra alcuni dei migliori ambienti


desktop in circolazione per aiutarvi a scegliere, installare
e modificare il pi adatto alle vostre esigenze

ABBONATI ALLA

VERSIONE DIGITALE
solo per PC e Mac

A SOLI

14,90

DURATA ABBONAMENTO 1 ANNO

06 Domande e risposte su OpenStreetMap


2

www.myabb.it/digital

Linux pro 142

LXP_142_02_03_sommario 2

26/05/14 17:56

Sommario
04 Newsdesk
06 FAQ: OpenStreetMap
Un utilissimo servizio collaborativo
di mappe Open Source

15 luglio

60 Calibre
Create un server per i vostri ebook
con questo software di catalogazione

Individuate, installate e modificate quello


pi adatto alle vostre esigenze

16 Il turbo ad Android

68 Gentoo
Una distribuzione ultra-personalizzabile
per un sistema come volete voi

72 Git

CyanogenMod trasforma alla grande


il vostro smartphone

Con Gitweb e Gitolite prendete il controllo


completo dei vostri repository

20 Android sicuro
Mettete in sicurezza i vostri dispositivi

76 LAMP

24 Firefox OS

Mettete in piedi un hosting casalingo


per lavorare su piattaforme diverse

Alla scoperta del sistema operativo


di Mozilla per svelarvi i suoi piani futuri

80 Shrimp

28 Trucchi per sysadmin


Lo strumento Bleachbit e lavvio
demergenza

Imparate a costruire circuiti in modo


facile con una breadboard

Accademia

32 I giganti in miniatura

82 OCaml

Un vero PC in pochi centimetri

Langolo di Android

Un linguaggio di programmazione dalle


elevate prestazioni per disegnare grafici

Le novit in campo Android

41 Fonepad Note FHD 6


Il nuovo phablet di Asus

Italo Vignoli di Document Foundation ci parla del LinuxDay 2013 Usare iSCSI

La mappa dei LUG italiani

Trisquel

Scroprite come usare Gramps per creare un albero


genealogico e ricostruire la storia della vostra famiglia

Cambia desktop!

Le applicazioni Web sono pi veloci,


scalabili e sicure se usi MariaDB

lightworks

Effetti speciali e strumenti per lediting


professionale a tua disposizione
LXP_133_cover 3.indd 1

Inoltre

Il futuro dei dispositivi


mobili sempre
pi Open Source

Linux Pro 133- Mensile - 5,90 - CHF 13,60

Il database perfetto

gnome 3

Accedi alle opzioni avanzate


con Frippery e Gnome Tweak Tool
17/09/13 14:41

La libera Trisquel
La distro campionessa nella battaglia per il Free Software

a linea che divide il pragmatismo


dallideologia sempre sottilissima
e il progetto Trisquel GNU/Linux
forse lunico che riesce a percorrerla senza
mai ondeggiare. Trisquel sicuramente
la distribuzione pi usabile tra quelle che
aderiscono in toto alle severe linee guida
della Free Software Foundation (FSF) e non
altera la versatilit di cui lutente finale gode. Il
progetto Trisquel stato avviato da un gruppo
di studenti dellUniversit spagnola
di Vigo, con lobiettivo di creare un sistema
didattico con supporto per la lingua galiziana.
Ben presto lopera diventata talmente vasta

da superare lo scopo iniziale e portare


a un vero e proprio sistema operativo
multilingue. Trisquel GNU/Linux ha visto la luce
ufficialmente nellaprile del 2005, quando
Richard Stallman lha presentata al mondo
intero. Il cuore della distro la vastissima
comunit internazionale di appassionati, guidata
da un personaggio carismatico qual Rubn

Rodrguez. Proprio Rodrguez, parlando


alla platea presente a LibrePlanet 2013
in Massachusetts, ha affermato che la
distribuzione di Software Libero una grande
responsabilit: I vostri utenti, oltre a credere
in voi, si fidano delle vostre capacit
e si aspettano che rispettiate la loro libert.
Noi, continua Rodrguez, non usiamo
il termine distro come unarida
definizione tecnica per descrivere una
versione di un software. La parola
distribuzione qualcosa che implica
la massima responsabilit verso chi
ci segue e usa Trisquel.

Lo sviluppo di software
libero porta con s una
grande responsabilit

Per un occhio inesperto, Trisquel potrebbe sembrare una


copia di Ubuntu, eccetto che per lesclusione dei pacchetti
non free che non rispettano le rigorose politiche sul Software
Libero rilasciato sotto licenza GNU. Rodrguez, per, pronto
a ribattere che le apparenze ingannano. Se si vuole
semplificare il concetto di distro free, pensando che sia
sufficiente estrarre il materiale non libero da una piattaforma
come Ubuntu, si commette un grosso errore di fondo. Andare
alla ricerca di tutto ci che non rispecchi le regole del
Software Libero in una distribuzione di per s gi funzionante,
non un gioco da ragazzi. Nellestrazione di ci che non
si vuole mantenere, il rischio di fare dei danni altissimo.
Rodrguez porta come esempio il caso del kernel Linux-libre,
sul cui progetto basato Trisquel. Per chi non lo conoscesse,
Linux-libre un kernel portato avanti dalla Free Software
Foundation Latin America (FSFLA) e consiste nel fornire una
versione di Linux completamente libera da qualsiasi codice
non free. Il concetto dietro cui si muove Trisquel, quindi,
proprio questo: prendere una distro, analizzarla fin nei
minimi dettagli ed estrapolare tutto ci che ha una licenza
proprietaria, sostituendolo con una controparte totalmente
libera. A parole un proposito che potrebbe sembrare tanto
semplice, quanto ideologico, ma allatto pratico il progetto
non indenne da difficolt. Uno degli aspetti pi critici,
sta proprio nel garantire agli utenti che la sostituzione

di un contenuto non free con il suo omologo libero, non


danneggi il corretto funzionamento della distro. Lesempio pi
lampante riguarda i driver. Quando ce ne sono due versioni,
una proprietaria e laltra free, la maggior parte delle
distribuzioni, come Ubuntu e Fedora/Red Hat, scelgono
la prima. Nel momento in cui si decide di sostituirla con
il driver free, bisogna assicurarsi che il componente cui
legata e da cui dipende la sua corretta gestione continui a
operare senza problemi. Il team di Trisquel, per, non si limita
a sostituire porzioni di codice o software con le controparti
free, ma cerca soprattutto di apportare delle migliorie alle
aree in cui opera. Jonathan Nadeau dalla FSF, per esempio,
ha collaborato con gli sviluppatori di Trisquel per rendere
la distro pi accessibile agli utenti con problemi di vista.
In effetti basta dare unocchiata a Trisquel 6.0 per rendersi
subito conto di come le caratteristiche di accessibilit siano
davvero ottime. Di default, infatti, il desktop pu sfruttare
le peculiarit di Orca, lapplicazione che mediante un sapiente
mix di ingrandimenti, sintesi vocale e sistema di scrittura
braille, consente agli ipovedenti di usare facilmente le funzioni
della distro. Sul fronte dellusabilit, unaltra miglioria nel
desktop di Trisquel sta nellapproccio intuitivo con cui accoglie
i nuovi utenti. A onor del vero, ricorda molto da vicino
Windows ed proprio Rodrguez a confermare questa
impressione, affermando che non c niente di male
a prendere spunto dalle idee che funzionano.

Lambiente grafico
di Trisquel ricorda
da vicino quello
di Windows. La barra
degli strumenti,
infatti, ne lesempio

Trisquel 6.0 lultima versione della distro basata


su Ubuntu 12.04. Come per questultima, la 6.0
rappresenta la versione Long Term Support (LTS)
e offrir la correzione dei bug e gli aggiornamenti
per la sicurezza fino al lontano 2017. Laspetto
migliore sicuramente la sua interfaccia desktop.
Anche se la distribuzione viene eseguita
su GNOME 3.4, gli sviluppatori - per i motivi che
potete leggere nellarticolo - hanno deciso di
ripiegare su un ambiente destkop pi tradizionale.
Nelledizione principale, trovate LibreOffice 3.5
e il formidabile Abrowser 19, un programma
derivante da Mozilla Firefox che stato ritoccato

per rimuovere il logo e i richiami a qualsiasi


software di natura non libera. Al posto del plug-in
Flash che lavora sotto licenza proprietaria, stato
usato il player multimediale gratuito Gnash, che
pu riprodurre senza inconvenienti video HTML5
e visualizzare i file PDF senza alcun add-on.
Per installare software aggiuntivo potete utilizzare
Synaptic, oppure sfruttare il gestore di pacchetti
della distro. Non mancano poi altri esempi
di software free come VLC Media Player, per
riprodurre video e musica. Se volete installare
software proprietari come per esempio Skype,
potete farlo tramite Synaptic. Bisogna per

ricordare che Trisquel non integra alcun tipo


di supporto per i driver non liberi e quindi il loro
utilizzo potrebbe minare la stabilit del sistema
e dare luogo a malfunzionamenti. Detto questo,
ellaavuto
maggior
parte
casi,
noi non abbiamo
problemi
a fardei
lavorare
Trisquel sulle le
nostre
macchine, riscontrando
conoscenze
familiari non vanno oltre
un notevole miglioramento nel panorama
qualche grado di parentela. Quando
dei driver free. Linstaller, infine, una versione
per si
inizia che
a scavare
ricerca degli avi
modificata
di quello
trovate sualla
Ubuntu.
La sua
uno che
dei sistemi
piparticolarit
lontani odidiessere
parenti
hanno trovato
dinstallazione pi semplici da usare per chi
fortuna in altri paesi in epoche passate,
proviene dal mondo desktop ne ha fatto
le coseprincipale
si complicano
non
poco. Quali
il candidato
per luso in
Trisquel.

sono le origini della famiglia? Dove


vivevano? Da dove
deriva
vostro
LINUX
PROil133
17
cognome? La genealogia lunica scienza
che pu dare risposta a queste domande,
catalogando, ricercando e studiando tutti
i legami famigliari che si sono evoluti nel
LINUX PRO 133

considerare alcune buone pratiche di ricerca e dedicare un paio


di minuti a tracciare le linee base del vostro albero genealogico,
seguendo tre semplici e veloci passaggi:
1 Ricerca: trovare tutte le informazioni inerenti alla vostra
famiglia, partendo magari dal luogo in cui i vostri avi vivevano
o si sono sposati.
2 Registrazione: prendere scrupolosamente nota di qualsiasi
informazione che trovate.
3 Pubblicazione: realizzare documenti e relazioni che potete
condividere facilmente con altre persone.
Quasi sicuramente, la ricerca e la registrazione saranno fonte
di numerose informazioni e quindi dovrete dedicargli pi tempo.
La regola doro della genealogia rimane comunque una: fare
in modo che tutti i documenti raccolti siano verificabili e oggettivi.
Chiunque pu creare un albero genealogico basato su
supposizioni e prove soggettive. Ben diverso, invece, fare
affidamento su riscontri scientifici. Per fortuna Gramps vi render
la vita molto pi semplice, perch il suo compito proprio
ottimizzare lorganizzazione dei lavori di ricerca, registrazione
e pubblicazione, diventando cos un insostituibile assistente.

I primi passi
Alla fine di questo articolo, creerete un albero genealogico
di esempio della famiglia Rossi, ma ovviamente lintento darvi
sufficienti informazioni per usare il programma ricostruendo
la vostra genealogia. Dopo aver lanciato Gramps, fate click
su Alberi genealogici e poi sul pulsante Nuovo, quindi
aggiungete il nome Famiglia Rossi. Adesso selezionate Carica
albero genealogico, in modo che venga mostrata la finestra
principale. Sulla sinistra sono presenti un elenco di categorie,
ad esempio Persone, Relazioni, Famiglie e molte altre. Quando
cliccate su una di esse, la visuale e la barra degli strumenti cambiano
per riproporre le opzioni dedicate al menu che avete scelto. Per
creare un albero genealogico si pu partire da qualsiasi parente,
ma nel vostro caso inizierete da Giovanni Rossi, lultimo della famiglia.

Create una fonte


Il primo elemento da cui partire anche il pi semplice. Baster
infatti intervistare lultimo esponente della famiglia, da cui poi
documenterete le parentele pi prossime. Se siete voi stessi,
baster che facciate affidamento sulla memoria e vi auto
intervistiate. Selezionate la voce Fonti presente nel menu
di sinistra, quindi selezionate licona a forma di +, denominata
Aggiungi. Si apre cos leditor della nuova fonte, in cui inserire
tutte le informazioni che otteniamo nel colloquio con Giovanni.
Nel campo Titolo scrivete Intervista a Giovanni Rossi e in autore
inserite Giovanni Rossi. In pratica vi state auto intervistando.
Nel campo Note scrivete tutte le informazioni rilevanti che

Usare Trisquel 6.0

24

LXP_142_02_03_sommario 3

Gramps

Genealogia fai da te

Ubuntu libero?

Tizen

abbiamo omesso per errore lautore dellarticolo


sulle stampanti 3D, cio Roberto Premoli

Gramps

Trisquel

Ruby on Rails Il framework Web senza difetti


Firefox OS Scopri lemulatore e le sue API
Android Gestire texture e touchscreen con OpenGL
Concetti Le basi della programmazione a oggetti

AVM Fritz!Box 3390

11:54

Prova la tua rivista anche in dioitale


digitale

Streaming audio
e video in casa

6 antenne per la massima velocit wireless


a 2,4 e 5 GHz in contemporanea

14/05/14

.indd 1

ustinaDVD

LXP142_b

90 JavaScript

L'Accademia del Codice


ti svela tutti i misteri
dell'arte del coding

Scopri Trisquel, la distro pi fedele


ai dettami del Free Software

RE
E SOFTWA VER
E SER
RA DEL FRE
I DI RETI
LA BANDIE
LI ESPERT
SCELTA DAG

126
LINUX PRO 142
LINUX PRO

Uninterfaccia personalizzata per i vostri


file multimediali

Raspberry Pi

programmare!

8 GB

LATO B
IAN
distribuzioni
DEBN
LI UX 7.5
GNU/15
Linux Mint
Cinnamon
2014.0
NDRIVA
OPENMA
Linux Mint
15 Mate
Parted Magic
Quando trovi
questo bollo
Quando
trovi
negli
articoli,
PRO
questo bollo
cerca
dentro il
negli
articoli,
il software
PRO
cerca
nel
DVD
dentro il
il software
Errata
nel
DVDcorrige Nel numero scorso

94 Leco dei LUG

43 I test del mese

Scegli lambiente grafico giusto


per look e funzionalit!

PRO

PRO

Automatizzate i processi ripetitivi

Recensioni

Libert pura

LINUX LINUX

vi nel
Cosa tro

86 HTML5

40 News

Pro

LATO A
Distribuzioni
distribuzioni
desktop
OpenMandriva
2014.0
Fedora 19 (32
Mednafen
0.9.28
bit)

Parcellite
Desktop
1.1.3

1.6
Nixnote
distribuzioni

Mageia
grafica
3 (32 bit)
Tupi
0.2UTM
Sophos

Rivista
Untangle
LATO
B 9.4 (32 e 64 bit)

1.0
BleachBit
giochi
distribuzioni
PokerTH
FlightGear
2.112.1
Deft 8 1.0.
FreeMind

internet
IPFire
2.131.0.1
Firefox
Gmrun
0.9.2
Salix Xfce
21
14.0.1

Gnome-Do
0.95.1
ProFTPD
GIOCHI1.3.4d
Gnome-Pie

programmazione
Ayon

Homerun
RIVISTA0.2.3
CPPCheck
1.60.1
Kupfer
Codice desempio
GTKDialog
0.8.3 Android
LiteIDE
Codice
MuseScore
1.3

rivista
desempio
Raspberry
Codice
Nightingale
1 Ruby 1.1.0
Ardour3desempio
3.21.12.Avogadro
Codice
Pandocdesempio
1.12.4 Android
tutorial
Sysadmin
BurgerSpace
PyCharm
3.1.3
Codice tutorial
1.9.2
Ruby
NetHogs
TrueCrypt
7.1a 1.2.0 beta2
Erebus FatRat
0.8.0
OCRFeeder
Xowa
Safe-rm 0.100.7.
1
0.6.2
LATO B
PushOver
Plan 9 Raspbian
0.0.5
Distribuzioni
QMMP
Arch Linux
0.7.1RP
Debian GNU/Linux 7.5
Android RP Risc OS

Configurate una stazione di condivisione


file semplicemente con Deluge

08 Il Desktop ideale

Diventa protagonista nel mondo Linux

IL DVD in breve

64 Torrent

Approfondimenti

Tariffa r.O.C. - POsTe iTaliane sPa - abb. POsT. - D.l. 353/2003 (COnv. in l. 27/02/2004 n. 46) arT. 1, COmma 1, DCb milanO - DisTribuTOre: Press-Di, milanO

NUMER

Tutorial

Le novit del mondo Open Source

AccAdemiA
del codice

O
IL PROOSESSICM
E IL

tempo. In definitiva unattivit di ricerca


intensiva, accurata e che richiede non solo
molta pazienza, ma anche capacit di sintesi
e analisi non comuni. Quando le informazioni
iniziano a essere molte e le fonti a sovrapporsi
tra loro, blocco note e penna non bastano pi.

Ecco quindi che entra in campo Gramps,


un programma Open Source che vi aiuta nella
ricostruzione del vostro albero genealogico.
Compatibile con Linux, Mac e Windows, oltre
a essere disponibile per diverse distribuzioni,
lo troviamo alla pagina ufficiale http://grampsproject.org/download/. Gramps
stato creato da genealogisti
di professione che, grazie alla loro
lunga esperienza nel settore
della ricerca, hanno dato vita a un
programma altamente affidabile.
Prima di iniziare, per, opportuno

Gramps stato creato da


genealogisti di professione ed
quindi affidabile e preciso

Cartella dedicata
Quante pi persone aggiungete allalbero genealogico,
maggiori informazioni dovete inserire. Tra queste, le foto
di ogni parente sono molto importanti per accomunare
un nome a un volto e quindi ricordare ancora meglio i dati
importanti. Gramps non memorizza le immagini, ma solo
il percorso scelto nel momento in cui le avete aggiunte.
Per evitare di perdere tempo nel cercarle tra gli anfratti
dellhard disk, vi consigliamo di dedicare una cartella
alle sole foto da utilizzare. Ricordate: essere precisi
il miglior approccio alla ricerca genealogica!

Intervista

emergono, quindi premete il pulsante OK per confermare.


In qualsiasi momento se ne presentasse la necessit, potrete
sempre modificare lintervista facendo doppio click sulla scheda
Intervista a Giovanni Rossi che trovate sotto la voce Fonti.

Aggiungete una persona


Al centro di ogni albero genealogico ci sono sempre le persone,
quindi aggiungete il vostro personaggio principale. S, avete
indovinato, sempre lui: Giovanni Rossi. Visto che tutte
le informazioni che avete in mano derivano dallintervista fatta
a Giovanni, dovete spostare la vostra fonte in una sezione
di Gramps dove poter condividere i dati anche da altri punti
di vista. Nella barra degli strumenti premete Appunti per aprire
lomonima finestra, quindi spostate al suo interno la scheda
Intervista a Giovanni Rossi che avete nel menu Fonti. Visto
che la sorgente ora memorizzata negli appunti, potete anche
chiudere la finestra. Adesso selezionate il menu Persone
e premete il pulsante Aggiungi presente nella barra degli
strumenti. Immettete quindi i seguenti dati:
Nome: Giovanni
Cognome: Rossi
Sesso: Maschio
A questo punto necessario citare le fonti da cui sono state
ottenute le informazioni. Cliccate sulla scheda Citazione fonti
quindi, dalla barra degli strumenti di Gramps, selezionate
la funzione Appunti, aprendo cos la finestra dove avete
precedentemente importato le informazioni ottenute
dallintervista di Giovanni. Trascinate Intervista a Giovanni Rossi
nel campo Citazione Fonti, in modo da aprire unulteriore scheda
dedicata. Nella parte inferiore, titolata Fonti informazioni
condivise, notate come siano gi presenti i dati dellintervista.
Nella zona superiore, invece, avete a disposizione nuovi campi
da riempire. Potete aggiungere la data in cui stata fatta
lintervista e il livello di confidenza che si attribuisce alle
informazioni ottenute. Mettete quindi Molto alta. Adesso,
per dare vita allalbero genealogico, opportuno aggiungere
una foto di Giovanni. Sempre nel menu Persone di Gramps,
fate doppio click sulla scheda Rossi, Giovanni, quindi entrate
in Galleria. Premete licona a forma di + sinonimo di Aggiungi
e cercate nel vostro disco fisso una foto da associare alla cartella
di Giovanni. Ricordate poi di aggiungere le note sulla provenienza
dellimmagine nella scheda Citazioni fonti, presente nellEditor
riferimento oggetto multimediale.

Intervista

il giorno
del pinguino

Mediante lopzione
Vista ascendenza,
avete una visuale
chiara del diagramma
genealogico

l'innovazione il tema centrale del Linux Day 2013


Ce ne parla Italo Vignoli, fondatore e consigliere
di The Document Foundation

ome ogni anno, il Linux Day, che si


terr a ottobre, propone un argomento
cardine su cui ruota tutta l'intera fiera
di eventi. Ed nel 2013 che
l'innovazione sar al centro dei dibattiti
come elemento distintivo del Software Libero,
accendendo i riflettori sul motore dello
sviluppo di una comunit in continua crescita.
S, perch nonostante GNU/Linux sia parte
integrante del Web e di moltissime
infrastrutture enterprise, tanto da essere punto
di riferimento per linnovazione tecnologica,
nella vita quotidiana c ancora molta
difficolt ad avvicinarsi a una realt spesso
erroneamente percepita per soli addetti ai
lavori. Ecco quindi che il Linux Day 2013 vuole
essere uniniziativa rivolta a far conoscere
a tutti le potenzialit del Free Software,
che in Italia sono ancora unopportunit quasi
del tutto inesplorata. A parlarne con Linux Pro
c' Italo Vignoli, profondo conoscitore
del tema e fondatore e consigliere della
Document Foundation. Infine un messaggio
rivolto ai numerosi LUG che parteciperanno al
Linux Day: scriveteci a redazione@linuxpro.it
e raccontateci cosa avete fatto! Per conoscere
la mappa degli eventi, potete collegarvi alla
pagina www.linux.it/eventi o visitare il sito
www.linuxday.it, dove troverete tutte
le informazioni sulla manifestazione.
LXP: Raccontaci del tuo percorso dai primi
passi nel mondo del Free Software fino
ad arrivare alla Document Foundation.
IV: tutta colpa, o merito, di Outlook. Io sono

20

e non sar certo lultimo). Intorno al 2000,


ho cominciato a cercare unalternativa
a MS Office, perch ero veramente stufo della
pervasivit di Outlook - che faceva sentire
la sua presenza anche se non era installato
- e della scarsa qualit degli altri programmi,
e in particolare di Word e PowerPoint (non
sono mai stato un grande utente di fogli
elettronici). Nel 2001, ho visto lannuncio
di OpenOffice.org e ho iniziato a utilizzarlo,
nonostante la versione 1.0 fosse veramente
acerba. La situazione, per, migliorata
sensibilmente con la versione 1.1, al punto
da poter cominciare a sostituire MS Office
in un numero sempre maggiore di occasioni.
Peraltro, la frequentazione - seppure
a distanza - della comunit mi ha fatto
comprendere come mancasse una strategia
di marketing e comunicazione in grado di far
conoscere il prodotto a un numero pi ampio
di utenti potenziali. Nel 2003, mi sono iscritto
alle mailing list e ho cominciato a intervenire,
e nel 2004 sono entrato nel progetto come
responsabile marketing per lItalia. Ho iniziato
immediatamente a scontrarmi con Sun, pi
che unazienda un caso umano, e con alcuni
membri lungimiranti della comunit che

chiamato cos), che - a pi di tre anni di distanza


- pu essere considerato un successo.
Nellestate del 2010 ho lavorato a tempo pieno
allannuncio, poi - come se niente fosse - sono
andato a Budapest per la conferenza
di OpenOffice, durante la quale c stato
lincontro definitivo che ha sancito la nascita
di The Document Foundation. Il 28 settembre
dello stesso anno sono stato colui che ha
fisicamente premuto il pulsante di lancio
del comunicato stampa che annunciava
la nascita del progetto, e da quel momento
sono sempre stato il responsabile del marketing
e della comunicazione e il principale portavoce
del progetto.

LXP: Il Linux Day di questanno sar basato


sullinnovazione, un argomento vastissimo
e che include la volont di rimanere
al passo con i tempi, fornendo sempre
nuovi sviluppi. Quali sono, secondo
te, i passi che il mondo Linux deve
ancora compiere per continuare
a puntare al futuro?
IV: In realt, il mondo Open Source gi
fortemente impiantato nel futuro, tanto che
la quasi totalit dei telefoni cellulari di ultima
generazione utilizza
un sistema operativo
SEmPRE AL PASSO COn I TEmPI
che deriva da Linux
(Android, ma anche
iOS, che ha radici
FreeBSD), la totalit
degli elettrodomestici
intelligenti e dei
sistemi di domotica
utilizza Linux Embedded (o qualcosa di molto
consideravano il marketing del tutto inutile,
ma questo non mi ha fermato: la combinazione simile), la maggior parte delle auto dotate di
computer di bordo usa sempre Linux Embedded
tra la qualit del prodotto e unazione
(ve lo immaginate Windows su un sistema
di marketing aggressiva ha portato OOo
frenante?), e infine quasi tutti i supercomputer
a raggiungere una quota di mercato
e un numero sempre pi ampio di server
superiore al 10% in Italia (i dati sono stimati)
utilizzano Linux. Inoltre, non bisogna dimenticare
e un ruolo sempre pi visibile sul mercato.
la spinta che ha dato allinnovazione il modello
A partire dal 2006, dalla conferenza di Lione,
dello sviluppo collaborativo tipico della comunit
ho iniziato a contribuire al marketing
del Software Libero. Oggi, non esiste una sola
internazionale, tanto che nel 2008 sono
azienda in grado di sostenere che il modello
diventato uno dei leader del team con la
di sviluppo chiuso superiore, dopo che anche
supervisione del budget. In questo modo, ho
IBM e Microsoft - la prima ha inventato
iniziato a conoscere un numero sempre pi
il concetto, e la seconda lo ha perfezionato ampio di persone, e sono stato coinvolto nelle
hanno smesso di dirlo. Linux, e in accezione
discussioni sullopportunit di creare una
pi ampia tutto il mondo del Software Libero, ha
fondazione indipendente (che sono diventate
bisogno di maggiore coesione e di una strategia
sempre pi fitte a partire dalla conferenza
di marketing e comunicazione in grado di
di Pechino nel 2008). Nel 2009, quando
contrastare gli investimenti delle grandi aziende.
Oracle ha acquisito Sun Microsystems,
Purtroppo, il frazionamento dei progetti - che in
ho commentato dicendo che era la cosa
alcuni casi completamente inutile - un fatto
peggiore che sarebbe potuta succedere
difficile da comprendere per tutti coloro che
a OOo (in realt mi sbagliavo, perch quello
sono estranei alla comunit, e rappresenta un
che successo dopo stato anche peggio).
fattore di debolezza. Infine, necessario che
Ovviamente, i colloqui sulla fondazione sono
il mondo del Software Libero cominci a pensare
diventati sempre pi fitti, e si sono trasformati
seriamente a un modello di business sostenibile,
in un piano di lavoro nel gennaio del 2010.
perch altrimenti rimarr sempre ostaggio delle
A quellepoca, ho scritto il marketing plan
aziende e delle loro strategie di sopravvivenza
di LibreOffice (senza sapere che si sarebbe

L'innovazione un fattore
che da sempre contraddistingue
il Software Libero

sempre stato un utente abbastanza esigente


nel caso della posta elettronica e per questo
motivo non sono mai riuscito a usare Outlook,
che considero il peggior software mai sviluppato
da un quadrumane perch non solo pessimo
sotto il profilo architettonico (il salvataggio di
tutte le informazioni in un unico blob va contro
ogni sano principio, e contro il buon senso)
ma riesce - in un campo dove tutto standard
come lemail - a non adottare nemmeno uno
standard (oppure a reinventarlo, peggiorandolo).
Quindi, non sono mai stato tra i sostenitori
di Microsoft Office, proprio per la presenza
di Outlook. Inoltre, quando la quota di mercato

di Microsoft Office ha cominciato a superare


percentuali che avrebbero ampiamente
giustificato lintervento dellantitrust, ho
cominciato a chiedermi perch non ci fosse
nessun intervento a protezione degli utenti,
visto che era evidente che la situazione
avrebbe portato Microsoft ad avere un
atteggiamento vessatorio nei loro confronti
(a differenza di molti, io ho letto la EULA di MS
Office). Oggi, evidente che Microsoft ha
goduto di ampie coperture per il suo ruolo
di principale fornitore di informazioni del
governo statunitense, attraverso programmi
come PRISM (che non certo stato il primo,

2013

nei confronti dell'ecosistema finanziario


(perch una strategia basata sul fatturato
del trimestre priva di buon senso e non
permette di guardare oltre la punta del proprio
naso, per cui privilegia le azioni tattiche rispetto
a quelle strategiche). Quindi, bisogna pensare
a generare profitti che derivano dal valore
aggiunto, e a reinvestirli nello sviluppo, perch
le aziende che sponsorizzano il Software Libero
a fondo perso - come Sun e IBM nel caso
di OOo - possono scomparire da un momento
all'altro, se un analista si inventa aspettative
superiori all'andamento del mercato.
LXP: Innovazione, spesso, significa
rompere con il passato, ma anche
adottare strategie nuove. A questo
proposito puntare alla conquista
di un numero di sistemi sempre maggiori,
sensibilizzando cos lopinione pubblica
alla migrazione verso il Free Software,
senza dubbio un tema innovativo.
E non solo in ambito privato
ma soprattutto in quello aziendale.
Sappiamo che su questo fronte sei molto
attivo, quindi ti chiediamo qual la tua
ricetta per innovare?
IV: Onestamente, non credo ci sia nessuna
ricetta specifica, ma solo luso di un po di buon
senso nella comunicazione. Combattiamo
contro nemici potenti, che hanno budget
importanti e strumenti per influenzare
lopinione pubblica che vanno ben oltre
le nostre possibilit, per cui dobbiamo usare
tutte le nostre capacit. Solo aggregando tutti
i progetti allinterno di una rete, possiamo
riuscire a creare quella massa critica che non
abbiamo mai avuto. Dobbiamo mostrare
i nostri muscoli, perch solo in questo modo

LINUx PRO 133

LINUX PRO 133

25

LINUx PRO 133

linux pro 142

21

26/05/14 17:56

Newsdesk

Ogni mese tutte le novit dal mondo delle aziende e della comunit Open Source
Se hai news da segnalarci o dei commenti scrivi a newsdesk@linuxpro.it

Automazione

Arduino e GNU/Linux a scuola

cuola, Tempio del


sapere... a parole
di sicuro. Nei nostri ormai
antichi anni di studio
abbiamo sperimentato
di persona strutture poco curate,
ma soprattutto insegnanti a volte
inadeguati: a uno di essi per
certo il maestro di 3a
elementare, per essere precisi
era pi consona la zappa che
la penna. Studente sfortunato?
Pu darsi, ma anche no.
Ma allArduino Day 2014,
tenutosi il 29 marzo scorso,
abbiamo assistito a una piccola
rivoluzione: un gruppo
di studenti dellIstituto Tecnico
Statale a ordinamento speciale
Marie Curie di Cernusco

sul Naviglio ha presentato


un paio di progetti basati
sullitalianissima scheda Arduino.
I progetti sono stati implementati
con pochi mezzi ma molto
entusiasmo, anche perch
quello che conta alla fine
lingegno che ci si mette
per risolvere i problemi che sono
pi che altro una scusa
per imparare a padroneggiare
elettronica da una parte
e programmazione dallaltra.
Chi fosse interessato
a conoscere meglio lIstituto
Marie Curie pu dare una
occhiata al sito http://
mediateca.tes.mi.it:8080/
itsos/index.php. Ma vediamo
di cosa parlano i progetti

I progetti

Il metodo migliore per


coinvolgere i ragazzi
impostare un progetto
sotto forma di problema
da risolversi, ma non qualcosa
di asettico e teorico
(se schiaccio il pulsante A
si accende la luce B), qualcosa
di convincente e applicabile
fin da subito a una situazione
reale. Ci complimentiamo quindi
con il professor Daniele Ramon
che ha saputo stimolare
e coinvolgere i suoi studenti,
che ci auguriamo di vedere
presto nel Reparto Ricerca &
Sviluppo di qualche impresa
italiana. Per esempio, il sistema
per valutare il comfort

di un ambiente di lavoro
un progetto per il
monitoraggio di parametri
ambientali: luminosit, umidit
relativa e temperatura. Queste
tre grandezze fisiche devono
per legge rientrare entro certi
limiti allo scopo di garantire
un adeguato ambiente
di lavoro. I dati raccolti in fase
di monitoraggio sono
memorizzati in un database
MySQL remoto, che permette
quindi di creare grafici e trend
storici delle grandezze fisiche
rilevate. Un altro progetto
interessante il sistema
di prevenzione incidenti
in prossimit di ponti tramite
una serie di fotocellule. Arduino
rivela laltezza dei veicoli:
qualora la dimensione ecceda
il massimo previsto, si attuano
una serie di avvisatori luminosi
(semafori) in abbinamento a un
blocco (tipo passaggio a livello)
che blocca laccesso
al cavalcavia/ponte lungo
la strada. La dimostrazione
stata implementata tramite
uno spezzone di plastico
ferroviario e sembra funzionare
molto bene.

N
no
va
tr
co

O
O
L
pr
co
ch
so
32
26
In
G
ut

I nuovi Arduino

Progettisti in erba: Amatemaggio Luca, Donvito Sara, Esposito Claudia, Longo Joselma, Mandelli
Davide, Mandelli Laura, Molino Davide, Salierno Arcangelo, Scalvini Mattia, Vasquez Carlos.
A destra, il Prof. Davide Ramon

LArduino classico nato in


un periodo in cui cerano solo
necessit che potevano essere
soddisfatte da un normale
microcontrollore e per tali
compiti Arduino era pure troppo.
Ma il tempo passa, il mondo
va avanti e nuove esigenze
sorgono: ormai non passa giorno
che non si pretenda connessione
sempre attiva 24 ore al giorno,
e guai a uscire di casa senza

Linux pro 142

LXP_142_04_05_news 4

26/05/14 17:24

Newsdesk
Istruzione

Google-scuola

cellulare! Per tali necessit 2.0,


Arduino troppo poco e mostra
tutti i suoi limiti architetturali.
Ma i progettisti di Arduino non si
sono riposati sugli allori e nel tempo
hanno dato vita a una famiglia
di derivati, affiancando allArduino
classico tante schede sorelle
pi o meno potenziate e dedicate
a particolari compiti. Questa
evoluzione ha raggiunto il culmine,
costituito da Arduino DUE, il pi
potente del gruppo. Valutate
le necessit, gli studenti per entrambi
i progetti si sono affidati ad Arduino
YUN: poich dotato di un
microcontrollore animato da
GNU/Linux, un sistema del genere
non ha segreti per i GNU-Pinguini
e il fatto che disponga sia di porta
Ethernet sia di una interfaccia Wi-Fi

azzera le problematiche di accesso


remoto. Volenti o nolenti, il futuro
questo: dominare o essere
dominati dallelettronica.
Esageriamo? No. Siamo allalba della
Internet delle cose, dove in pratica
anche lultimo degli strumenti sar
dotato di indirizzo TCP/IP: saper
trafficare con circuiti e server Web
ormai indispensabile. Saper usare
questi strumenti sar considerato
normale e chi non sar in grado
di farlo sar un analfabeta dellEra
Elettronica. Quindi ognuno di noi
chiamato a tenersi costantemente
aggiornato, pronto a dominare
e non subire tutte le novit che
ci porter il futuro, perch come
diceva Eduardo De Filippo: gli esami
non finiscono mai.
Roberto Premoli

Perch usare LibreOffice


Nello scorso numero abbiamo analizzato la
normativa che la P.A. dovrebbe seguire per la
valutazione comparativa tecnico-economica
tra soluzioni proprietarie e software libero o a
codice aperto.
Oggi parliamo di produttivit individuale
Open Source ed in particolare del software
LibreOffice. Nato nel 2011 dal fork del vecchio
progetto OpenOffice.org, oggi LibreOffice
conta numeri importanti sia come utilizzatori
che come sviluppatori e contributi apportati al
software; negli ultimi 12 mesi sono stati circa
320 sviluppatori che hanno apportato oltre
26.000 modifiche al codice di LibreOffice.
In Europa la suite LibreOffice utilizzata dal
Governo Francese con 15 Ministeri (e 500.000
utenti), la Regione di Valencia in Spagna (con

ontinua la conquista del mondo


da parte di Google e passa
per le scuole. Il progetto
Google Classroom approda
infatti in Italia e promette di permettere
a insegnanti e studenti di condividere
compiti, ricerche, ecc. usando strumenti
gi esistenti (come Drive) e soluzioni
ad hoc sviluppate anche con il contributo
di docenti. Google promette di non
usare i profili degli studenti per fini
commerciali: vedremo gli sviluppi... LXP

120.000 utenti), il Ministero della Difesa in


Olanda (con 45.000 utenti), il sistema degli
Ospedali di Copenhagen (con 25.000 utenti),
e il Comune di Monaco di Baviera (con 15.000
utenti). Questo, per parlare solo dei progetti di
maggiori dimensioni.
Nella P.A. italiana, si visto il passaggio a
LibreOffice anche delle Province di Bolzano,
Cremona, Macerata e Milano; i Comuni di
Este, Padova, Piacenza, San Benedetto del
Tronto, Scandiano, Spotorno e Todi; i Comuni
dellAlto Adige, lazienda sanitaria locale di
Bolzano e molte altre migrazioni sono in corso.
Nel 2013 Studio Storti Srl, unica azienda
italiana, entra nellAdvisory Board di
LibreOffice e crea la divisione che garantisce
agli Enti un processo professionale e
certo per la migrazione. Composta dal
personale pi qualificato esistente in Italia
con esperienza pluriennale sulla migrazione

di PA a LibreOffice, grazie ad accordi con i


soggetti leader della community LibreOffice,
la divisione assicura il massimo supporto
possibile per soddisfare ogni possibile
necessit nei vari livelli di servizio proposti:
Progettazione,
Migrazione,
Formazione,
Deployment, Assistenza, HelpDesk,BugFixing,
Custom Build.
Disponibile per lutilizzo su tutti i principali
sistemi operativi come Microsoft Windows,
GNU/Linux ed Apple OS X, ha come primi
evidenti vantaggi quelli di: eliminare i costi
dacquisto di licenza software e di creare
formati open data - usando il formato
aperto .odt - che garantiscono trasparenza,
interoprabilit e fruibilit.
Compatibile con tutti i formati, anche quelli
proprietari realizzati con i software pi datati,
una garanzia sia per un privato, unazienda
ma soprattutto per un Ente Pubblico.

10 motivi per scegliere

ACCESSIBILIT
file open data

LXP_142_04_05_news 5

RISPETTO DELLA
NORMATIVA VIGENTE

PERSONALIZZAZIONE

ETICA
no pirateria informatica

FORMAZIONE

LIBERT

utilizzabile gratuitamente

INCENTIVO
alleconomia locale

QUALIT

in continuo miglioramento

ASSISTENZA

Informazione a cura di Studio Storti Srl

RISPARMIO

sulle licenze software

26/05/14 17:24

FAQ OpenStreetMap

Alcune domande su...

OpenStreetMap
Lo staff di Linux Pro affina le sue abilit cartografiche grazie a questo
servizio collaborativo di mappe Open Source
subito al punto: che cos
D Veniamo
OpenStreetMap?
obiettivo di OpenStreetMap offrire
R Ilunalodevole
mappa mondiale gratuita e modificabile,

pi aspettare che Google o Garmin si accorgano che


c una nuova rotonda in fondo a una strada. Inoltre,
se vi accorgete che un dato elemento sbagliato
o non aggiornato, potete sempre correggerlo voi!

permettendo a chiunque di scaricarla, usarla


e collaborarvi. Lidea nata come risposta alle mappe
proprietarie, che non solo limitano gli utilizzi
che possiamo farne ma spesso, per effetto
delle pressioni politiche presenti in alcune parti del
mondo, possono omettere di riportare alcune localit.

potr usarlo per trasformare il mio


D Perci
telefono in un navigatore satellitare?
molti modi per utilizzare
R Esistono
OpenStreetMap in combinazione con dispositivi

quindi finalmente potremo scoprire


D Oh,
dov lArea 51 e sbirciare nel giardino
di casa di Dick Cheney?
S, questo fa parte del piano ed una buona
notizia per gli appassionati dei complotti ma
OpenStreetMap molto pi di questo. Lelemento
collaborativo, per esempio, pu contribuire a dare vita
a mappe assolutamente aggiornate grazie ai contributi
degli abitanti delle varie zone, il che significa non dover

GPS allo scopo di orientarsi in auto o sui mezzi


pubblici. Per esempio, Mkgmap unutility da riga
di comando che trasforma i dati di OpenStreetMap
in mappe vettoriali che possono essere caricate su un
dispositivo GPS Garmin. La procedura piuttosto
semplice e oltre a poter avere le mappe gratis
(Garmin e altri produttori di dispositivi GPS applicano
generalmente prezzi piuttosto salati alle mappe
aggiuntive) potete anche controllare la modalit
di visualizzazione delle mappe stesse, dei punti
di interesse e dei nomi delle strade sul dispositivo.

Il sistema supporta inoltre le ricerche complete


tramite indirizzo e la creazione di percorsi da una
localit a unaltra. Freemap (www.free-map.
org.uk) comprende una propria app per Android
che trasforma lo smartphone in navigatore
satellitare, mentre RMP Creator vi aiuta
a importare OpenStreetMap sui dispositivi
GPS Magellan Trion ed eXplorist.
quasi troppo bello per essere vero.
D Sembra
Immagino che le mappe non siano molto
dettagliate probabilmente se ne possono trovare
di migliori su un libro da colorare per bambini, no?
In realt, non potresti essere pi lontano dalla
verit! Il successo mondiale di OpenStreetMap
fa s che gli utenti contribuiscano alle mappe da ogni
angolo della Terra, e non si tratta soltanto di normali
mappe stradali. Diversi progetti collaterali
di OpenStreetMap si concentrano infatti su mappe
specializzate. Per esempio, 4UMaps (www.4umaps.

Linux pro 142

LXP_142_06_07_LXF181.woe 6

26/05/14 17:24

OpenStreetMap FAQ
eu) offre mappe topografiche per escursioni a piedi
e in mountain bike che utilizzano i dati di OSM;
OpenCycleMap (www.opencyclemap.org) fornisce
una mappa internazionale che evidenzia percorsi
e luoghi di interesse per i ciclisti. OpenPisteMap
(http://openpistemap.org) riporta le migliori piste
e localit sciistiche, mentre OpenSeaMap (http://
openseamap.org) offre carte nautiche. Ed esistono
applicazioni ancor pi originali, come un progetto di
mappatura tridimensionale della Repubblica Ceca
(http://osm.kyblsoft.cz/3dmapa).
trasformarsi in novelli Csar-Franois
D Dunque
Cassini de Thury sar un gioco da ragazzi?
difficolt a rispondere. Questo signore aveva
R Hoqualcosa
a che fare con le mappe?

con disabilit come i non vedenti, oppure creare


percorsi per le persone in sedia a rotelle. Ci sono
comunit che si concentrano sulla natura, sulla
conservazione o sullambiente e altre che si dedicano
a tipi specifici di infrastrutture, come le reti stradali
o la navigazione: il progetto OpenSeaMap, per
esempio, fornisce informazioni per la navigazione
marittima. La comunit contribuisce indicando
la posizione di fari e approdi e fornisce dati
meteorologici e altre informazioni, con lobiettivo
di fare di OpenStreetMap una risorsa affidabile
per i naviganti. Il WikiProject Latter-day Saints riporta
sulle mappe i luoghi di culto, mentre gruppi come
il WikiProject Whitewater Maps si concentrano sulle
attivit allaria aperta.

D
cartografo francese del Settecento
D mastatononundovrei
essere io a fare le domande?
Giusto, hai ragione. Partecipare a
R OpenStreetMap e contribuire alla creazione
R
e allaggiornamento delle mappe molto semplice.
Registrate un account gratuito su www.
openstreetmap.org/user/new. Dovrete accettare
di condividere i vostri contributi. Fatto questo, potrete
raccogliere dati tramite GPS, sulla base della vostra
conoscenza di una localit o ricalcando fotografie
aeree. Gli utenti di OpenStreetMap sono autorizzati
da varie fonti a svolgere questultima operazione;
e paradossalmente, la pi popolare Bing.
la prima volta che sento
D Probabilmente
pronunciare le parole Bing e popolare
allinterno della stessa frase. Quindi, OpenStreetMap
gode di una certa popolarit
Puoi dirlo forte. Il sistema vive del contributo
e della conoscenza dei luoghi di persone sparse
in tutto il mondo. stato creato da Steve Coast
nel 2004 e la prima conferenza State of the Map
si tenuta a Manchester nel 2007. Nel 2008
cerano gi oltre 50.000 collaboratori, che erano
raddoppiati allinizio del 2009. Nellaprile 2012
abbiamo raggiunto i 600.000 e oggi contiamo
oltre 1.400.000 utenti registrati.

sono davvero tanti. Le mappe non


D Ehi,
finiscono per caricarsi di un numero
eccessivo di aggiornamenti?
Come avviene in molti progetti collaborativi,
la maggioranza dei contributi opera di una
minoranza di utenti. Bench la quantit sia essenziale
per evitare che le mappe appaiano vuote, la qualit
essenziale perch le persone possano farvi
affidamento. Calcoliamo che circa il 30% degli utenti
abbia contribuito almeno una volta al database.
Sono inoltre nate numerose comunit che
si concentrano su aree e funzioni specifiche.

Wow, quante cose. Cos, lobiettivo principale


delle comunit rendere le mappe migliori
per utenti come te e come me?
Molte comunit si concentrano sullesperienza
utente ma ci sono anche gruppi che svolgono
straordinarie attivit umanitarie. Grazie ai contributi
degli utenti, OpenStreetMap offre il pi completo
catalogo di fonti di acqua potabile del mondo. Il team
di OpenStreetMap collabora con progetti di intervento
umanitario in tutto il mondo, fornendo mappe e altre
risorse allindomani delle catastrofi. Le persone
che risiedono in regioni soggette a disastri naturali
vengono aiutate a premunirsi e a ripristinare
la situazione da progetti come WikiProject Haiti,
il progetto per il terremoto e lo Tsunami verificatisi
in Giappone nel 2011 e da iniziative condotte sul campo.
Il loro splendido lavoro ha contribuito a salvare vite.
impressionante. Che altro puoi dirci
D Veramente
di bello sul progetto OpenStreetMap?
esempio sapevate che quei geniacci
R Per
di www.mapbox.com hanno usato un drone

wireless Sensefly eBee per fotografare 100 acri


di territorio a una risoluzione di 4 cm? Il drone
ha scattato 225 foto durante un volo di 40 minuti
e dopo il suo atterraggio le immagini sono state
importate in TileMill, un software di progettazione
per la creazione di mappe interattive. disponibile
per Ubuntu su www.mapbox.com/tilemill.
Dopo lelaborazione, limmagine ottenuta viene
inserita come livello personalizzato nelleditor ID
di OpenStreetMap per essere poi ricalcata. Su
http://bit.ly/lxpmapbox trovate un video illustrativo.
viene utilizzato da qualche
D OpenStreetMap
servizio che conosciamo?
La prima struttura importante
R S,a fareda moltissimi.
affidamento sui dati di OpenStreetMap
stata lUniversit di Oxford. In seguito anche
Foursquare, Craigslist e Wikipedia hanno iniziato
a usarlo. E dopo che Apple ha abbandonato il servizio
di mappatura di Google in iOS 6, OpenStreetMap
divenuta una delle fonti dellapp Maps di Apple.

quali tipi di aspetti si occupano queste


D Dicomunit?
occupano di aspetti quali laccessibilit:
Si direbbe tutto veramente grandioso.
R Sirendere
OpenStreetMap accessibile alle persone D Chi c dietro a OpenStreetMap?

OpenStreetMap stato intrapreso


R Ildaprogetto
Steve Coast come servizio di mappatura
alternativo al britannico Ordnance Survey, un progetto
statale che, per quanto eccellente nel raccogliere
grandi quantit di dati di mappatura, si mostrava
riluttante e a volte espressamente contrario a rendere
disponibili in forma gratuita le sue banche dati.
Nellagosto 2006 stata creata la struttura no-profit
OpenStreetMap Foundation, allo scopo
di promuovere e sostenere lo sviluppo di dati spaziali
riutilizzabili liberamente. La fondazione, pur avendo
stretti legami con il progetto OpenStreetMap,
ha modo di contribuire ad altri progetti di mappatura
gratuita e Open Source.
anche altri modi per partecipare
D Esistono
al progetto?
Dal 2007 si tiene ogni anno una
R Certamente.
conferenza, organizzata da OpenStreetMap
Foundation e intitolata State of the Map. Ha toccato
varie parti del mondo, tra cui Amsterdam (2009),
Denver (2011) e Tokyo (2012). Ledizione dellanno
scorso si tenuta a Birmingham e sono in corso
i primi preparativi per quella che avr luogo nella
seconda met del 2014. Si stanno raccogliendo
le candidature per stabilire in quale paese e localit
si terr la conferenza.
argomenti vengono discussi nelle
D Quali
conferenze State of the Map?
possono variare ma solitamente
R Iletemi
conferenze trattano le questioni pi urgenti
che coinvolgono il progetto e la situazione dei servizi
di mappatura in generale. Comprendono interventi
a cura del team di OpenStreetMap, discussioni
sullimportanza dei dati di geolocalizzazione e guide
rivolte sia ai principianti sia ai professionisti sulluso
e limplementazione dei dati di OpenStreetMap.
La localit che ospita la conferenza pu determinare
in parte i temi trattati. Per esempio, la mappatura
nel contesto dei disastri ha rappresentato un tema
centrale alla conferenza di Tokyo, a causa del forte
terremoto che aveva colpito il Giappone lanno
precedente. Le registrazioni video e audio della
conferenza dello scorso anno sono disponibili sul sito
http://2013.stateofthemap.org. Unaltra eccellente
risorsa www.maptember.org. Il fatto che nel
settembre 2013 si siano tenuti in Gran Bretagna
tre incontri dedicati alla geografia e alla mappatura
e le conferenze AGI GeoCommunity 13 e FOSS4G
(Free and Open Source Software for Geospatia) 2013
ha fatto s che il mese di settembre venisse
affettuosamente ribattezzato maptember.
progetto ha tutta laria di essere
D Questo
straordinariamente altruistico e collaborativo.
veramente grandioso. Visitate http://blogs.
R S,openstreetmap.org
per tenervi aggiornati sullo
sviluppo del progetto oppure seguiteci su https://
plus.google.com/+openstreetmap. Se volete fare
una donazione per sostenere questa preziosa attivit,
visitate http://donate.openstreetmap.org. LXP
Linux pro 142

LXP_142_06_07_LXF181.woe 7

26/05/14 17:24

Ambienti desktop

Createvi
la scrivania ideale
Gli ambienti desktop sono tanti: ma quale
scegliere? Ecco come individuare, installare
e modificare quello che fa per voi

ome per tutto ci che riguarda GNU/Linux


e lOpen Source, quanto ad ambienti
desktop c solo limbarazzo della scelta.
Una scelta che, se percepita da molti
come un elemento di libert, pu essere vissuta
da altri con perplessit e confusione. Subito dopo
aver preso la non facile decisione di cambiare
sistema operativo e di installarne uno sconosciuto
(manualmente, per di pi), il neo-utente di Linux
si trova di fronte ambienti desktop dai nomi bizzarri
tipo GNOME (che sia un desktop in miniatura?), KDE
(ma non una marca di finestre con doppi vetri?)
e Xfce (buio completo). Quelli che agli occhi
dellutente veterano appaiono come i gioielli di Linux,
al neofita danno limpressione di essere capitato nel

mezzo di un convegno di appassionati di fantascienza


in cui tutti discutono una nuova serie TV
apparentemente in circolazione da anni ma che lui
non ha mai sentito nominare. Non solo non esiste
uno stile grafico Linux standard; la stessa nozione
di ambiente desktop come entit distinta dal sistema
operativo risulta misteriosa per la maggior parte degli
utenti provenienti da Windows o Mac. Un altro
concetto a cui costoro devono abituarsi che,
diversamente da quanto avviene con i sistemi operativi
proprietari, un desktop Linux non qualcosa di fisso
e immutabile. Alcuni ambienti non sono che pacchetti
che contengono una serie di componenti, che sta a voi
costruire e organizzare. Non fraintendeteci: niente
di tutto questo un male. Scelta e flessibilit sono

le pietre angolari dellecosistema Open Source.


Pensate per per un istante allutente medio che
sta muovendo i primi passi in Linux. Proviene
da un ambiente rigido e ristretto e perci lampiezza
della scelta lo lascia perplesso. Molti di questi utenti
finiscono per fare la scelta sbagliata, rimanendo delusi
e abbandonando quindi la loro spedizione nel territorio
Open Source. Per questo lobiettivo del presente
articolo aiutare ciascun utente a scegliere lambiente
desktop pi adatto alla sua modalit di lavoro, in modo
da ridurre al minimo la curva di apprendimento.
Abbiamo comunque pensato anche agli utenti di Linux
pi navigati. Date unocchiata alle alternative disponibili
e valutate se hanno fatto sufficienti progressi
da meritarsi una possibilit come vostri nuovi desktop.

Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 8

26/05/14 17:50

Ambienti desktop

Quale desktop?
Tutto ci che dovete sapere per scegliere il desktop che fa per voi

membri della comunit di Linux tendono a far tintinnare


le sciabole quando si tratta di difendere il loro ambiente desktop
preferito. Ogni giorno su forum, mailing list e IRC infuriano
schermaglie verbali tra i fedelissimi dei vari desktop. La verit pura
e semplice, per, che non esiste un desktop in grado di soddisfare
tutti, per quanto sia popolare o ricco di funzioni. Il che, in s, non
nemmeno una brutta cosa. Poter modificare e alterare lambiente
desktop tanto importante quanto poter modificare e alterare
le singole applicazioni. Quando Microsoft ha introdotto Windows 8
con il suo desktop reinventato e privo del pulsante Avvio (elemento
immancabile nelle varie versioni di Windows fin dai suoi esordi),
gli utenti non hanno potuto fare altro che sfogare la loro frustrazione.
Quando GNOME e prima ancora KDE hanno introdotto nuovi
e rivoluzionari desktop, invece, gli utenti hanno potuto passare
a un desktop diverso, dopo aver dato voce a frustrazioni analoghe.
Per chi utilizza Linux, integrare o sostituire lambiente desktop
altrettanto facile che installare un qualunque programma.
sufficiente installare il nuovo desktop, disconnettersi da quello
vecchio e collegarsi alla nuova interfaccia. Questo tipo di ambiente
va pi che altro immaginato come uninterfaccia che vi permette
di interagire con la distribuzione. I vari desktop hanno sviluppato
metodi diversi e peculiari per aiutarvi a lavorare con le distribuzioni.

I molti volti di GNU/Linux


Ci sono alcune cose da sapere prima di mettersi alla ricerca
di un ambiente desktop. Il desktop-tipo corredato da applicazioni
fondamentali proprie. Tuttavia, diversamente da quanto avveniva
un tempo, i principali ambienti desktop sono oggi sempre pi intercompatibili. Potete cio utilizzare su un dato desktop le applicazioni
progettate per uno diverso, senza rilevare particolari anomalie. Inoltre,
salvo poche eccezioni, le principali distribuzioni ne supportano pi
di uno. OpenSUSE, Fedora e Mageia supportano KDE, GNOME e vari
altri ambienti. Vi qualche eccezione di rilievo. Alcune distribuzioni
supportano ufficialmente un numero limitato di desktop: il caso
di Ubuntu, che supporta Unity, e di Linux Mint, che predilige
Cinnamon e Mate. Detto questo, alcune distribuzioni standard
si schierano apertamente con uno specifico ambiente desktop.
Ne seguono cio attivamente lo sviluppo o vi partecipano
direttamente assumendo sviluppatori incaricati di occuparsi del
progetto. Per esempio Fedora, tramite il suo sponsor aziendale Red

La distribuzione Lubuntu comprende perfino un gestore


dei pacchetti personalizzato

Hat, ha diversi sviluppatori di GNOME sul proprio libro paga.


Analogamente, molti sviluppatori che lavorano a tempo pieno su KDE
ricevono lo stipendio da OpenSUSE. Ancor pi lampanti sono
gli esempi rappresentati da Unity di Canonical, progettato
specificamente per Ubuntu e da Cinnamon e Mate, il cui sviluppo
diretto da Clement Lefebvre di Linux Mint. Il criterio pi importante
per la scelta di un ambiente desktop let del dispositivo destinato
a utilizzarlo. I desktop pi recenti richiedono sistemi di accelerazione
grafica e RAM a bizzeffe. Se disponete di un sistema del genere,
vi conviene optare per uno degli ambienti standard progettati
per un impiego generico e quotidiano, come Ubuntu Unity, KDE,
GNOME 3 e Cinnamon. GNOME 3 ha reinventato il desktop,
rinnovandone radicalmente lo stile in modo da ridurre al minimo
le fonti di distrazione. Inizialmente gli utenti pi navigati, tra cui
lo stesso Linus Torvalds, si sono tenuti alla larga dal desktop GNOME
3; con il tempo, tuttavia, questultimo ha smussato un po gli angoli
e risulta ora molto pi pratico da usare rispetto alla prima release.
Se non avete il pallino della personalizzazione potrete forse
apprezzare al massimo le potenzialit di questo desktop. Se cio
non avete voglia di perdere troppo tempo ritoccando il desktop
e se le novit non vi spaventano, date senzaltro unocchiata a
GNOME 3, incluso nella distribuzione Fedora. Un altro desktop che
chiede agli utenti di lasciare a lui le decisioni relative allusabilit
Unity, elemento cruciale della grande strategia multi-dispositivo di
Canonical (la societ che guida lo sviluppo di Ubuntu). Tra GNOME 3
e Unity vi sono numerose analogie superficiali ma allatto pratico i due
ambienti sono piuttosto diversi. Unity rivoluzionario quanto GNOME
3 ma non altrettanto radicale. Entrambi hanno eliminato il tradizionale
sistema dei menu, rimpiazzandolo con soluzioni piuttosto simili.
Unity, tuttavia, supera GNOME 3 in termini di funzionalit
complessiva. La caratteristica pi vistosa di Unity sono gli Scopes,
che presenta risultati prelevati da servizi Web accanto a quelli interni
al desktop. Per esempio, la lente Musica vi permette di visualizzare
e ascoltare in anteprima sia i brani musicali presenti sul vostro
computer, sia quelli offerti da negozi online come Amazon. Se avete
uno stile di lavoro peculiare e volete occuparvi personalmente del
layout e del comportamento del vostro desktop, non c ambiente
pi adatto a voi di KDE. un desktop talmente flessibile che potete
perfino ritoccarlo fino a renderlo simile a Unity o a GNOME 3!

Nello spirito
e nellaspetto,
Mate prosegue
il desktop
GNOME 2

Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 9

26/05/14 17:50

Ambienti desktop
Il che spiega perch distribuzioni come OpenSUSE, Mageia, ROSA
e Chakra si presentano ognuna in modo un po diverso, pur
utilizzando tutte il desktop KDE. Se invece volete passare a Linux
senza dover imparare da zero a navigare sul desktop, procuratevi
Cinnamon tramite Linux Mint. Pur ispirandosi alle pi recenti novit
di GNOME 3, questo desktop ricorda pi o meno quelli tradizionali
a cui sono abituati gli utenti di Windows. Tutti gli elementi hanno
laspetto e il comportamento che vi aspettate.

Interfacce utente
a basso contenuto calorico
Molti usano Linux per riportare alla vita vecchi computer che non
dispongono delle risorse hardware richieste dai moderni sistemi
operativi. Esistono numerose distribuzioni apposite, in grado
di trasformare un vecchio ronzino in uno stallone purosangue.
Oltre a offrire una raccolta intelligente di applicazioni, queste
distribuzioni si appoggiano ad ambienti desktop leggeri, come Mate,
LXDE, Xfce ed Enlightenment. LXDE produceva ambienti funzionali
e ultra-leggeri gi prima che venissero alla ribalta gli attuali desktop
luccicanti e pieni di fronzoli. Il suo desktop ampiamente utilizzato
dalle distribuzioni standard per dare vita a versioni che gravano meno
sulle risorse del sistema; un esempio classico Lubuntu, una
distribuzione in grado di funzionare su un computer con soli 128 MB
di RAM. Non un caso che LXDE sia il desktop standard utilizzato
dalla distribuzione Raspbian per la Raspberry Pi. Se il vostro
computer ha un po pi di muscoli, potrete optare per Xfce. Questo
desktop semi-leggero diventato di moda quando Linus Torvalds
ha pubblicamente abbandonato GNOME 3 in suo favore. Offre
alcune funzioni che mancano in LXDE, come i pannelli di lancio,
e una maggiore dotazione di applicazioni predefinite; per meno
veloce. Se non potete utilizzare Lubuntu, vi conviene gustare il meglio

Le distribuzioni
basate su KDE
tendono
a personalizzare
il desktop
in funzione
del pubblico
di riferimento

I fronzoli di Enlightenment fanno impallidire molti altri desktop

di Ubuntu optando per Xubuntu. Rispetto a questi veterani, Mate


un novellino; si tratta di unevoluzione del desktop GNOME 2, ora
ufficialmente defunto. progettato e pubblicizzato come desktop
rivolto agli utenti che, pur aspirando ai vantaggi di produttivit offerti
da Cinnamon, non dispongono delle risorse richieste dal desktop
delezione di Linux Mint. Esteticamente i desktop Cinnamon e Mate
sono uguali ma il fratello minore manca di alcune delle funzioni
del primo. Il veterano per eccellenza, tuttavia, Enlightenment,
un soggetto decisamente sui generis. Non si tratta nemmeno
di un vero e proprio ambiente desktop, bens di un sistema
di gestione delle finestre; rinuncia infatti alle barre, ai pannelli
e perfino ai menu. Tuttavia, diversamente da molti ambienti leggeri,
il desktop Enlightenment offre tutte le chicche grafiche che vi
aspettereste da un ambiente pesante, pur consumando una quantit
di risorse molto minore. Abbiamo deciso di citare questo software
malgrado le sue peculiarit perch il desktop delezione di Bodhi
Linux, che sta scalando le classifiche delle distribuzioni. Bodhi Linux
sposa il minimalismo di Enlightenment, proponendo un numero
di applicazioni ridotto allosso e un rivoluzionario sistema di gestione
dei pacchetti. Questo elenco tuttaltro che completo. Esistono
moltissimi altri ambienti desktop nonch sistemi di gestione delle
finestre in grado di funzionare anche come desktop. Ci siamo limitati
a citare i pi conosciuti. Il nostro obiettivo non era sommergervi
di opzioni ma illustrare quelle pi importanti, per aiutarvi a scegliere
un desktop e la distribuzione pi adatta ad accompagnarlo.

Linterfaccia utente di Linux senza veli


Linterfaccia grafica utente (GUI) di Linux costituita
da vari componenti diversi. Rispetto a quella
di un sistema operativo proprietario, offre allutente

Molte distribuzioni leggere evitano


lingombro di un desktop limitandosi a utilizzare
un Window Manager come Openbox

10

un maggior grado di controllo sul suo aspetto e sulle


sue funzioni. Per poter personalizzare i componenti,
tuttavia, vi serve uninfarinatura relativa al linguaggio
tecnico.
Ambiente desktop linsieme di tutti gli elementi
grafici che vedete sul desktop del computer. Fra essi vi
sono le finestre, le barre, lo sfondo, i widget, le cartelle,
le icone e via dicendo. La finalit dellambiente desktop
aiutarvi a interagire con tutte le funzioni di un sistema
operativo. Tra gli ambienti desktop pi usati ci sono
GNOME, KDE, Unity e Cinnamon.
Window Manager Uno dei componenti pi
importanti di un ambiente desktop il Window
Manager. Questo controlla laspetto delle finestre
dellinterfaccia utente. Spesso anche sfondi, barre,

dock, widget, eccetera, rientrano nel Window Manager,


che permette di ridimensionare o spostare le finestre,
modificarne il bordo e la barra del titolo e cos via. Tutti
gli ambienti desktop pi popolari includono propri
Window Manager. Per esempio GNOME integra
Mutter, mentre KDE si serve di KWin e Cinnamon
utilizza Muffin.
Display Manager un altro termine in cui vi
imbatterete a volte; il Display Manager viene chiamato
anche Login Manager. Si tratta di uninterfaccia grafica
che vi aiuta a connettervi alla distribuzione,
consentendovi inoltre di scegliere un ambiente desktop
da utilizzare. Come nel caso del Window Manager, ogni
ambiente desktop include un proprio display manager:
cos, GNOME usa GDM e KDE utilizza KDM.

Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 10

26/05/14 17:50

Ambienti desktop

Ubuntu Unity
Molti ricercatori hanno dato la vita per offrirci questo desktop

l desktop Unity d il meglio di s nellambito di Ubuntu.


Ha un layout originale, le cui due caratteristiche pi vistose sono
il Launcher verticale e la Dash. Immaginate il Launcher come una
barra delle applicazioni che presenta solo icone: potete appuntarvi
le icone relative alle applicazioni di uso pi frequente per potervi
accedere rapidamente e alcune icone offrono menu contestuali
specifici, accessibili cliccando con il tasto destro del mouse, che
forniscono accesso rapido alle funzioni di uso pi frequente. Potete
inoltre modificare la posizione delle icone, trascinandole con il mouse.
La Dash la prima icona che compare sul Launcher e rappresenta
una reinvenzione targata Unity dei tradizionali menu. Nella casella
di ricerca della Dash, in alto, potete digitare parole chiave per
ricercare applicazioni, file, musica, video, messaggi istantanei, contatti
e altri tipi di contenuti. Oltre che per accedere ad applicazioni e file,
potete servirvi della Dash per installare e disinstallare le applicazioni
e per visualizzare in anteprima i file multimediali. Unity comprende
inoltre lo Heads Up Display (HUD), un approccio innovativo ai menu
delle applicazioni. Luso dello HUD vi evita di perdere tempo cercando
le opzioni nascoste in profondit nei menu nidificati. Diversamente
da quanto avviene per altri desktop, Ubuntu non offre molte opzioni
di configurazione per la modifica dellambiente. Tutte le impostazioni
della distribuzione sono integrate in Impostazioni di sistema,
accessibile tramite licona con la chiave inglese del Launcher.
Lopzione Personale ospita le impostazioni che lutente pu
modificare a piacere, come laspetto dello sfondo, le dimensioni delle
icone del Launcher e la possibilit di nascondere automaticamente
il Launcher e di controllare la posizione e la sensibilit del punto di
accesso (hotspot) utilizzato per visualizzarlo. Potete inoltre aggiungere
delle icone per passare da uno spazio di lavoro allaltro e per
visualizzare il desktop riducendo a icona tutte le finestre aperte.
Se disponete di pi monitor, potete impostarli mediante lopzione
Monitor della sezione Hardware, che vi permette inoltre di
configurare il comportamento di Unity tra un monitor e laltro.

Non vi piace? Cambiatelo!


Lesperienza utente predefinita offerta da Unity il frutto di studi
approfonditi sullusabilit condotti da Canonical. Per questo le opzioni
per la personalizzazione dei vari elementi sono cos limitate. Queste
restrizioni, peraltro, hanno stimolato la nascita di numerosi strumenti
di personalizzazione creati da terzi, come Unity Tweak Tool, che
vi permette di modificare linterfaccia in modo che funzioni proprio
come desiderate. disponibile nel repository ufficiale di Ubuntu,
perci potete installarlo mediante Ubuntu Software Center.

Unity Tweak fa meraviglie con Unity in termini di praticit

Potete navigare
attraverso
il desktop Unity
utilizzando la sola
tastiera

Linterfaccia di Unity Tweak Tool ricorda quella delle impostazioni


di sistema di Ubuntu, con varie opzioni suddivise per categorie
contrassegnate da etichette. Potete servirvi di questo strumento
per modificare o disattivare del tutto alcune delle funzioni essenziali
di Unity. Una caratteristica molto apprezzata di Ubuntu la possibilit
di utilizzare alcuni siti quali YouTube, Google+ e Amazon come
applicazioni Web. Ogni qualvolta Firefox si imbatte in un sito Web
compatibile con questa funzione, vi chiede se desiderate inserirlo
nellelenco delle applicazioni Web. Alcune impostazioni dello
strumento sviluppano ulteriormente quelle offerte dallo stesso
Ubuntu, come il Launcher. In aggiunta alle opzioni per nasconderlo
automaticamente, Unity Tweak Tool vi permette di modificare
laspetto del Launcher e il comportamento delle sue icone.
Allo stesso modo, potete configurare il numero degli spazi di lavoro,
il colore dello spazio corrente e perfino la combinazione di tasti
da utilizzare per accedere alla selezione degli spazi di lavoro.
C poi la sezione Aspetto, che come le impostazioni incorporate
vi permette di passare da un tema allaltro. Potete inoltre modificare
altri elementi allinterno di ciascun tema, come le icone, i cursori
e il font. Se la posizione delle icone per il controllo delle finestre
in Unity vi lascia perplessi, accedete alla sezione Controlli finestra
e regolate lallineamento sullopzione A destra, che colloca i pulsanti
nella posizione consueta. Se avete difficolt a giostrarvi tra pi finestre,
attivate il pulsante Menu di questa stessa finestra. Il pulsante
in questione introduce opzioni che vi permettono di trasferire una
finestra in un altro spazio di lavoro. I fanatici della personalizzazione
potranno inoltre attivare gli angoli attivi e configurarli in modo da
rendere visibili tutti gli spazi di lavoro e le miniature di tutte le finestre
aperte. Questa azione si definisce Espansione finestre e potete tra
laltro personalizzarne il comportamento. Potete per esempio
visualizzare le icone delle applicazioni sopra le miniature delle finestre
e selezionare lo spazio tra le finestre stesse. Unaltra trovata utile
la possibilit di spostare il focus da una finestra allaltra
semplicemente trasferendovi sopra il mouse, senza nemmeno
la fatica di cliccare sulla finestra. Per farlo basta scegliere lopzione
Impostazioni aggiuntive nella sezione Gestore finestre. Potete
attenuare alcuni degli effetti di Unity che consumano pi risorse, come
la sfocatura dello sfondo. Sui computer pi vecchi, lattivazione della
Dash rallenta notevolmente il desktop. Se il vostro caso, disattivatela
tramite la sezione Launcher. Queste sono solo alcune delle modifiche
pi utili e pi usate. Bench il desktop di Unity sia decisamente pi
pratico di altri, Unity Tweak Tool lo rende senzaltro ancora migliore.
Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 11

11

26/05/14 17:51

Ambienti desktop

GNOME 3.10
Insieme a GNOME in territori sconosciuti

l desktop GNOME ha subto una miriade di modifiche


di progettazione nel corso degli anni ma nessuna ha
introdotto novit radicali paragonabili a quelle di GNOME 3.
In passato, GNOME era lambiente desktop pi popolare
in assoluto ed era utilizzato dalla maggior parte delle
distribuzioni pi in voga. Con lultima versione tutto cambiato
e tanto gli utenti quanto le distribuzioni hanno iniziato a
prendere le distanze da questo desktop. Si detto che GNOME
3 era troppo semplice e troppo spartano in termini di funzioni;
queste stesse caratteristiche, tuttavia, lo rendono pi accessibile
per i nuovi utenti. La versione 3 contiene pi o meno gli stessi
elementi dellambiente Unity di Ubuntu ma li presenta in modo
diverso. Troviamo qui un Activity Overview simile alla Dash
di Unity. Tuttavia, Gnome Activities comprende una barra
Favourites simile al Launcher che potete usare per radunare
le applicazioni di uso pi frequente. Al centro trovate
unanteprima di tutte le finestre aperte, che occupa la maggior
parte della schermata. A destra c il Workspace Switcher
che presenta sempre lo spazio di lavoro corrente pi uno
aggiuntivo. Se aggiungete delle finestre al secondo spazio
di lavoro, ne viene aggiunto automaticamente un terzo.
In alto presente una casella di ricerca che associa le parole
chiave alle applicazioni e ai documenti disponibili sul computer
locale nonch nei servizi online. Una delle caratteristiche
essenziali di questa ultima versione infatti la pi stretta
integrazione con i servizi online. Gnome Online Accounts
vi permette di collegarvi ai vostri account online trasformando
i servizi con i quali desiderate scambiare dati in applicazioni
utilizzabili non in linea. Il sistema supporta numerosi servizi
di successo tra cui Google Docs e Flickr. Gnome 3 comprende

Una delle caratteristiche migliori


di GNOME 3 la stretta integrazione
con svariati servizi online
inoltre alcune applicazioni che sfruttano gli account configurati
online. il caso di Gnome Contacts, che vi permette di cercare
e modificare contatti archiviati sia sul computer locale sia
su un servizio online. Analogamente, Gnome Documents
vi aiuta a trovare documenti sia sul vostro computer sia online,
per esempio tramite Google Docs. Altri aspetti del desktop
Gnome 3 rischiano di attirare lattenzione dei neofiti per i motivi
sbagliati. Uno di questi lassenza dei pulsanti per ridurre
le finestre a icona; un altro il fatto che sul desktop non
compare alcuna icona. Quando cliccate con il tasto destro
del mouse sul desktop, quindi, non accedete a unopzione
per la creazione di cartelle o collegamenti, bens a voci che
vi permettono di modificare lo sfondo e di lanciare la finestra
Settings. Le funzioni mancanti, daltronde, possono essere
introdotte per mezzo di numerose estensioni prodotte da terzi.
Per installarle tramite il sito Gnome Extensions (http://
extensions.gnome.org) sufficiente qualche click. Il sito

12

Una visita al sito Gnome Extensions dobbligo

in questione offre decine di estensioni. Alcune tra le pi popolari


vi permettono di attivare funzioni che erano regolarmente
presenti in Gnome 2 e risulteranno utili agli utenti che passano
a Gnome da sistemi operativi proprietari come Windows.

GNOME 3 esteso
Lestensione Application Menu introduce un menu a tendina
per lapplicazione installata, suddiviso per categorie. Unaltra
estensione aggiunge un menu Places che permette di aprire
le varie cartelle del file manager e unaltra ancora introduce
un pannello alla base del desktop completo di Window List
Picker e Workspace Switcher. C perfino unestensione che
sposta lApplications Dock dalla schermata Activities
trasferendolo sul desktop, un po come il Launcher di Ubuntu
Unity. Le estensioni possono essere gestite per mezzo
di Gnome Tweak Tool, uno strumento indispensabile per chi
desidera personalizzare Gnome 3. Vi permette di modificare
laspetto del desktop, di visualizzare icone su di esso,
di modificare il pannello in alto, di alterare il comportamento
delle finestre e degli spazi di lavoro Lapplicazione, facile
da navigare e da usare, disponibile nei repository ufficiali
delle principali distribuzioni che utilizzano il desktop Gnome,
come Fedora. Le modifiche sono suddivise per categorie:
Appearance, Desktop, Top Bar, eccetera. Tra le modifiche pi
utili vi quella che permette di visualizzare le icone sul desktop.
Dopo averla attivata potrete fare lo stesso con le icone
di sistema, come la cartella Home, il Cestino, Mounted Shares
e Network Servers. Attivata questa modifica potrete creare
cartelle e documenti sul desktop. Ferma restando la possibilit
di gestire le estensioni mediante Gnome Tweak Tool, alcune
distribuzioni che usano Gnome, come Korora, presentano
alcune estensioni gi attivate. Per quanto lodevoli siano
gli sforzi degli sviluppatori di Gnome volti a dare vita a un
desktop migliore e pi funzionale, lambiente predefinito
oggettivamente troppo arido e scarno. Attivando alcune
estensioni e aggiungendo qualche ritocco potrete migliorare
la produttivit del desktop senza rinunciare ad alcuna delle sue
caratteristiche pi utili.

Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 12

26/05/14 17:51

Ambienti desktop

KDE 4.12
Ho visto desktop che voi umani

DE risulter familiare per aspetto e stile perfino agli utenti


abituati a sistemi operativi diversi da Linux. La disposizione
e il comportamento del desktop e il sistema Kickoff per lavvio
delle applicazioni aiuteranno senzaltro i neofiti a sentirsi a proprio agio.
KDE, tuttavia, diverso dai desktop caratterizzati da un aspetto
uniforme. Abbiamo gi citato alcune distribuzioni con versioni
personalizzate di KDE, che si differenziano sensibilmente luna dallaltra.
Anche voi, tuttavia, potete toccare con mano la flessibilit di questo
ambiente desktop modificandolo voi stessi. KDE provvisto di pi
interfacce (o View) progettate per sfruttare al meglio lo spazio
disponibile per il desktop su monitor o netbook, senza costringere
lutente a fare una scelta definitiva. Per cambiare View basta cliccare
con il tasto destro del mouse e selezionare lopzione Default Desktop
Settings nel menu contestuale. Nella finestra che si aprir, cliccate
sulla linguetta View e scegliete tra le varie interfacce visibili nel menu
a tendina Layout. Il layout predefinito Desktop View, che vi
incoraggia a collocare widget sul desktop. Con linterfaccia Folder
View potete collocare file e cartelle sul desktop. Search and launch
View uninterfaccia progettata per i dispositivi touchscreen o provvisti
di display ridotti. Ogni View presenta tra laltro elementi aggiuntivi che
possono essere configurati. Perci, selezionando Folder View potrete
accedere a opzioni tramite le quali specificare la posizione della cartella
e la modalit di visualizzazione delle icone. Allo stesso modo, il menu
Search and Launch vi permette di scegliere le categorie delle
applicazioni da visualizzare nel menu principale. I widget svolgono
un ruolo importante nel desktop KDE. Ne contiene a decine e potete
scaricarvene altre ancora. Nella maggior parte delle distribuzioni,
il widget Folder View posizionato sul desktop. Questo widget rende
visibile il contenuto di una cartella in una pratica finestrella che potete
collocare in qualunque punto del desktop. Per aggiungere altri widget
dovete cliccare con il tasto destro del mouse sul desktop e scegliere
lopzione Add Widgets, che vi condurr a una finestra di dialogo in cui
potrete cliccare due volte su un widget o trascinarlo direttamente
sul desktop. Perlopi, i widget offrono almeno qualche opzione
di configurazione. Per accedervi, fate transitare il cursore del mouse
su un widget presente sul desktop. Apparir una linguetta con varie
icone. Cliccate sullicona con la chiave per visualizzare le opzioni
di configurazione del widget in questione. Il widget Folder View offre
opzioni che vi permettono di selezionare la cartella di cui intendete
visualizzare il contenuto e di filtrare specifici tipi di file, pi altre opzioni
analoghe. Allo stesso modo, potete configurare i widget sui pannelli
cliccando con il tasto destro del mouse su un widget e selezionandone
lopzione Settings, anchessa contrassegnata dallicona con la chiave.
Quando avrete impostato i widget secondo le vostre preferenze,
cliccate con il tasto destro del mouse sul desktop o su un pannello e
scegliete lopzione Lock Widgets. Una delle funzioni pi utili introdotte

KDE utilizza interfacce diverse per netbook e computer fissi

da KDE 4 si chiama Activities. Vi permette di creare attivit sensibili


al contesto, per esempio unattivit Social che vi collega a tutti i vostri
account di messaggeria istantanea e rende visibili aggiornamenti
e feed dai vari social network. Molte distribuzioni che utilizzano KDE
comprendono solo lattivit predefinita, chiamata Desktop Activity.
Potete tuttavia scaricarne altre da Internet e installarle in funzione
del vostro stile di lavoro.

Attivatevi

KDE si segnala
per una notevole
eleganza visiva,
che caratterizza
non solo i temi
ma anche elementi
chiave del desktop
come le aree
di notifica

Per creare una nuova attivit o passare a unattivit diversa, accedete


allActivity Manager cliccando sui tre punti colorati accanto al Pager.
Potrete quindi cliccare sul pulsante Create Activity per creare una
nuova attivit basata su modelli gi installati o servirvi dellopzione Get
New Templates per scaricare ulteriori modelli. Alcuni modelli per le
attivit richiedono specifiche applicazioni. Per esempio, lattivit Photos
utilizza il software per la visualizzazione delle immagini Gwenview
e il programma per la gestione delle fotografie Digikam, nonch
il widget Picture Frame. Al primo avvio, lattivit presenta un elenco
di applicazioni a essa associate. Per risparmiare risorse potete
interrompere unattivit che non state utilizzando. Quando desidererete
utilizzarla, selezionate lActivity Manager e cliccate sullattivit
in questione: applicazioni e file ricompariranno cos come li avevate
lasciati. Potete apportare molti altri ritocchi al desktop. Oltre
a raccogliere le opzioni di configurazione insieme ai singoli elementi,
KDE permette di accedervi tramite il pannello System Settings,
che comprende anche altre opzioni di configurazione relative allintero
sistema che vi permettono di gestire la distribuzione di Linux in uso.
Le impostazioni che influiscono sul desktop KDE sono raccolte nelle
prime due categorie del pannello. Lopzione Application Appearance
vi consente di scegliere il tema per i widget e di alterare alcune
caratteristiche specifiche come il colore, le icone e i font. Date
unocchiata allopzione Desktop Effects che, come si intuisce dal
nome, vi permette di attivare e configurare vari effetti di composizione
del desktop. Alcuni effetti presentano anche opzioni configurabili.
Le opzioni di personalizzazione di KDE sono letteralmente infinite.
Questo pu spaventare i neofiti; ma non indispensabile impostare
o esaminare ogni singola opzione per usare il desktop. Personalizzare
KDE unattivit continuativa, non unoperazione da effettuare una
volta per tutte. Questo desktop progettato per crescere ed evolversi
in funzione dei vostri requisiti di utilizzo.
Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 13

13

26/05/14 17:51

Ambienti desktop

Cinnamon 2.0
Ecco il desktop speziato dallaspetto familiare

innamon un altro ambiente che sposa il principio del desktop


standard. nato infatti in conseguenza della delusione della
comunit nei confronti di Gnome 3 e Unity. il desktop
predefinito di Linux Mint, che ne cura tra laltro lo sviluppo;
ed un ambiente standard, con le icone, il pannello in basso che
riporta le notifiche con un elenco delle finestre aperte e il menu delle
applicazioni collocato nella posizione tradizionale, nellangolo in basso
a sinistra della schermata. Il menu delle applicazioni di Cinnamon una
versione rinnovata di quello standard. Diversamente da quelli di Unity
e Gnome, tuttavia, il menu di Cinnamon non occupa lintera schermata
e integra la tradizionale struttura testuale del menu delle applicazioni
con pratiche funzioni ispirate ad altri ambienti desktop, come la barra
Favourite Apps. Cinnamon presenta inoltre alcune funzioni tratte
da altri desktop. Ci sono i widget, che potete collocare sul pannello
oltre che sul desktop. C inoltre un quadro dinsieme delle finestre
aperte nei vari spazi di lavoro in stile Expos, a cui potete accedere
tramite lhot corner in alto a sinistra. Questo desktop offre di per s
abbondanti opzioni di personalizzazione, perci le maggior parte
delle modifiche si limita a potenziare il desktop, senza introdurre
cambiamenti di rilievo in termini di layout o di funzionamento.
Per inserire le vostre applicazioni preferite nel pannello, cercatele con
il menu Application. Cliccate quindi su unapplicazione con il tasto
destro del mouse e il menu contestuale vi sottoporr varie opzioni
per inserirla nel desktop del pannello o nella barra Favourite Apps.
In Cinnamon ogni elemento che compare sul desktop, compreso
il Menu, il pannello e perfino lo stesso pannello di controllo, costituisce
unApplet. Il desktop vi permette di aggiungere nuove Applet alla
Panel Applet.

Un desktop pi saporito
Per aggiungere nuove applet al pannello, cliccateci sopra con il tasto
destro del mouse e selezionate lopzione Add Applet to the panel.
Accederete cos alla finestra Applets. Selezionate unapplet e cliccate
sul pulsante Add to panel; potrete quindi cliccare sullapplet e,
tenendo premuto il tasto del mouse, trasferirla sul pannello. Potete
anche aggiungere delle Desklet al desktop. Cliccate con il tasto destro
del mouse su questultimo e scegliete lopzione Add Desktop.
Cinnamon comprende gi alcune Desklet, come un launcher, un
orologio e una cornice per le fotografie; potrete inoltre scaricarne altre.
Ogni Desklet presenta una serie di impostazioni specifiche. Per
esempio, dopo aver aggiunto la cornice per le foto dovrete indicare
una cartella che contenga immagini e personalizzare altri parametri,
come quello che determina la risoluzione della cornice. Questo
desktop comprende inoltre un proprio pannello di controllo per le

Potete
scaricare ulteriori
elementi per
personalizzare
Cinnamon

14

Il principale punto di forza di Cinnamon il suo aspetto familiare

impostazioni di sistema. Potete visualizzarlo in modalit normale


o passare alla modalit Advanced, che presenta moduli aggiuntivi.
Il modulo Appearances contiene le impostazioni per la modifica
dellaspetto del desktop, relativamente allo sfondo, al font e ai temi.
In modalit Advanced avrete a disposizione anche il modulo Effect,
per attivare o disattivare una serie di effetti di composizione relativi
al desktop nel suo complesso e alle finestre di dialogo. Le impostazioni
pi importanti sono raccolte nella sezione Preferences. Mediante
il modulo Panel potete modificare la disposizione del pannello
spostandolo in un diverso angolo dello schermo o nascondendolo
automaticamente per sfruttare al massimo lo spazio su schermo nel
caso utilizziate netbook o altri dispositivi con display ridotto. La visuale
Advanced vi d accesso anche al modulo Extension.
Per impostazione predefinita questultimo non contiene estensioni,
che dovrete quindi scaricare selezionando lopzione Get More Online.
Potrete scegliere tra vari sistemi per passare da unapplicazione allaltra
premendo Alt-Tab, quali Coverflow App Switcher e 3D App Switcher.
Altre estensioni molto usate sono Desktop Scroller e Wobbly Windows.
Potete selezionare e installare pi estensioni simultaneamente; dopo
averle installate, potrete aggiungerle al desktop. Potrete quindi
personalizzare le estensioni, qualora presentino elementi configurabili.
Il modulo Hot Corner vi permette di associare delle azioni ai quattro
angoli della schermata. Un elemento interessante che oltre
a utilizzare le azioni predefinite, potete anche definire azioni
personalizzate, per lanciare qualunque applicazione o eseguire
qualunque comando.Tramite il modulo Windows personalizzate
laspetto e altre impostazioni delle finestre, per esempio le azioni
prodotte dai click del mouse sulla barra superiore della finestra.
inoltre possibile modificare lordine e la posizione dei pulsanti sulla
barra superiore. Anche il login manager pu essere personalizzato,
per mezzo del modulo Login Screen. Cinnamon contiene un proprio
Login Manager che supporta tre schermate di benvenuto per
i collegamenti, tra cui una HTML che pu utilizzare temi animati
e interattivi. Oltre al tema predefinito, Cinnamon ne offre uno WebGL
denominato Clouds. Cinnamon uno dei motivi del successo di Mint.
Questa distribuzione si assunta il compito di provvedere agli utenti
delusi dalle nuove versioni dei desktop Gnome e Unity. Pur non
offrendo le immense possibilit di personalizzazione di KDE,
Cinnamon fornisce un numero maggiore di opzioni. In pi intuitivo
da usare, il che spiega perch sia inserito tra le opzioni disponibili in
diverse distribuzioni di spicco, quali Mageia, Fedora e OpenSUSE.

Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 14

26/05/14 17:51

Ambienti desktop

Cambiate desktop
Godetevi la variet

questo punto dovreste esservi fatti unidea piuttosto precisa


di quale sia lambiente desktop pi adatto alle vostre
modalit di impiego. possibile, tuttavia, che utilizziate
gi Linux ma che la vostra attuale distribuzione non usi lambiente
in questione. In tal caso, che cosa si deve fare? il caso
di cambiare distribuzione? Passare a una nuova distribuzione
pi facile a dirsi che a farsi e questa scelta comporta specifiche
complessit. Anche a prescindere dal problema del trasferimento
dei dati, non sempre il cambio di distribuzione rappresenta una
soluzione praticabile. Per esempio, se state usando GNOME
su Fedora e intendete passare a Cinnamon su Mint, non sar
sufficiente installare una nuova distribuzione. Passare dalluniverso
RPM di Fedora alla galassia DEB di Ubuntu o viceversa pu
risultare altrettanto arduo che fare labitudine alle peculiarit di un
nuovo desktop. E ora, le buone notizie: potete passare a un nuovo
ambiente desktop senza sobbarcarvi la sgobbata del passaggio
a una nuova distribuzione. A fini pratici, un ambiente desktop non
che un software, per quanto esteso e complesso. Potete quindi
installarlo esattamente come installereste qualunque altro software.
Inoltre, troverete gli ambienti desktop pi popolari nei repository
ufficiali di quasi tutte le principali distribuzioni.

Installazione di GNOME
I progetti Fedora, Mageia e OpenSUSE comprendono tutti versioni
basate sul desktop GNOME, supportate ufficialmente e installabili
da Live CD/DVD. Anche il progetto Ubuntu GNOME permette
di utilizzare questo ambiente con la release pi recente di Ubuntu.
Se tuttavia utilizzate gi una distribuzione, con ogni probabilit
il desktop sar incluso nel relativo repository ufficiale. Potrete
installarlo tramite Ubuntu Software Center o dalla riga di comando,
utilizzando il comando sudo apt-get install gnome-shell. Se usate
Mageia, potrete prelevare questo ambiente desktop dal Centro di
Controllo o mediante il comando urpmi gnome-shell.

Installazione di KDE
Fra le distribuzioni che supportano ufficialmente questo desktop
e producono CD/DVD Live installabili figurano OpenSUSE, Mageia,
Fedora e Mint. Se preferite usare il desktop KDE con Ubuntu,
potrete optare per la distribuzione Kubuntu. Chi utilizza gi Ubuntu
pu procurarsi il desktop tramite il sistema di gestione
dei pacchetti o usando il comando sudo apt-get install kde-

plasma-desktop. Gli utenti di Fedora troveranno inoltre questo


ambiente nel loro repository e potranno installarlo mediante
il comando yum groupinstall KDE Plasma Workspaces.
Il comando urpmi task-kde4 permette infine di installare
il desktop su Mageia. Se usate Mint, potete installare il desktop
mediante il sistema per la gestione dei pacchetti. Questa
distribuzione comprende pi versioni del desktop in questione.
Il comando sudo apt-get install kde-full vi permette di installare
pacchetti che pesano poco pi di 500 MB in totale. Se avete
unampiezza di banda limitata potete servirvi del comando sudo
apt-get install kde-standard, che vi fornir un desktop
funzionale con pacchetti dal peso di circa 250 MB.

Potete installare
pi desktop
tramite
il package manager
della vostra
distribuzione

Installazione di Cinnamon
Se desiderate usare Cinnamon come ambiente Live, la soluzione
una sola: Linux Mint. Il desktop disponibile nei repository ufficiali
di Fedora e Mageia e potete installarlo mediante i rispettivi sistemi
per la gestione dei pacchetti. Se preferite servirvi della riga
di comando, usate yum groupinstall Cinnamon Desktop
per installare il desktop su Fedora e urpmi task-cinnamon
per trasferire i pacchetti necessari su Mageia. Prima di installare
Cinnamon su Ubuntu, invece, dovrete procurarvi il suo repository
PPA con il comando sudo add-apt-repository ppa:gwendallebihan-dev/cinnamon-stable. Aggiornate quindi i repository con
il comando sudo apt-get update. Potrete quindi installare il desktop
mediante Ubuntu Software Center o tramite la riga di comando,
digitando sudo apt-get install cinnamon.

Da un desktop allaltro

Alcune distribuzioni, come Fedora, comprendono anche


strumenti che vi aiutano a cambiare il display manager

Dopo aver installato pi ambienti desktop, potrete facilmente passare


da uno allaltro. Per farlo sufficiente disconnettervi dallambiente
desktop in uso. Utilizzate quindi il login manager per inserire le vostre
credenziali. Prima di collegarvi al nuovo desktop, esaminate i pulsanti
del login manager. Uno di essi vi dar accesso a un elenco a tendina
che riporta tutti i desktop installati. Selezionate quello che volete
utilizzare e il login manager effettuer il collegamento allambiente
prescelto. Non necessario ripetere questa procedura a ogni
collegamento: la maggior parte dei login manager memorizza lultimo
desktop utilizzato e lo riattiva a ogni nuovo avvio del computer. LXP
Linux pro 142

LXP_142_08_15_LXF184.feat_desktop 15

15

26/05/14 17:52

CyanogenMod

Metti il turbo ad Android


CyanogenMod si sta trasformando da mod controllato da una comunit
in impresa commerciale. Scopriamo questa nuova opportunit...

yanogenMod tra le pi popolari ROM


Android prodotte da terze parti,
con i suoi oltre otto milioni di utenti
ma c un problema che da tempo
toglie il sonno ai membri del suo team
di sviluppo. Credo che per ogni persona
che installa CyanogenMod ce ne siano almeno
cinque o sei che ci provano senza riuscirci.
Ho chiesto a uno dei nostri soci di provare
a installarlo e ha finito per rinunciare, racconta
ridendo Koushik Dutta, uno dei responsabili
dello sviluppo di CyanogenMod, pi noto nella
comunit con il nome di Koush. Ha detto:
incredibile che abbiate tanti utenti, considerato
quanto occorre essere contorti e ultra-tecnici
per riuscire a installarlo. Quello di permettere
alle persone di usare concretamente il suo

16

software non un problema che il team


di CyanogenMod prende alla leggera. anzi uno
dei motivi che lo ha spronato a trasformare
la sua ROM Android da creazione comunitaria
in attivit commerciale: Cyanogen Inc. Forte
di sette milioni di dollari di finanziamenti, il team
principale, che oltre a Koush comprende
il fondatore di CyanogenMod Steve Kondik (alias
Cyanogen) ora impegnatissimo a trasformare
la sua ROM per appassionati in un prodotto
di massa. E la prima sfida consiste nel renderla
pi facile da installare. Tutti quanti ci dicono:
S, penso sia fantastica e la condivido con i miei
amici; ma quando poi spiego loro che cosa
devono fare per installarla, lasciano perdere,
spiega Kondik, con laria di chi difende
un prodotto di cui va orgoglioso. Cos, abbiamo

creato questo installer. Noi diciamo che basta


un click, anche se in realt ne occorrono pi
o meno tre. Labbiamo per sottoposto
ad approfondite prove di usabilit, dato che
lobiettivo centrale portare CM al maggior
numero di persone possibile. Nel complesso
riteniamo che lapproccio del giardino cintato
inizi a stancare: gli utenti vogliono unalternativa
e noi lo abbiamo dimostrato in modo
incontrovertibile. Con questo installer
la crescita di CM diventer incredibile, schizzer
alle stelle. Kondik sa quello che dice: dopo
lannuncio relativo a Cyanogen Inc i server,
nuovi di zecca, sono stati messi in ginocchio
da oltre 38 milioni di scaricamenti in un solo
mese. E il team ha tenuto a precisare
che linstaller, bench considerato il primo

Linux pro 142

LXP_142_16_19_LXF183.feat_c 16

26/05/14 17:59

CyanogenMod

Il team
di CyanogenMod
comprende
in realt migliaia
di collaboratori

fondamentale passo inteso a rendere CM pi


popolare al di fuori dello zoccolo duro degli
utenti di Android, non altro che linizio.

Il nuovo che avanza


Dobbiamo renderlo veramente facile
da installare e quindi dobbiamo iniziare a offrire
alle persone motivi realmente validi per
adottarlo, spiega Koush. Al momento, il motivo
principale per cui la gente lo installa che
il resto non granch, continua con una nota
di esitazione. chiaro che non vuole mancare
di rispetto al lavoro altrui; ma altrettanto
chiaro che questa lidea che sta spronando
il team a fare di CM qualcosa di pi grande.
Koush riacquista fiducia quando afferma: Io non
voglio che il motivo per cui gli utenti scelgono
noi sia che la concorrenza non granch. Voglio
che lo facciano perch noi siamo favolosi.
Per giungere a un punto in cui CM sia in grado
di attirare gli utenti, il team sta adottando alcuni
approcci nuovi. Uno consiste nellintegrare
servizi pi utili nel sistema operativo, tra cui
alcuni servizi di rete. Stiamo commissionando
a un prestigioso esperto di sicurezza, Moxie
Marlinspike, la realizzazione di un sistema
di messaggeria/iMessage, spiega Koush.
Unaltra grande novit sar linstallazione di CM
sui cellulari come sistema operativo predefinito.

Il primo passo sar una collaborazione con


Oppo relativa allN1, un nuovo modello: Oppo
ci ha gi sostenuti in passato e quando abbiamo
fondato lazienda li ho informati di ci che stava
avvenendo. Per il lancio mondiale dellN1 ci sar
una versione ufficialmente supportata di CM,
nonch unedizione limitata del dispositivo in cui
CM sar il sistema predefinito, spiega Kondik.
E questo non che linizio. Avremo la possibilit
di condurre esperimenti per predisporre tutto
ci che occorre per unoperazione del genere
e poi, lanno prossimo, faremo qualcosa
di ancora pi grande. La cosa andr fatta come
si deve, per. Non possiamo limitarci a piazzare
il nostro marchio su un telefono e venderlo.
Dobbiamo offrire qualcosa che gli utenti non
possano trovare altrove, specie se vogliamo

guadagnarci sopra. Sar fondamentale disporre


di un sistema veramente eccellente e di servizi
veramente eccellenti. La gente non sborsa 800
dollari per un dispositivo a meno che questo
le offra qualcosa che non pu ottenere altrove.
Questa inoltre unopportunit per sfruttare
le conoscenze del team e la flessibilit delle
origini Android di CM per creare qualcosa
di nuovo in grado di conquistare un pubblico
differente. Una delle cose di cui ci stiamo
occupando ora lelaborazione di una versione
di CM (o meglio, di una sua integrazione) pi
adatta a un settore pi ampio del mercato, dice
Kondik. CM assolutamente perfetto per gli
utenti pi tecnici: interamente progettato
per chi ha una mentalit tecnica. Non vogliamo
certo annacquarlo ma intendiamo dare un volto

Oltre il telefono
Una delle opportunit che si presentano alla
nuova impresa consiste nel guardare al di l
dei sistemi operativi per smartphone. Stiamo
riscuotendo molto interesse da parte dei
produttori di TV stick, in particolare dopo
il lancio di Chromecast, spiega Koush. Nella
mia casella di posta elettronica hanno fatto
capolino sette od otto aziende diverse
interessate a integrare CyanogenMod in un TV

stick per creare qualcosa di veramente


interessante. Non credo per che questa sia
una cosa a cui possiamo dedicarci in questo
momento, con un team di sole 17 persone.
Per il momento dobbiamo concentrarci
al massimo sui nostri obiettivi. Sicuramente,
per, una prospettiva interessante:
mi piacerebbe molto fare qualcosa del genere
quando avremo pi risorse.

Linux pro 142

LXP_142_16_19_LXF183.feat_c 17

17

26/05/14 18:00

CyanogenMod
Il responsabile dello
sviluppo Koushik Dutta,
alias Koush, ha tutte
le ragioni per avere
unaria soddisfatta

Open Source. Kondik comprende questi timori


ma ribatte senza mezzi termini che sono
infondati. Guardate Android: stato creato con
un obiettivo molto specifico, cio rivoluzionare
completamente un settore che si era spinto
talmente lontano sulla strada del software
proprietario da finire in un vicolo cieco.
E ci riuscito perfettamente. Ora per
sta capitando di nuovo e noi speriamo
di rappresentare una risposta, osserva. Per
necessario trovare un equilibrio. Le cose che
non pubblicheremo come Open Source sono
quelle che ci danno un vantaggio competitivo.
Non pubblicheremo il codice sorgente del
nostro installer: sarebbe decisamente una follia.

Restare competitivi

pi umano a parte dei suoi componenti. Lanno


prossimo intendiamo lanciare qualcosa di grosso
che si rivolga a un mercato pi ampio.

Conquistare le masse
Questi progetti contribuiscono a spiegare perch
il team abbia deciso di portare CM a un livello
pi alto creandogli intorno unimpresa; tale
decisione, comprensibilmente, ha creato per
qualche preoccupazione in seno alla comunit,
mentre alcuni collaboratori si domandavano
se avrebbero avuto diritto a una quota
dei profitti della nuova azienda in cambio
dellimpegno da loro profuso nel progetto.
Ho la sensazione che alcuni tra i pi giovani
abbiano pensato che Steve e io ci siamo fatti
firmare un bellassegno da sette milioni
di dollari, per poi depositarlo sui nostri conti
in banca, commenta Koush con un misto
di divertimento e frustrazione. Il denaro che

abbiamo ricevuto servito a fondare


unimpresa, cio ad assumere personale,
a pagarlo, a mettere in piedi un ufficio, a pagare
i server che sono stati gratuiti per tanto tempo,
a pagare per la banda Stiamo pagando una
tale quantit di cose che la lettura dei
movimenti sul nostro conto aziendale
decisamente agghiacciante. La nuova azienda
non ha interesse a pagare per i contributi
precedenti, poich questi non contribuiscono
in alcun modo ad allargare le sue attivit.
Assumeremo alcuni dei collaboratori, dice
Koush. Inoltre vogliamo seguire lesempio
di altri progetti Open Source, per esempio
istituendo premi per chi crea nuove funzioni.
E intendiamo anche commissionare progetti
ad altre persone. La nuova impresa ha inoltre
annunciato che parte di ci che realizzer avr
natura proprietaria, il che ha sollevato
preoccupazioni riguardo al futuro del progetto

Lavoro di squadra
La collaborazione con migliaia di persone sparse
in tutto il mondo pu produrre software fantastici
ma comporta anche inevitabili ostacoli: I conflitti
sono quotidiani: per tutto il giorno, ogni giorno,
commenta ridendo Kondik. In gran parte dipendono
da divergenze filosofiche. Noi cerchiamo di adottare
un approccio piuttosto conservatore riguardo
alle funzioni ma esistono innumerevoli creazioni
ricavate dalle nostre che applicano un approccio
praticamente aperto a qualsiasi cosa. Il fatto
che noi teniamo a superare lesame dellAndroid

18

Compatibility Test Suite, dato che abbiamo sempre


voluto creare un prodotto professionale e teniamo
sempre presente questo punto. La risoluzione
dei conflitti, daltronde, unesigenza tipica
di qualunque comunit Open Source. un sistema
sostanzialmente meritocratico: se proprio non
si riesce a risolvere un problema, qualcuno di noi
si fa avanti e dice: Questo tecnicamente superiore
a questaltro. Tutto dipende in ultima analisi dai meriti
tecnici. Non possiamo certo indulgere a favoritismi
se il codice del software non ottimale, no?

Koush tiene per a sgombrare il campo dai


timori di chiusura totale: Non abbiamo alcuna
intenzione di chiudere i codici sorgente di ci
che esiste gi, ribatte con decisione. Stiamo
costruendo sulla base del progetto Open
Source. Non utilizziamo nemmeno internamente
un fork chiuso per CM. Per tutto ci che sar
necessario per supportare le nostre applicazioni,
creeremo e pubblicheremo le API [interfacce
di programmazione delle applicazioni] in ambito
Open Source. In prospettiva vi saranno due
ambiti di pubblicazione. Uno rimarr com
ora e riguarder ci che pubblichiamo oggi.
In aggiunta, ci sar una versione con contenuti
aggiuntivi da noi realizzati e che riteniamo
decisamente eccezionali. Alcuni membri della
comunit hanno inoltre espresso preoccupazioni
riguardo alla pressione a guadagnare a cui
soggetta qualunque impresa e alle
conseguenze che questo potr avere per CM.
Per il momento ci stiamo attenendo alla grande
massima di Silicon Valley: procuratevi gli utenti,
i soldi verranno dopo, replica Kondik. Questa
strategia, tuttavia, pu essere problematica:
spesso gli utenti non reagiscono bene
allintroduzione di elementi come la pubblicit
in servizi che ne erano precedentemente privi.
Direi che un nostro pregio e uno dei motivi per
cui le persone vogliono usare i nostri prodotti
che non facciamo questo tipo di cose,
continua Kondik. Se cominciassimo a farle,
sarebbe un suicidio. Lo sentiamo ripetere
dappertutto: Oh, adesso ci metteranno dentro
la pubblicit e schifezze varie e via dicendo.
Questo per esattamente lopposto dei nostri
piani. La nostra idea non fare soldi in fretta
e sbaraccare. Stiamo cercando di costruire
qualcosa di importante. Sono in gioco troppo
impegno e le emozioni di troppe persone
per lasciare che il prodotto sia meno di ci
che merita di essere. Per un progetto come
CyanogenMod importante ricordare
le emozioni e la storia che hanno fatto
del movimento ci che oggi. Quando Kondik
e Koush rievocano gli esordi, parlano della

Linux pro 142

LXP_142_16_19_LXF183.feat_c 18

26/05/14 18:00

CyanogenMod

Ledizione limitata dellOppo N1 utilizzer


CyanogenMod come sistema predefinito

velocit dello sviluppo e dellenergia di coloro


che vi hanno contribuito come se non fossero
del tutto sicuri di come ci sia potuto avvenire
o che sia avvenuto davvero. Qualcuno aveva
gi valutato approcci diversi allo sviluppo
di Android ma quando ho postato la mia
versione, la gente sembrata andare in visibilio,
racconta Kondik. stato un periodo favoloso,
per la velocit con cui la gente provava la mia
soluzione e mi forniva suggerimenti su ci
che non funzionava o poteva essere migliorato.
Cos ho continuato a lavorarci per alcuni mesi
e sempre pi persone hanno iniziato a usarla,
a mettere a disposizione patch e a esprimere
il desiderio di lavorarci sopra. Koush entrato
in scena pi avanti, quando stato messo
in commercio il primo Motorola Droid e ha
iniziato ad adattarvi CM. Ricordo che il primo

anno cerano forse una dozzina di persone;


poi sono sparito per un anno e, quando sono
tornato, erano un centinaio, racconta Koush.
Lanno seguente erano 500 e oggi sono 2.000.
pazzesco: una crescita esponenziale in termini
di collaboratori e utenti.

Guadagnare terreno
Malgrado tutti i mutamenti implicati dalla
trasformazione di un progetto sostenuto
esclusivamente da una comunit e da contributi
volontari in un affare finanziariamente
importante, il team promette che lo stile
di CyanogenMod non cambier. Molti di coloro
che erano coinvolti nel progetto Open Source,
compreso il sottoscritto, andavano al lavoro
di giorno per poi tirare tardi lavorando su CM,
dice Kondik. Oggi invece lavoriamo su CM

Un installer migliorato
Il nuovo installer per CyanogenMod una delle tessere
pi importanti del puzzle che dovrebbe allargare
il pubblico del software e ha rappresentato una sfida sia
sul piano tecnico sia su quello della progettazione:
Esistono centinaia di dispositivi: ognuno funziona
in modo diverso e ha particolarit proprie, spiega
Kondik. Ogni casa produttrice ha propri strumenti
che siamo costretti a utilizzare e che nella maggior
parte dei casi non sono stati concepiti per luso che
dobbiamo farne noi. Quando abbiamo realizzato
la prima versione dello strumento, abbiamo condotto
il nostro primo test di usabilit con laiuto di un tizio
veramente sveglio dal notevole bagaglio tecnico:
il vicepresidente di unazienda piuttosto grande.
Gli abbiamo chiesto di installare CM e il suo responso
non stato esattamente quello che avevamo previsto,
per dirla con un eufemismo. Ha combinato un vero

disastro, ricorda Koush, che oggi pu ridere


di quellesperienza. stato buffo, perch era un utente
di iPhone e di Apple, perci non usava n Android
n Windows, che il sistema operativo usato per
linstallazione. Perci, in sostanza, tutto ci che avrebbe
potuto andare storto lo ha fatto. Quellesperienza per
ci ha aperto gli occhi: oggi vogliamo rendere
linstallazione interamente accessibile anche per chi non
sa assolutamente nulla di come funziona il tutto. Direi
che il punto questo: proprio perch avevamo una
conoscenza cos approfondita del sistema, inizialmente
non ci siamo resi conto di quali fossero le difficolt,
perch davamo tutto per scontato. Ora abbiamo
affrontato il problema, ricostruendo tutto da zero
per circa quattro mesi e adottando una prospettiva
nuova; e questo ha rappresentato un miglioramento
nettissimo rispetto alla soluzione precedente.

a tempo pieno. Una cosa che non cambiata,


per, il fatto che continuiamo a tirare molto
tardi, fino alle 5 del mattino, commenta
ridendo. Si tratta della classica startup alla
Silicon Valley, con lufficio pieno di gingilli buffi?
Abbiamo un Kegerator! esclama orgoglioso
Kondik. E una bellissima macchina del caff,
aggiunge Koush. Siamo tutti sulla stessa
lunghezza donda: un ufficio deve stimolare
la voglia di lavorare, perci non ci sono cubicoli
da noi. un posto piacevole e ben arredato.
Una cosa, tuttavia, cambier di sicuro
per CyanogenMod quando verr lanciato
per il pubblico di massa: il nome. A detta
del team, lazienda continuer a chiamarsi
Cyanogen e il progetto Open Source conserver
il suo nome attuale; ma per raggiungere
un pubblico pi ampio il sistema operativo dovr
avere un nuovo nome. Il cambiamento potrebbe
avere qualcosa a che fare con la collaborazione
di CM con OnePlus (http://oneplus.net)
ma in proposito Koush mantiene le labbra
cucite: Certo, il nome cambier, ridacchia.
Per un prodotto destinato al mercato di massa,
CyanogenMod un mezzo scioglilingua. LXP

Linux pro 142

LXP_142_16_19_LXF183.feat_c 19

19

26/05/14 18:00

Android sicuro

Android sicuro
Lo smartphone il vostro PC e Linux Pro vi aiuta
a capire come metterlo in sicurezza

e qualcuno fosse veramente interessato,


potrebbe rilevare la vostra esatta posizione
in questo preciso momento. Probabilmente
vedrebbe perfino cosa state leggendo
e registrerebbe anche i respiri che emettete.
Nel frattempo, il malintenzionato di turno avr letto
tutti i vostri messaggi, rubando i contatti
e controllando il credito residuo
sulla SIM dello smartphone.
Questa non fantascienza,
ma la dura realt. Forse non ci fate
caso, ma in tasca avete il miglior amico
dei ficcanaso. Lo portate ovunque:
dal vostro ufficio alla camera da letto,
dalla sala da pranzo al bagno. Registra tutto quello
che fate e pu rivoltarvelo contro in pochi minuti.
Che ci crediate o no, lo smartphone moderno
il peggior incubo della privacy. Pensate a quello
che avete memorizzato al suo interno: indirizzi,
e-mail, numeri di telefono, appuntamenti, foto

e probabilmente anche informazioni finanziarie


personali. Come se non bastasse, il telefono pu
monitorare continuamente la vostra posizione
per costruire un profilo dettagliato degli
spostamenti. I modi che questi dispositivi utilizzano
per inviare i dati e le informazioni sul vostro conto
sono davvero tanti e questo un problema tanto

che il 97% delle applicazioni provate accede


impropriamente a fonti di informazioni private
contenute nel dispositivo. Ha poi rilevato
che l86% degli utenti non aveva alcun mezzo
per proteggersi dai comuni exploit. Non ci sono
per solo brutte notizie, ma anche qualche aspetto
positivo. Infatti, gli smartphone consentono
di modificare numerose
impostazioni relative alla privacy
con un semplice tocco. Non sar
quindi difficile iniziare a tappare
le falle della sicurezza. In questo
articolo diamo unocchiata ai vari
modi in cui lutilizzo del telefono pu
essere una seria minaccia per le vostre informazioni
personali, ma valuteremo anche le azioni
per ridurre al minimo questo pericolo. Vedremo
poi alcuni strumenti che vi consentono di prendere
il controllo sulla privacy e aiutano a comunicare
con i contatti senza compromettere la riservatezza.

Il 97% delle app provate


accede indebitamente alle
vostre informazioni personali

20

per coloro che vogliono rimanere anonimi, quanto


per lutente medio. In realt, anche se non
utilizzate lo smartphone per inoltrare
una chiamata, state gi trasmettendo informazioni
solo per il fatto di averlo acceso. In un recente
studio condotto da HP, lazienda ha scoperto

Linux pro 142

LXP_142_20_23_LXF182.feat_android 20

26/05/14 17:28

Android sicuro

Siete tutti osservati


Prevenite la curiosit delle app che vogliono accedere ai vostri dati

a maggior parte dei compiti che una volta


venivano eseguiti solo dai computer, adesso
fa parte del background funzionale
dei cellulari. Questi, infatti, possono essere usati come
lettori multimediali, registratori, dispositivi per giocare,
navigatori GPS e molto altro ancora. Ovviamente,
per sfruttare tutte queste comodit sono necessarie
applicazioni dedicate. Purtroppo, per, sono proprio
le app lanello debole della catena per quanto
riguarda la diffusione dei dati personali. Molte
di queste accedono ai vostri documenti per migliorare
lesperienza duso, ma il problema risiede nel dovervi
assicurare che quanto utilizzato dallapplicazione non
venga inviato a soggetti terzi. Purtroppo, non tutte
le app spiegano nel dettaglio cosa ne faranno
dei vostri dati e quindi non potete sapere se siete
veramente al sicuro. Ci sono poi i servizi Web gratuiti
come Google, Twitter, Facebook e altri, che pur non
facendovi sborsare un euro, chiedono in cambio
informazioni sulla vostra persona. Queste vengono
utilizzate per migliorare il targeting degli annunci
e se per alcune persone questo non un problema,
per chi tiene alla propria privacy non certo
il massimo. Uno degli strumenti principali del vostro
smartphone Android il sistema di autorizzazioni.
Quando installate unapplicazione, essa vi informa
su quali funzioni intende mettere le mani ed quindi
possibile scegliere se andare avanti o meno

con la procedura. Purtroppo, questo sistema


addossa molta responsabilit agli utenti, che in teoria
dovrebbero sapere se tali richieste di accesso sono
giustificate. Secondo alcuni studi (fonte: http://bit.
ly/1bRbsVr), molte app richiedono fin troppe
autorizzazioni. Ci sono per diversi modi per
visualizzare le richieste fatte dalle applicazioni stesse.
Lapp gratuita Clueful di BitDefender consente
di identificare ci che unapplicazione sta facendo,
mettendolo in relazione con cosa invece dovrebbe
fare. Clueful, una volta installata, scansiona tutte
le vostre app classificandole con tre generi di rischio:
alto, medio, basso. quindi possibile controllare la lista
e selezionare ciascuna applicazione, scoprendo
a quali funzioni pu accedere. Se per caso dovessero
essere rilevati software ad alto rischio, il nostro
consiglio di disinstallarli. C poi Anti-Malware
di Malwarebytes, che include anche un Privacy
Manager capace di analizzare le applicazioni
e dividerle in categorie secondo le funzioni dello
smartphone a cui hanno accesso. Questapp sar
quindi utile quando volete visualizzare tutti i software
che entrano in contatto con le vostre informazioni
personali, come lelenco dei contatti o la cronologia Web.

Controllare i permessi
Una volta identificata unapplicazione pericolosa per
la privacy, possibile rimuoverla. Google, in Android
4.3, si recentemente lasciato sfuggire una
funzionalit interessante per la protezione dei dati
personali, che potete sbloccare tramite lo strumento
Aps Ops. In pratica, per ogni applicazione, potrete
disattivare singolarmente ogni voce che prende
in considerazione la vostra privacy. Per esempio,
installando Shazam avete i permessi per disabilitare
la funzionalit che gli permette di rilevare la vostra
posizione. Purtroppo Google ha poi rimosso
questa gradita funzione e, alla seguente richiesta
di spiegazioni, ha affermato che lopzione in questione
era una semplice sperimentazione rilasciata
accidentalmente. Se usate Android con permessi
di root, potete ancora recuperare questa funzione
come modulo per il framework Xposed. Non solo,
perch sempre chi ha un dispositivo con root
pu utilizzare il modulo XPrivacy per Xposed,
con cui possibile controllare le autorizzazioni

specifiche di tutte le applicazioni installate e,


se tenete alla vostra riservatezza, la cosa migliore
che potete fare disattivare la funzione di accesso
ai contatti per ogni app che non ne fa strettamente
uso. XPrivacy, a questo punto, protegger le
informazioni reali, dando in pasto alle applicazioni che
la richiedono una lista di dati fasulli. Detto questo,
oltre a prevenire che le app carpiscano senza il vostro
consenso le informazioni memorizzate nello
smartphone, dovreste anche ridurre i dati personali
che vi contenete. Condividere le immagini scattate
con lo smartphone, per esempio, una fonte
inesauribile di informazioni, poich a causa dei dati
EXIF possibile venire a conoscenza di moltissimi
particolari. Se per esempio scattate una foto con
un dispositivo dotato di GPS, un malintenzionato pu
rilevare la vostra posizione, il momento stesso in cui
avete scattato limmagine e lID del dispositivo. Come
avrete ben capito, quindi, rimuovere le informazioni
EXIF dalle immagini prima di condividerle molto
importante e a questo proposito potete utilizzare
EXIF Remover, unapplicazione particolare che non
sfrutta alcuna interfaccia grafica. Una volta installata,
vi comparir come opzione direttamente nel menu
Condividi. Se la selezionate, intercetter tutte
le immagini che volete condividere e canceller i dati
EXIF prima di mandarle in giro per la Rete. Unaltra
buona abitudine per proteggere la privacy consiste
nel crittografare i file che volete condividere su servizi
Cloud come Dropbox o Google Drive. Potete farlo
facilmente su un PC Linux con EncFS. Disponibile nei
repository delle distribuzioni pi popolari come Fedora
e Ubuntu, questo strumento richiede la creazione
di due directory: la prima ospita il contenuto non
crittografato, la seconda la versione criptata. Il suo
sistema di funzionamento molto semplice: preleva
i file non crittografati dallapposita cartella e li cifra
al volo memorizzandoli nellaltra directory.
Per utilizzare EncFS con Dropbox, basta aggiungere
la cartella crittografata allinterno dello spazio Cloud.
In questo modo tutti i cambiamenti che avvengono
nella directory criptata vengono automaticamente
sincronizzati. Dopo aver installato EncFS, create
le due cartelle con encfs ~/Dropbox/.encrypted
~/Private e, una volta risposto alle domande di rito,
lapplicazione creer le cartelle.

Tre gradi di separazione


Imparare a utilizzare XPrivacy richiede
tempo, perch non n semplice n immediato

Non necessario essere dei terroristi per fare in modo


che la NSA si interessi alle nostre comunicazioni.
Lagenzia, infatti, autorizzata a scavare per ben tre
gradi partendo dalla persona che sta intercettando.

Quindi pu seguire il sospetto che parla con voi, voi che


parlate con un vostro amico e il vostro amico che parla
con qualcun altro. In pratica, utilizzando questo sistema,
la NSA in grado di monitorare chiunque.

Linux pro 142

LXP_142_20_23_LXF182.feat_android 21

21
26/05/14 17:29

Android sicuro

Comunicate in sicurezza
Ecco come usare il vostro smartphone in incognito

no dei migliori modi per proteggere


il telefono cellulare da qualsiasi tipo
di sorveglianza usare la crittografia
end-to-end. C un numero crescente di applicazioni
e servizi che consentono di crittografare i dati
sul dispositivo prima di essere inviati e quindi
decifrati sul telefono del destinatario. La crittografia
non impedisce di memorizzare dei dati nella cache,
ma salvaguarda contro ogni tipo di spionaggio,
rendendo incomprensibili le informazioni a chiunque
non sia in possesso delle chiavi di decrittazione
corrette. Per iniziare la vostra campagna per
la privacy, opportuno proteggere la navigazione
in Internet. Su Android, infatti, potete installare
una serie di componenti aggiuntivi per il browser.
Uno dei pi popolari Phony, che potrete utilizzare
per personalizzare lo user-agent del programma
di navigazione ed evitare che i siti rilevino che state
utilizzando un dispositivo mobile. C poi un add-on
che elimina tutti i cookie di un sito non appena
ne chiudete la pagina. Per un controllo pi
completo, comunque possibile utilizzare
CleanQuit, che rimuove tutte le informazioni sulla
sessione di navigazione precedente, tra cui anche
la cronologia di download e le preferenze. Se volete
raggiungere veramente lanonimato, dovete per
utilizzare OrWeb (http://bit.ly/1eiYktj),
un browser preconfigurato per la navigazione
in incognito. Pu sfruttare anche un plug-in
per mascherare il vostro dispositivo, consentire
il controllo dei cookie e impedire il caricamento
di contenuti Flash, il tutto senza mantenere traccia
della cronologia. Potete poi usare Orbot, che
in pratica la versione di Tor per Android. Al primo
avvio, Orbot vi guider in una procedura passo
passo per la configurazione rapida. Se poi avete
un telefono con permessi di root, potrete attivare

LApp EncDroid di Android permette di creare


cartelle crittografate EncFS e in pi le sincronizza

22

il transparent proxying, il quale direziona tutte


le applicazioni che si collegano al Web verso la rete
Tor. Per firmare e crittografare i messaggi di posta
elettronica su un dispositivo mobile, necessaria
lapplicazione Android Privacy Guard (APG),
unintegrazione Open Source di OpenPGP. Avrete
quindi bisogno del client email K-9, che pu
integrarsi perfettamente con APG. Al primo avvio
di K-9, dovrete configurarlo per collegarsi al server
di posta elettronica. Una volta fatto, lancerete APG
selezionando il pulsante del menu che vi permette
di gestire le chiavi private e quelle pubbliche.
Potrete quindi esportarle dal desktop e importarle
in APG. Una volta importate, K-9 permetter
di firmare e crittografare i messaggi ogni volta che
scrivete una nuova email. Viceversa, vi permetter
di decifrare i testi quando ne ricevete di criptati.
Se invece volete crittografare i messaggi istantanei,
dovete utilizzare lapp Open Source ChatSecure.
Questa utilizza il protocollo OTR per abilitare
sessioni di chat sicure su account XMPP. Utilizzando
questapplicazione, potrete svolgere conversazioni
blindate con i vostri amici su reti popolari come
Google Hangout, Facebook e su ogni altro client
compatibile con OTR come Pidgin, Adium e Jitsi.

Vecchia scuola
Unaltra forma di comunicazione testuale molto
utilizzata lSMS. Anche se in costante
diminuzione a causa dei prezzi e del continuo
nascere di servizi come WhatsApp e simili, viene
ancora molto utilizzata. Potete crittografare gli
SMS con TextSecure, che pu rendere illeggibili
i messaggi memorizzati localmente sul telefono.
Tuttavia, per inviare messaggi crittografati
a un vostro contatto, questo deve avere installato
la stessa applicazione. Quando lanciate TextSecure
per la prima volta, potrete criptare immediatamente
tutti i messaggi. A questo proposito, consigliamo
di eliminare quelli in chiaro non appena vengono
generate le versioni crittografate. Prima di inviare
SMS dovrete creare una connessione sicura con
il dispositivo del destinatario attraverso lo scambio
di chiavi. TextSecure invier quindi un messaggio
al vostro contatto, la cui applicazione risponder
subito con un ulteriore SMS, stabilendo cos
la connessione sicura. Da questo momento
in poi, siete liberi di inviare messaggi criptati.
Molti di noi, per non dire la maggioranza, sfruttano
le normali reti di telefonia mobile per inoltrare
e ricevere chiamate. Quello che forse non sapete
che esistono servizi in grado di creare canali
sicuri per contrastare qualsiasi tentativo
di intercettare la conversazione. Unapplicazione

Potete usare lApp Jitsi per lanciare


videochiamate sicure

come RedPhone ha il compito di criptare


le chiamate effettuate da Internet. C anche
SilentPhone, sviluppato dallo stesso Phil
Zimmerman che ha dato alla luce OpenPGP
per la protezione delle email, che usa
il protocollo ZRPT per mettere al sicuro
le chiamate VoIP. Lapp non per gratuita,
ma richiede la sottoscrizione di un abbonamento
per 10 dollari (7 euro circa). Entrambe
le soluzioni citate fanno esattamente quello che
dicono e permettono di crittografare le chiamate.
Tuttavia, la loro maggiore limitazione risiede nella
necessit di far installare le stesse applicazioni
anche sul dispositivo dei vostri contatti. In caso
contrario, non sarete in grado di stabilire una
conversazione sicura. Il progetto Ostel si sta
occupando proprio di risolvere questo problema.
Tramite lo standard noto come Open Source
Telephony Network (OSTN), utilizza protocolli
liberi per creare canali di comunicazione vocali
end-to-end crittografati. Il suo punto di forza sta
nel fatto che potrete connettervi con qualsiasi
contatto che sta utilizzando unapplicazione
capace di supportare OSTN. Per Android
c gi lApp CSipSimple, per iPhone trovate
Acrobits, mentre chi usa BlackBerry sfrutter
PrivateGSM. Chi invece continua a servirsi
di un PC, Jitsi un programma cross-platform
che funziona su Linux, Windows e Mac.

Linux pro 142

LXP_142_20_23_LXF182.feat_android 22

26/05/14 17:29

Android sicuro

Mettetevi al sicuro
Chiudete porte e portelli per non far entrare nessuno

ltre a limitare il flusso di dati inviati


da applicazioni di terze parti e crittografare
tutte le varie forme di comunicazione,
dovrete anche proteggervi dal rischio di manomissioni
fisiche: furti o accessi non autorizzati. Se siete
veramente attenti alla privacy, dovreste almeno
utilizzare unopzione per bloccare il telefono. Potete
limitare laccesso tramite una password alfanumerica,
un comando vocale, oppure utilizzare una chiave
grafica, che consiste nel disegnare una forma
predefinita sul display dello smartphone. Se utilizzate
le schermate di blocco, dovreste preoccuparvi anche

di disattivare i widget. Per farlo per necessario


utilizzare unapplicazione di terze parti come
Lockscreen Policy, che adesso integrata nella pi
recente versione di Android. Il blocco del telefono,
per, non serve quando consegnate lo smartphone
a qualcuno senza che sia bloccato. A questo
proposito, potete utilizzare Screen Locker (http://
bit.ly/LRBttz), che consente di bloccare lo schermo
prima che il telefono passi di mano. Lapplicazione
disabilita tutte le forme di input e impedisce agli utenti
di visualizzare qualcosa di diverso da ci che
presente al momento sul display. Ci sono poi
le applicazioni utili per impedire laccesso alle app
tramite una password. Una di queste Privacy
Master Free, che simula un falso crash del software
ogni volta che qualcuno tenta di avviarlo. Inoltre,
impedisce laccesso alle aree chiave come Google
Play Store ed in grado di bloccare il Task Manager
cos come i collegamenti USB. AppLock unaltra
applicazione che, insieme alla capacit di bloccare
laccesso alle app, consente perfino di nascondere
foto e video. Inoltre, pu impedire la modifica
non autorizzata delle impostazioni, come per esempio
quelle relative al Wi-Fi. Una delle migliori
caratteristiche di AppLock consiste nel creare
dei profili di blocco. Cos facendo, potete generare
una lista di applicazioni che volete bloccare solo
quando siete in ufficio e unaltra quando invece
vi trovate in famiglia. Potete attivare i blocchi in base
al luogo (casa, ufficio, tempo libero), o seguendo
lorario. Dal punto di vista della sicurezza,
lapplicazione riorganizza casualmente la vostra
tastiera numerica, cos da impedire ad altri di carpire
le password seguendo il movimento delle dita.
AppLock, infine, si occulta allinterno del dispositivo,
cos da non essere rilevata.

Criptate lo smartphone
Oltre alla cifratura, SSE pu cancellare in modo
sicuro i file, cos da evitare che qualcuno li recuperi

La vostra attenzione per la privacy dovrebbe


poi portarvi a crittografare i dati direttamente
sul dispositivo attraverso la funzione integrata.
Tuttavia, in questo particolare processo, ci sono alcuni

svantaggi da valutare. In primo luogo la crittografia


a senso unico, vale a dire che una volta attivata
non c alcun modo per disattivarla. In pratica,
se non volete pi farne uso, dovrete ripristinare
il telefono perdendo cos tutti i dati. Inoltre
importante eseguire un backup prima di avviare
il processo, ma soprattutto fare in modo che durante
il criptaggio non si verifichino interruzioni di alcun
genere. In caso contrario, non sarete pi in grado
di utilizzare lo smartphone. Prima di iniziare,
assicuratevi di aver impostato un PIN di blocco dello
schermo o in alternativa una password, che Android
utilizzer come chiave di decrittazione. Per la crittografia,
andate in Impostazioni D Sicurezza D Esegui
crittografia telefono. Dora in poi tutte le volte
che accenderete lo smartphone dovrete inserire
il PIN o la password. Se non volete crittografare
lintero dispositivo, niente vi impedisce di rendere
illeggibili solo alcuni file. In questo frangente, una delle
migliori applicazioni SSE Universal Encryption,
che permette di utilizzare tutti gli algoritmi di cifratura
pi diffusi tra cui AES 256, Serpent 256 e Blowfish
256. Lapp composta da tre moduli: Password
Vault consente di memorizzare in modo sicuro
le password organizzandole in cartelle, Message
Encryptor crittografa i frammenti di testo, mentre
Encryptor File/Dir permette di scegliere qualsiasi file
memorizzato nel dispositivo per poi criptarlo.
CyanogenMod, invece, richiede un po di fatica
per essere installata, ma se prendete in prestito
un PC con Windows, potete risparmiare tempo
e fatica sfruttando il CyanogenMod Installer
(http://get.com). Gli appassionati di Software Libero
potrebbero per volere unalternativa, che in questo
caso viene fornita da Replicant. Basandosi su
CyanogenMod, riesce a sostituire tutti i componenti
proprietari di Android con le loro controparti free.
Infine una notizia interessante: Silent Circle di Phil
Zimmerman ha stretto una partnership con il produttore
di smartphone Geeksphone, da cui sta per nascere
Blackphone, un dispositivo che sfrutter PrivatOS
e avr il compito di proteggere la vostra privacy. LXP

Passate a un firmware di terze parti


Ogni anno, Google lancia una versione vanilla Android da scaricare, che nella
tradizione popolare pi comunemente conosciuta come AOSP. Molti
programmatori, dopo aver scaricato questa particolare release del sistema
operativo, la usano per creare la propria versione di Android. CyanogenMod,
per esempio, una delle distribuzioni pi popolari. Uno dei motivi alla base
della sua notoriet risiede nelloffrire il controllo completo del dispositivo,
liberandolo da ogni legame con Google, il provider telefonico e il produttore.
inoltre opportuno ricordare che il team di CyanogenMod sempre pronto

a fornire patch di sicurezza e a correggere i bug che vengono invece risolti


da Google solo nelle versioni successive di Android. Il firmware di terze
parti include Privacy Guard, che offre un miglior controllo sulle app e sulle
rispettive autorizzazioni. Le versioni pi recenti dellapplicazione includono
anche la funzione AppOps, scritta da Google per Android 4.3.
Con questo strumento, gli utenti possono prevenire laccesso ai dati da parte
delle singole applicazioni. Lultima versione di CyanogenMod integra infine
lapp TextSecure SMS direttamente nel firmware.

Linux pro 142

LXP_142_20_23_LXF182.feat_android 23

23
26/05/14 17:29

Firefox OS

Levoluzione di

Firefox OS
Un viaggio nel mondo del sistema operativo di Mozilla
per svelarvi i suoi piani di conquista del mondo intero

econdo uno studio di IDC, Android presente nell81%


delle spedizioni mondiali di smartphone del terzo
quadrimestre del 2013, mentre iOS riempie la fetta
rimanente. Il nuovo Firefox OS di Mozilla sembra destinato
a fallire dopotutto chi pu competere con venditori come
Google e Apple, specialmente quando veterani come BlackBerry
e grandi nomi come Microsoft Windows Phone stentano
a rientrare nel quadro delle vendite mondiali? Firefox OS
non , tuttavia, un altro sistema operativo per smartphone.
concettualmente diverso rispetto a qualsiasi altro prodotto
esistente e le tattiche di Mozilla sono anchesse diverse.

Questione di libert
Lobiettivo principale di Firefox OS la creazione di un
ecosistema veramente aperto, uno dove tutte le app possano

24

essere eseguite da ogni sistema operativo e su praticamente


qualsiasi hardware. In altre parole: abbattere tutte le barriere
alle quali siamo abituati con luso degli smartphone. Le altre
piattaforme smartphone richiedono che le app siano sviluppate
specificatamente per esse, perci nel caso uno sviluppatore
voglia creare unapp per pi dispositivi questa deve essere
portata manualmente ogni volta. Significa inoltre che se
un utente abbandona un sistema operativo per un altro non
sar pi in grado di accedere alle proprie app. Dovr trovarle
e ricomprarle, sempre che siano disponibili nella nuova
piattaforma. Firefox OS gestisce le app pi o meno come
Internet gestisce le pagine Web. Invece che con strumenti
proprietari, le app sono costruite sui standard aperti del Web
come HTML5 e JavaScript, in modo che possano essere
eseguite su ogni dispositivo di calcolo che abbia accesso

Linux pro 142

LXP_142_24_27_feat_firefox 24

26/05/14 17:30

Firefox OS
ZTE Open C: la prova su strada
Lo ZTE Open C pu vantarsi di un paio
di cose: il suo Firefox OS e il prezzo sotto
il segno dei 73 euro. Il vanto si ferma
tuttavia qui: un telefono che grida il suo
prezzo da ogni poro della sua massiccia
scocca. Lo schermo WVGA (800x640)
troppo poco per una dimensione
di 4 pollici, anche considerando il prezzo,
e il multi-touch sembra spugnoso.
La profondit di colore non vergognosa,
e per coloro che preferiscono i selfie
con un po di sfocatura potrebbe essere
perfetto. Non vogliamo per dire che sia
senza meriti: lattitudine allapertura
di Mozilla deve essere lodata e trapela
attraverso il device, portando

unimmediatezza che pu ammaliare molti


utenti Linux. Durante luso del telefono
i suoi 512 MB di RAM possono far
cigolare il browser Firefox su qualche sito
impegnativo e nonostante alcune app
siano molto scattanti chiaro come
questo telefono non sia adatto a chi cerca
il multitasking o vada oltre le classiche
operazioni. La qualit costruttiva non
merita una menzione, dato che due
dei telefoni esaminati presentano una
sospetta fessurazione, nonostante
entrambe le unit fossero equipaggiate
da un pesante laccio di sicurezza, che
probabilmente pi costoso dei telefoni
stessi. Con il suo spessore di 1 cm, non

a Firefox, quindi i telefoni Android e i classici PC. In altre


parole, sono indipendenti dal dispositivo. Dato che sia Firefox
OS che le sue app hanno requisiti hardware molto bassi,
possibile utilizzarli anche in dispositivi molto economici,
progettati per rendere il mobile Web aperto e con minime
barriere di ingresso, massimizzando quindi il numero di utenti
coinvolti. un obiettivo nobile; se Firefox OS non fosse cos
ambizioso e cos diverso, tuttavia, avrebbe pochissima speranza
di richiamare lattenzione in un mercato cos congestionato.
interessante infatti notare come il progetto stia guadagnando
terreno nei mercati emergenti, offrendo qualcosa di nuovo,
invece di abbattere le barriere nei mercati pi consolidati.
Firefox OS fa inoltre affidamento a una fidata community
di sviluppatori. Come sistema operativo Open Source molto
trasparente, consentendo agli utenti avanzati di vedere come
vengono trattati i dati personali, mentre sia individui
che aziende possono modificarlo per migliorarlo e renderlo
disponibile per altre piattaforme.

Adattamento
Firefox OS ha un altro bel trucchetto in serbo ed chiamato
ricerca adattiva delle app. Si tratta di una schermata di ricerca
utilizzabile per cercare app e documenti, sia che siano installati
nel telefono, sia che siano disponibili sul Web, essenzialmente
combinando la ricerca Web con la ricerca nel telefono.
Scrivendo semplicemente una parola vi verranno restituiti
i risultati rilevanti sia dal contenuto locale che da quello online.
Le Web app possono essere utilizzate immediatamente
o scaricate nel telefono, e i risultati ottenuti si adatteranno
persino alla posizione geografica se richiesto, assicurandovi
la miglior esperienza possibile. Questo approccio orientato
al Web non significa che Firefox OS non abbia somiglianze
con il vostro Android o iPhone. Utilizza ancora la schermata
di sblocco, la home e la barra di notifica; gli smartphone che
utilizzano Firefox OS sono equipaggiati con una fotocamera,
completa di filtri di stile, un riproduttore musicale e una radio
FM. Oltre a questo ovviamente c molto altro software:
le mappe, il browser Firefox, il marketplace di Firefox, unapp
per la posta che include lintegrazione con Facebook e Twitter
per fare in modo che gli utenti si sentano a casa. Anche con
tanti aspetti positivi, tuttavia, Firefox OS non ancora pronto
per sostituire Android e iOS. Entrambi i sistemi operativi sono

un telefono stiloso o bello pi


traccagnotto che sexy nonostante
alcuni colori siano abbastanza gradevoli.
La fotocamera da 3 MP non ha unottima
lente, anche se il giudizio legato alla
visione dei risultati su uno schermo
non eccellente. Costruire un telefono
su questa fascia di prezzo implica dover
scendere a compromessi e comparare
questo dispositivo con il Samsung Galaxy
S5 o i telefoni Android di fascia alta
di ZTE sarebbe folle. Non ci sono scuse
tuttavia su alcuni problemi trovati
sullOpen C uno schermo povero,
un multi-touch non funzionale e problemi
costruttivi.

Un buon avvio
per Firefox OS
ma il dispositivo
deve migliorare
ancora molto

disponibili da anni e sono stati radicalmente modificati, mentre


Firefox OS solo alla versione 1.2 (con la 1.3/1.4 quasi pronte
al rilascio). Ha molte meno app ed disponibile solo per pochi
telefoni, molti dei quali di fascia bassa. Allo stato attuale non
infatti una tentazione per molti acquirenti, tuttavia non
nemmeno acquistabile in molti dei paesi avanzati per una
saggia decisione di Mozilla. Gli smartphone sono largamente
popolari in Italia come in molti altri paesi, con percentuali di
popolazione che ne possiede almeno uno che superano il 60%
in molti casi. Nonostante la crisi, sembra che la capacit
di spesa per i gadget sia alta, perci i costosi telefoni di fascia
alta sono molto richiesti e le aspirazioni economiche di Firefox
non sono considerate, a meno di trovare qualche pezzo
disponibile su eBay. In questa fascia assolutamente
impensabile che Firefox OS possa essere una testa di serie,
con gli utenti focalizzati su iOS e Android e alla ricerca di
telefoni high-end. Lo stesso vale per gli Stati Uniti e per tutte
le nazioni benestanti, motivo per cui tra laltro Firefox OS non
commercializzato, se non in minima parte. Ci sono tuttavia altre
parti del pianeta dove la situazione molto diversa.

Nuovi mercati
In Per, per esempio, la quota di mercato degli smartphone arriva
appena al 17%, secondo uno studio di Ipsos Peru. Significa che
la grande maggioranza dei 30 milioni di abitanti sono senza
un device evoluto e che quindi saranno pi accoglienti verso
alternative a iOS e Android. Questo scenario ancora pi
realistico considerando la disponibilit di telefoni molto economici
Firefox OS include
unapp per le mappe
di Nokia. Ma... di chi
ora?

La schermata home
molto simile a quella
di Android

Linux pro 142

LXP_142_24_27_feat_firefox 25

25

26/05/14 17:30

Firefox OS
come lo ZTE Open e la futura presenza di Firefox OS in telefoni
dal costo risibile di 25$ (18,30, in diretta competizione con
i feature phone. Nel caso non laveste ancora capito, il Per
uno degli stati dov possibile comprare telefoni Firefox OS,
con la conferma dellintenzione di Mozilla di aggredire mercati
nuovi e in sviluppo, dove la giovent della piattaforma non un
problema e la sua economicit un grande vantaggio. Firefox OS
pu funzionare con appena 128 MB di RAM, rappresentando
unopzione interessante sia per i produttori sia per i consumatori,
che possono utilizzare lOS in smartphone molto economici.
In un intervista, il capo degli ingegneri di Mozilla, Jonathan
Nigthingale, ha dichiarato: Il nostro CEO ha parlato di due nuovi
miliardi di utenti Web e, considerando la presenza dei due miliardi
di utenti attuali, questi saranno molto diversi. Molte persone si
chiedono se Firefox OS sia progettato per il mercato emergente
e quale sia il nostro segmento. Certamente, si tratta di
unimportante posizione per noi. Siamo no profit e guidati da una
mission che ci fa pensare che se queste persone devono entrare
nella rete non lo faranno con uno smartphone da 500.
Abbiamo una grande opportunit per fare qualcosa.

Diffondere il Web

A differenza
dei primi giorni
Firefox OS
fa la sua bella
figura e funziona
molto bene

26

Concentrandosi sui mercati in via di sviluppo, Mozilla lavora


allobiettivo di far accedere al Web pi persone, dato che
porter telefoni capaci di navigare nelle mani di chi non ha mai
avuto uno smartphone o un computer. una strategia molto
simile a quella di Nokia, con lo scopo di costruire telefoni
in grado di connettere i prossimi miliardi di utenti a Internet
e spiega come stia aggiungendo una versione di Android
(con il Nokia X) alla sua gamma di servizi in questo segmento
di mercato che ha accesso al 3G ma non alle linee telefoniche
fisse. Altri brand, come Sony, Huawei, LG e Alcatel stanno
lavorando agli OS aperti, con la promessa di introdurre device
per questo mercato. Al Mobile World Congress di Barcellona,
Spagna, Mozilla ha annunciato il lancio di sette nuovi device
con Firefox OS gli smartphone ZTE Open C, ZTE Open II,
Huawei Y300, Alcatel One Touch Fire C, Alcatel One Touch
Fire E, Alcatel One Touch Fire S e il tablet Alcatel One Touch
Fire 7. Non si tratta di un grande sforzo ma mostra comunque
la capacit di muovere i primi passi. Finora sembra che i piani
di Mozilla per il nuovo OS stiano riuscendo, dato che in Ottobre

Firefox OS completamente basato su standard aperti,


se solo i driver hardware potessero essere cos aperti

2013, come riportato da Telefonica, Firefox OS rappresenta


il 12% delle vendite in Venezuela e il 9% in Colombia.
In conclusione, una volta che lOS si dimostrer maturo ci sar
una concreta possibilit di diffusione nei mercati consolidati.
Anche nel caso riesca a spopolare globalmente, Mozilla non
deve necessariamente competere con Android e iOS. Come
organizzazione no profit non deve essere il numero uno, dato
che sufficiente che abbastanza persone utilizzino Firefox OS
per renderlo noto ai pi e che gli sviluppatori producano una
vasta gamma di app, applicazioni che possono essere eseguite
in altri dispositivi, mantenendo il Web aperto e accessibile, due
obiettivi principali del manifesto di Mozilla.

In arrivo
Luso di HTML5 in Firefox OS dovrebbe facilitare lo sviluppo
di app da parte degli sviluppatori che lo conoscono e che
quindi non devono imparare un nuovo linguaggio
di programmazione. Con le parole di Nightingale: Ci sono
200.000 sviluppatori iOS, 600.000 sviluppatori Android
e 8 milioni di sviluppatori Web l fuori. Se non si scommette
su HTML5, si sta commettendo un errore. Firefox OS non
solo per telefoni. Nel futuro Mozilla vuole vedere Firefox OS
e i suoi principi di apertura farsi spazio in smartwatch,
automobili e in ogni altro prodotto con una connessione
a Internet. Dato che Firefox OS un sistema Open Source
che altre aziende e individui possono adattare e utilizzare
per i propri scopi, non c motivo per cui non possa essere
incluso in stereo, frigoriferi, aspirapolveri e qualsiasi altro
prodotto futuro. Infatti idealmente posizionato per
capitalizzare la crescita degli smart device e la notizia
importante che Panasonic utilizzer Firefox OS per i propri
TV e gli altri device di intrattenimento. Non c dubbio che sia
una crescita in salita, tuttavia lapproccio diverso e altruistico
di Mozilla, e del suo Firefox OS potrebbe avere unopportunit,
specialmente nelle nazioni in sviluppo. Non aspettatevi che
Firefox OS arrivi qui in fretta, tuttavia potreste acquistare uno
ZTE Open su eBay per un decimo del prezzo di un iPhone.

Linux pro 142

LXP_142_24_27_feat_firefox 26

26/05/14 17:30

Firefox OS

Le previsioni tecnologiche
Mozilla ci mostra la sfera di cristallo e svela la tecnologia da seguire

bbiamo chiesto agli esperti di Mozilla quali cambiamenti


tecnologici dovremmo tenere sottocchio questanno.
Ecco le cinque pi importanti previsioni ora dovrete
solo aspettare e vedere se si avvereranno...

1 Sblocco dellecosistema mobile


Lecosistema mobile spesso stato interpretato come
un mercato abbastanza chiuso dominato da pochi attori chiave:
Android, iOS e Windows Phone. Le alternative aperte come
Firefox OS guadagneranno mercato attraverso dispositivi multipli
(da smartphone a tablet a TV) e porteranno nuove funzionalit,
prima tipiche del desktop. Queste vere alternative aperte
ai tre sistemi operativi smartphone dominanti abbatteranno
le pareti che bloccano le persone in piattaforme
incompatibili e renderanno semplice la condivisione
dei contenuti tra dispositivi.
di sviluppatori di app per Firefox OS destinato
a triplicare il prossimo anno grazie a questa straordinaria
partecipazione non dovranno imparare un nuovo
linguaggio di programmazione e nuovi fattori di forma
per cui creare applicazioni. Lazione degli standard mobile
per il Web e delle API da parte dellindustria fornir accesso
a pi funzionalit dei dispositivi come fotocamere, SMS, Near
Field Communication (NFC), posizionamento e Bluetooth.

2 Crescita ecosistemi aperti


Molti player hanno allargato larena del Web e del mobile,
incoraggiando linnovazione allinterno dellecosistema. Leader
del mobile come Deutsche Telekom, Telefonica, Telecom Italia
e Telenor hanno lanciato i loro primi dispositivi Firefox OS (Alcatel
One Touch e ZTE Open) in Europa e in America Latina.
Pi dispositivi, mercati e partner seguiranno a breve. Questanno
vedremo sempre pi leader entrare nellecosistema aperto
e portare pi dispositivi basati sul Web aperto nel mercato.

5 La crescita del gaming

3 Oltre gli smartphone


Sempre pi dispositivi possono accedere a Internet: stimato
che ci saranno 30 miliardi di dispositivi wireless connessi nel
2020, tre volte in pi di oggi. Questi spazieranno tra smartphone
e gadget intelligenti, comprese le tecnologie indossabili come
smartwatch e accessori di moda. Alimentata dal Web e dallo
sviluppo di app, ci sar una grande espansione dagli smartphone
ai dispositivi intelligenti che faranno uso di HTML5 e delle
tecnologie Web. Al CES di questanno, Panasonic ha annunciato
una partnership con Mozilla per rilasciare una nuova generazione
di smart TV con Firefox OS.

Lapp store
di Firefox OS
in crescita, lenta
ma costante

Lindustria del gaming comincer a svilupparsi e a distribuire


giochi commerciali attraverso le tecnologie aperte del Web.
La videochat e la condivisione dei contenuti sar sempre pi
accessibile attraverso il browser, senza la frizione dovuta ai plugin. Questi creeranno nuove opportunit di personalizzazione
e di arricchimento dellesperienza online. Fate particolare
attenzione ai titoli equipaggiati con Unreal Engine 4, ottimizzato
per JavaScript e per essere eseguito in Firefox. LXP

4 Pi sviluppatori
Creare app mobile
con tecnologie Web
significher semplificare
lo sviluppo e milioni
di nuovi sviluppatori
cominceranno
a programmare
in HTML5. Il numero

Panasonic sta
portando una
crescente gamma di
dispositivi Firefox OS
nelle nostre case

Linux pro 142

LXP_142_24_27_feat_firefox 27

27

26/05/14 17:30

Sysadmin

Premiata Amministreria
Dr Chris Brown

Dottor Brown

Il Dottore si occupa di formazione, scrittura


di articoli e consulenze su Linux.
Trova che il suo PhD in fisica delle particelle
non sia di alcun aiuto in questo tipo di lavoro.

Tecniche esoteriche per i sysadmin direttamente


dai recessi pi impenetrabili della sala server

Bleachbit

Unire le forze

on so come interpretare la recente


decisione di CentOS e Red Hat di unire
le forze, e, a giudicare dai molti
commenti seguiti alla notizia, non sono il solo.
Non so nemmeno bene come chiamare
loperazione. veramente un partenariato
o si tratta di unacquisizione? Le cose sembrano
muoversi abbastanza in fretta per CentOS. Il sito
Web gi stato rinnovato e quattro degli
sviluppatori principali lavorano ora per Red Hat,
anche se il firewall tra le due distribuzioni rimane
e CentOS continuer a lavorare sugli RPM
sorgente forniti da Red Hat man mano che
verranno rilasciati, proprio come succede ora.
Per Red Hat, CentOS diventer una piattaforma
stabile che gli sviluppatori potranno utilizzare per
il testing; si parla inoltre dello sviluppo di una
infrastruttura di build per rendere pi facile il
rilascio di varianti di CentOS. Ma non era Fedora
lambiente in cui venivano collaudate le tecnologie
destinate a essere inserite in Red Hat? Ho sempre
visto CentOS come un clone gratuito di Red Hat
per tutti quelli che non sono disposti a pagare per
il supporto. A questo punto penso invece che si
trattasse di qualcosa di tollerato da Red Hat, ma
che gli rubava quote di mercato. Stephen OGrady
di RedMonk ha scritto: ... questa mossa di Red
Hat rappresenta il logico abbraccio di un
ecosistema adiacente. Si potrebbe sostituire
abbraccio con strangolamento ed ecosistema
adiacente mi suona tristemente simile alla
definizione che Dilbert darebbe di un concorrente.

Il Dottore scopre uno strumento facile da usare


per ripulire il suo filesystem e aumentare la privacy

olte delle applicazioni che usiamo


tengono storico dei comandi, cache
e file di registro che costituiscono
una traccia digitale dei nostri viaggi. Ora, dubito
che qualcuno dei lettori di questo articolo stia
davvero facendo qualcosa che possa portarlo
a comparire sui radar della NSA (spiacente,
quella foto di Tux nudo non conta).
Nonostante ci c probabilmente un sacco
di spazzatura sparsa qua e l che intasa
i dischi, fa aumentare le dimensioni dei backup
e (probabilmente) compromette la nostra
privacy. Bleachbit uno strumento dal nome
interessante (bleach in inglese indica
la candeggina) che scopre e cancella parecchi
di questi dati. Per citare la sua pagina Web,
libera la cache, cancella i cookie, cancella
la cronologia Internet, distrugge i file

Non molto bello da vedere, ma funzionale.


Nellimmagine vediamo un sommario dei file
nella cache di Firefox prima di cancellarli

Da riga di comando
Il comando bleachbit senza
argomenti fa partire la GUI
del programma. per
possibile fare tutto anche dalla
riga di comando. Per esempio,
per avere una lista dei pulitori

28

disponibili:
$ bleachbit --list
oppure, per cancellare tutti
i file nella cache di Firefox:
$ bleachbit --delete
firefox.cache

Si tratta effettivamente di una


funzionalit molto utile per
automatizzare le operazioni
tramite script di shell oppure
se si intende lanciare Bleachbit
da un job di Cron.

temporanei, cancella i log ed elimina


la spazzatura che nemmeno sapevate che
ci fosse. Dopo averlo installato sul sistema
Ubuntu che uso quotidianamente mi sono
stupito di quante informazioni lasciano in giro
le applicazioni che uso. La cache di Chrome?
2.336 file che occupano 2,09 GB. Lindice
di recoll? 1,26 GB. La cache delle miniature?
159,2 MB. E cos via. Linterfaccia utente
di Bleachbit presenta una schermata tipo
Explorer piuttosto convenzionale: il pannello
di sinistra mostra i singoli pulitori, mentre
quello di destra mostra una breve spiegazione
di quello che fa il pulitore selezionato.
Cliccando sul pulsante Anteprima compare
la lista di tutti i file che possono essere
eliminati e il totale dello spazio su disco che
possibile recuperare. Cliccando sul pulsante
Pulisci si procede con loperazione
di cancellazione. Ovviamente bisogna avere
fiducia nel comportamento dellapplicazione,
esattamente come quando si salta da un aereo
in volo bisogna aver fiducia nella persona
che ha piegato il nostro paracadute. Bleachbit
anche in grado di eliminare completamente,
sovrascrivendoli, file e directory (dovete andare
nel menu File), cosa che li rende inaccessibili
agli occhi indiscreti dei programmi forensi.
Lo stesso risultato pu essere raggiunto
usando il comando shred da terminale.
Credo che il sito Web di Bleachbit abbia visto
un enorme incremento del traffico a partire
dal 6 settembre scorso, quando Bruce
Schneier ha citato il programma nella sua
rubrica sul Guardian (http://bit.ly/1fReVn2).
Per, perch non dargli unocchiata voi stessi?
Probabilmente disponibile nei repository
della vostra distro, altrimenti potete andare
su http://bleachbit.sourceforge.net.

Linux pro 142

LXP_142_28_31_LXF179.sysadmin 28

26/05/14 17:30

Sysadmin

Avvio demergenza
Il Dottore diffonde un po di panico esaminando le opzioni che si hanno
a disposizione quando un sistema non vuole proprio avviarsi

vete dimenticato la password di root? Non ridete, sono cose


che succedono. Oppure avete ereditato un sistema
da qualcuno che non vi ha comunicato tutti i dettagli?
Non tutto perduto. In questo tutorial vi mostrer come sia possibile
risolvere problemi di questo genere. Oltre allo smarrimento della
password di root esistono altri scenari in cui queste tecniche possono
tornare utili, per esempio errori nella configurazione di Grub
o in /etc/fstab che possono bloccare lavvio del sistema.

Avvio in modalit a utente singolo


Una delle tecniche pi semplici e di sicuro quella che dovrete provare
per prima il cosiddetto avvio in modalit a utente singolo (single-user
mode). Il procedimento pi facile da eseguire che da descrivere
a parole, comunque ci provo. Per prima cosa interrompete
la sequenza di avvio in modo da vedere il menu di Grub (di solito
possibile farlo solo per un breve intervallo di tempo, quindi fate
attenzione!). Ora selezionate la voce del menu che intendete avviare
(potrebbe anche essercene una sola) e premete e per modificarla.
Grub mostrer il comando che corrisponde a quella voce di menu.
Selezionate la riga del kernel e premete di nuovo e, poi spostatevi alla
fine della riga e aggiungete una s. Questo parametro viene passato
al kernel e gli dice di avviarsi in modalit a utente singolo. Premete
ora Invio e poi b per far partire il sistema con il parametro aggiunto.
In un sistema standard in stile Red Hat un avvio in modalit utente
singolo monter i filesystem, ma non prover a far partire la rete
o il server X e vi dar poi accesso a una shell di root! A questo punto
potrete usare il comando passwd per impostare una nuova password
di root oppure proseguire per correggere gli errori di configurazione
che causano i problemi allavvio. Alcuni amministratori si preoccupano,
non senza motivo, per una simile e ben nota tecnica che permette
a chiunque di diventare root. Il problema di facile soluzione:
con Red Hat 6 e con i suoi derivati che usano upstart basta
modificare la seguente riga di /etc/sysconfig/init:
SINGLE=/sbin/sushell
in
SINGLE=/sbin/sulogin
Con sistemi pi vecchi che usano ancora /etc/inittab occorre
aggiungere questa riga:
~:S:wait:/sbin/sulogin
Queste modifiche, anche se aumentano la sicurezza, ci tolgono lunico
metodo noto (finora) per risolvere il problema della password di root
persa. C un trucco pi estremo che a volte funziona: interrompere
la sequenza di avvio e modificare la riga del kernel come prima,
ma questa volta aggiungendo largomento init=/bin/bash.
Questo dice al kernel di eseguire una shell anzich il demone
di inizializzazione (upstart). Linux si avvier alla velocit del fulmine
e vi porter in una shell di root. A questo punto il sistema si trover
in uno stato molto incerto e probabilmente vi toccher massaggiarlo
un po (montando per esempio i filesystem) per portarlo in condizione
di eseguire con successo il comando passwd.

Avvio demergenza
Se lavvio in modalit a utente singolo non risolve il problema potete
provare con un avvio demergenza. Lidea di base quella di far

Problemi con SELinux


Quando si cerca di recuperare un sistema
su cui gira SELinux (tra questi ci sono
RHEL 6 e tutti i derivati) abbastanza
facile ritrovarsi con un contesto
di sicurezza SELinux sbagliato per file
come /etc/passwd o /etc/shadow, cosa
che impedisce al sistema di accedere
a essi dopo il riavvio del sistema e quindi
nessuno pi in grado di fare il login!
Se vi capita questo problema la soluzione
consiste nellavviare il sistema con
SELinux in modalit permissiva.
possibile farlo avviando la macchina
con il parametro del kernel

enforcing=0 (esattamente come


abbiamo fatto con il parametro s
per la modalit a utente singolo).
In alternativa possibile disabilitare
completamente SELinux con
il parametro selinux=0. Poi, quando
finalmente arrivate al prompt di root,
usate il comando restorecon
per ripristinare il contesto SELinux
corretto. Qualcosa di questo genere:
# restorecon -v /etc/shadow
restorecon reset /etc/shadow context
system_u:object_r:file_t:s0>system_u:object_r:shadow_t:s0

partire un sistema Linux minimale da un supporto esterno, come


un CD o un DVD (o magari una chiavetta USB), con un piccolo
filesystem alloggiato in memoria. Questo sistema vi permette
di montare i filesystem del disco rigido in modo da poterli esaminare
e (si spera) correggerne gli errori. un approccio molto pi generale
con cui possibile risolvere un maggior numero di problemi.
Knoppix stato a lungo la scelta pi diffusa per un avvio
di emergenza perch era una delle prime distro in grado di essere
avviata come sistema live, ma ora questo possibile con molte altre
distro. In generale le cose sono pi semplici se fate lavvio di
emergenza della stessa distribuzione installata sul sistema che
intendete recuperare, ma non un requisito stringente. Esistono
ovviamente molte possibili combinazioni di soccorritore e infortunato,
ma in questo tutorial user un sistema CentOS come infortunato e tre
differenti soccorritori: un CD Ubuntu 12.04 desktop, Rescatux,
un ambiente dedicato al recupero di sistemi non pi avviabili
e lopzione di avvio di emergenza di CentOS stesso. Non si tratta
comunque di unanalisi comparativa, per cui non dar voti.
Per eseguire un avvio di emergenza dovete per prima cosa avere
a disposizione unimmagine ISO del soccorritore e masterizzarla
su un CD e poi inserirla nel lettore (se state andando al salvataggio

Un pinguino
che rischia
di affogare?
Piuttosto
improbabile.
Questo non
il vero Tux

Linux pro 142

LXP_142_28_31_LXF179.sysadmin 29

29

26/05/14 17:30

Sysadmin
di una macchina fisica) oppure usarla come CD virtuale (nel caso
in cui linfortunato sia una macchina virtuale). Accendete ora
la macchina e fate tutte le operazioni richieste dal BIOS per far partire
il sistema dal CD anzich dal disco rigido. Per il mio primo test
ne ho usato uno di Ubuntu 12.04 desktop. Occorre avere un po
di pazienza mentre il sistema si avvia dal CD, si tratta di un processo
piuttosto lento. Alla fine vi verr presentata una finestra che
vi consentir di scegliere tra la possibilit di provare Ubuntu e quella
di installarlo. Scegliete Prova Ubuntu. Dopo un altro po vi troverete
finalmente davanti al desktop di Ubuntu. Fate partire un terminale
(se usate Unity per la prima volta avrete qualche difficolt a scoprire
come si fa. Cliccate sullicona del Dashboard in alto a sinistra e scrivete
terminale nello spazio di ricerca, poi cliccate sullicona del terminale.
In alternativa potete usare la scorciatoia Ctrl+Alt+T). Una volta
arrivati al prompt dei comandi il prossimo passo consiste nel farsi
unidea delle partizioni presenti sul disco rigido, cercando di scoprire
la partizione radice. Dato che sono un tipo allantica di solito tengo
traccia della configurazione dei miei sistemi in un bloc notes
(una soluzione che vi raccomando!), ma se siete in difficolt a capire
quale sia la partizione radice potete cominciare facendo una lista
delle partizioni presenti sul disco con il comando:
$ sudo fdisk -l
oppure con
$ cat /proc/partitions
Le dimensioni delle partizioni possono fornirvi un utile indizio per
capire il loro punto di montaggio, ma se nemmeno questa soluzione
funziona non vi resta che montarle una per volta e guardare cosa
contengono! Supponendo che abbiate identificato la partizione radice,
ecco un paio di suggerimenti per proseguire. La soluzione pi diretta
consiste nel montare la partizione con un comando di questo genere
$ sudo mount /dev/sda1 /mnt
e poi eliminare dal file shadow la password di root dimenticata:
$ sudo vi /mnt/etc/shadow
State ben attenti a modificare il file del sistema che state recuperando
e non quello del sistema di salvataggio. Trovate la riga dedicata a root
ed eliminate lhash della password (tra il primo e il secondo carattere
Ripristina Grub o aggiorna
la sua configurazione

due punti). Usate il comando w! per salvare il file e poi riavviate


il sistema:
$ sudo shutdown -r now
Una volta ripartito il sistema CentOS dovreste essere in grado
di collegarvi come root (oppure di fare su come root) senza password.
Ovviamente la prima cosa da fare assegnare una nuova password
a root. Una soluzione alternativa consiste nel fare un chroot
nel filesystem radice della macchina che si sta recuperando e poi
impostare direttamente la password. Quindi, tornando al terminale
del sistema Ubuntu, potreste fare cos:
$ sudo chroot /mnt
e poi
# passwd
per impostare una nuova password. Il mondo di chroot piuttosto
strano: state ancora eseguendo il kernel del sistema di salvataggio,
ma vi affidate completamente al filesystem su cui avete fatto chroot
per tutto il resto di cui avete bisogno, tra cui gli eseguibili come
il comando passwd e le librerie condivise che usa. Di conseguenza
questo approccio dipende in maniera essenziale dalla disponibilit
di un filesystem completamente funzionante sulla macchina
che si sta cercando di recuperare.

Tux in soccorso
Ci tengo a sottolineare il fatto che un avvio di emergenza vi permette
di risolvere una gamma di problemi molto pi vasta di quella vista qui:
le password dimenticate sono solo la punta delliceberg dei possibili
guai a cui far fronte. Dato che si possono montare i filesystem della
macchina ed esaminare e modificare qualsiasi parte di essi, in linea
di principio possibile risolvere ogni problema sia stato in precedenza
diagnosticato. Di solito per la diagnosi la parte difficile.
Sarebbe una negligenza da parte mia scrivere di avvio demergenza
senza citare Rescatux, unutile distribuzione live su CD derivata
da Debian che fa uso di LXDE, progettata appositamente per risolvere
situazioni di emergenza (http://www.supergrubdisk.org/
rescatux/). La versione pi recente solo la 0.30.2, ma mette
ugualmente a disposizione una notevole collezione di strumenti, anche
Crea un pastebin in modo che possiate
facilmente condividere i file di registro
quando siete nella chat room

Vi collega alla chat room


di Rescatux

Esegue fsck
per correggere gli
errori dei filesystem
Cambia una password
o crea il file dei sudoer

Ripristina lMBR
o le password di Windows

Rescapp permette di correggere alcuni errori molto comuni


con qualche click del mouse. Il menu per si presenta in maniera
piuttosto strana

Recuperare Ubuntu
Se usate Ubuntu o uno dei suoi molti derivati
difficile che possiate dimenticare la password
di root perch non ce n una. Quindi non
possibile fare login come root e nemmeno
fare su a root. C invece una riga nel file

30

di configurazione sudoers che permette


ai membri del gruppo sudo (credo che nelle
versioni precedenti fosse admin) di lanciare
qualsiasi comando come root usando sudo.
Anche se la vostra distribuzione non si comporta

a questo modo molti amministratori di sistema


attenti alla sicurezza la configurano in modo
che lo faccia. quindi ancora possibile non essere
pi in grado di diventare root: basta che il file
/etc/sudoers manchi o sia corrotto.

Linux pro 142

LXP_142_28_31_LXF179.sysadmin 30

26/05/14 17:30

Sysadmin
Impostare la password di Grub
Se lidea della possibilit di arrivare a una
shell di root semplicemente interrompendo
la sequenza di avvio di Grub non vi fa
dormire la notte potete prendere
in considerazione la possibilit
di impostargli una password. Un avvio
normale (cio uno che semplicemente
usa le impostazioni definite nel file
di configurazione) non richieder
linserimento della password, mentre
se il processo di avvio viene interrotto
Lavvio di emergenza di CentOS rileva automaticamente
e monta tutti i filesystem della macchina da recuperare,
semplificando lutilizzo di chroot

se appare un po poco rifinita. Ma leleganza grafica non quello che


interessa. Il suo maggiore punto di forza uno strumento chiamato
Rescapp, che offre una sorta di percorso guidato alla risoluzione dei
problemi pi comuni che impediscono lavvio di un sistema. Tra questi
troviamo cose come password dimenticate, master boot record
cancellati e file sudoers con errori. Quanto facile risulta ripristinare
con Rescatux una password di root dimenticata? Abbastanza.
Ho contato nove click col mouse pi le battute necessarie per inserire
la nuova password. Si comincia col far partire il CD di Rescatux, poi
si seleziona Password (+) dal menu principale, poi Change Gnu/
Linux Password e poi ancora Change Gnu/Linux Password!!!
Vi verr chiesto di selezionare la partizione che contiene la password
che intendete modificare e il nome dellutente. Fate attenzione
quando inserite la nuova password, non viene visualizzata sullo
schermo e non viene chiesto di inserirla una seconda volta. tutto!
Ora potete riavviare. La sessione con Rescatux non ha un finale
completamente lieto per, perch risulta che Rescapp ha pasticciato
il contesto di sicurezza di SELinux relativo a /etc/shadow,
con il risultato che, dopo il riavvio, nessuno riusciva pi a fare il login.
un problema che pu essere risolto (vedere il box Problemi con
SELinux), ma complica il processo che Rescatux cerca di semplificare.
A parte i problemi con SELinux, probabilmente corretto affermare
che recuperare con Rescapp una password persa pi facile
che farlo con un tradizionale avvio di emergenza... non richiesta
la conoscenza del file shadow e non occorre eseguire nessun chroot.
Come tutti i wizard per riesce a eseguire solo le magie per cui
stato creato. La tecnica di montare manualmente, esaminare
e correggere le partizioni del sistema molto pi generale. Sono
ancora fermamente convinto che il segreto per correggere qualcosa
consista innanzitutto nel comprendere come si suppone dovrebbe
funzionare e, in secondo luogo, nel leggere i messaggi di errore.

e vengono modificati i comandi di Grub


occorrer inserirla. Non necessario
che la password del programma sia la stessa
della password di root di Linux, anzi, meglio
che sia diversa. Tenete presente che
aumentando le misure di sicurezza rendete
progressivamente pi difficile il recupero
in condizioni di emergenza. Se la password
di root e quella di Grub sono la stessa
e lavete dimenticata dovrete ricorrere
a un avvio di emergenza.

Essendo onesti bisogna dire che si tratta di una distro live pensata
innanzitutto per dare agli utenti la possibilit di vedere come funziona
un desktop Ubuntu e non come sistema di salvataggio. Rescatux
si comportato molto meglio, ha riconosciuto il volume logico
e mi ha permesso di modificare la password di root usando Rescapp,
esattamente come prima. Sono anche riuscito a montare
manualmente il volume logico:
# mount /dev/vg_centos64/LogVol00 /mnt
e ad accedere al filesystem su di esso. Ancora una volta la magia
di chroot mi ha permesso di usare un sistema diverso per impostare
una nuova password:
# chroot /mnt
# passwd
A questo punto ho potuto inserire la nuova password.
C una sottile ma importante differenza tra limpostazione di una
nuova password usando Rescapp (che usa il comando passwd del
sistema Rescatux) e limpostazione nellambiente chroot come appena
mostrato (che usa il comando passwd del sistema CentOS). La prima
soluzione inserisce un hash di tipo MD5 della password (in /etc/
shadow la password comincia con $1$), mentre il secondo inserisce
un hash di tipo SHA-512 (che comincia con $6$). Per questa ragione
Rescapp raccomanda di impostare di nuovo la password di root
una volta riavviato il sistema. Per finire ho provato lopzione avvio
demergenza di CentOS stesso. Non ha una procedura guidata stile
Rescapp, ma in grado di rilevare automaticamente uninstallazione
Red Hat/CentOS presente sul disco rigido e di montare in automatico
tutti i pezzi del filesystem nei punti di montaggio corrispondenti sotto
/mnt/sysimage. Quindi, per esempio, ha montato la mia partizione
/boot su /mnt/sysimage/boot e il volume logico contenente il mio
filesystem radice sotto /mnt/sysimage. Se fate chroot l avete accesso
allintero filesystem della macchina da recuperare e siete in grado
di ripristinare la password senza grandi difficolt. LXP

E se uso volumi logici?


Per rendere la vita un po pi interessante ho deciso di ripetere tutto
lesperimento usando uninstallazione fresca fresca di CentOS 6.4,
con la partizione radice su un volume logico anzich su una partizione
fisica. Questo complica un po le cose perch il sistema di salvataggio
deve in questo caso rilevare la presenza del volume logico. La distro
live Ubuntu non si era comportata molto bene in questo caso:
il pacchetto lvm2 non era presente e ha dovuto essere installato dal
repository (dato che si tratta di una distribuzione live questo va fatto
ogni volta che la si usa). Pur essendo in grado di scoprire i volumi fisici,
il gruppo di volumi e il volume logico, non veniva creato nessun
dispositivo per il volume logico, quindi non ero in grado di montarlo.

Il pulsante Prova Ubuntu del programma di installazione di Ubuntu Live mette


a disposizione un ambiente che pu essere usato per un avvio di emergenza

Linux pro 142

LXP_142_28_31_LXF179.sysadmin 31

31

26/05/14 17:30

NUC

Quei giganti
in miniatura
Intel riuscita a condensare tutta la potenza di un desktop
in una scatoletta di 10 centimetri. E Linux calza a pennello...

Lautore
Paolo Besser
Inguaribile sostenitore di cause perse,
si diletta con vari sistemi operativi fin
dai tempi del Commodore 64.

32

Linux pro 142

LXP_142_32_37_nucok 32

26/05/14 17:30

NUC

piccoli computer non sono pi una novit: con


le schede madri Mini-ITX possibile, gi da diversi
anni, costruire mostriciattoli di ragguardevole
potenza e inserirli praticamente ovunque. Chi ama
Linux, inoltre, sa che con la Raspberry Pi e con le chiavette
di Google possibile svolgere i compiti pi disparati,
anche se piuttosto lentamente. La vera novit
rappresentata dai NUC, una categoria di dispositivi
presentata da Intel nel corso del 2012 che, di recente,
ha superato il suo primo refresh hardware.

Pratico e futuribile
NUC lacronimo di unespressione molto ambiziosa, next
unit of computing, unit di elaborazione del futuro, che per
calza a pennello: lidea sostanzialmente quella di stipare
in pochi centimetri cubici di spazio, allincirca una quarantina,
un intero PC. Ma non uno di quelli con poca RAM saldata
sulla scheda e un processore da 500 MHz, buoni a malapena
per leggere la posta elettronica o per vedere qualche filmato
con laiuto di una GPU minimale, bens uno di quelli
che useremmo ogni giorno per il nostro svago o per il nostro
lavoro, solo dalle dimensioni pi compatte. Bastano
un adattatore e un normale cavo HDMI per collegarlo
a qualsiasi televisore recente, una tastiera e un mouse USB
et voil, il PC servito! Gi diversi produttori hanno raccolto,
con diverso entusiasmo, la proposta di Intel: ASUS, Gigabyte,
Zotac e altre offrono dei sistemi completi basati su questa
tecnologia. Ma chi vuole pu rivolgersi direttamente a Intel
per allestire il proprio NUC personale, scegliendo
accuratamente ma con qualche rischio i componenti
da installare. Non che ci sia molto da scegliere purtroppo:
scordiamoci lespandibilit dei grossi PC da scrivania, per
possiamo stabilire lo spazio disco, la RAM e ladattatore
Wi-Fi, mentre il processore centrale saldato sulla scheda
madre e la GPU, per forza di cose, integrata nella CPU.
I vecchi modelli con processori Core i3 e i5 basati
su architettura Ivy Bridge non erano particolarmente
entusiasmanti, soprattutto per via delle GPU integrate,
ma gli attuali dispositivi basati su Haswell offrono un bel po
di potenza in pi, grazie alla scelta di inserire una GPU
HD5000, una delle migliori attualmente prodotte da Intel.
Ci permette di giocare in Full HD alla maggior parte dei titoli
disponibili sul catalogo di Steam (non tutti, ovviamente)
e di godersi appieno tutti i film che desideriamo, anche quelli
in altissima risoluzione, senza scatti o tentennamenti.

I NUC Haswell
I modelli di NUC correntemente disponibili con processori
Haswell sono essenzialmente due: il D54250WY (K, KH

o B, con CPU Core i5 4250U, dal costo di circa 320 euro),


e il D34010WY (K, KH o B, con CPU Core i3 4010U,
da 240 euro). Il significato delle sigle K, KH e B presto
spiegato: K indica una declinazione in kit, dotata di scheda
madre e case dalle dimensioni contenutissime, in cui per
non possibile inserire un disco fisso serial-ATA da 2,5;
KH indica un kit leggermente pi alto, in cui invece
possibile fare questa aggiunta; B, infine, indica la sola
scheda madre senza case, perfetta per chi ama il modding
e ha qualche progetto molto particolare per il suo
assemblaggio. Se lidea far rivivere un vecchio
Commodore 64 o una vecchia console dotandole
di un cuore tutto nuovo, un NUC come il D34010WYB
perfetto. La differenza di prezzo fra i modelli K, KH e B
quasi impercettibile e, pertanto, a determinare la spesa
sar soltanto luso che intendiamo farne.

Quando
si tratta di dare
unidea delle
dimensioni reali
di un NUC,
non c niente
di meglio da
fare che tenerne
uno in mano

Lindispensabile
In tutti i casi, gli elementi che possiamo/dobbiamo montare
direttamente sulla scheda madre sono tre: un adattatore
Wi-Fi (opzionale), un drive SSD mSATA (obbligatorio sui NUC
K, se non si vuole ricorrere al trapano o a unantiestetica
unit esterna) e le RAM. A queste ultime va dedicata molta
attenzione: devono essere delle SODIMM DDR3 per PC
portatili, ma devono obbligatoriamente funzionare a 1,35

LiMac dei poveri


Vi sempre piaciuto il look All in One dei Mac,
ma per qualche motivo non ne comprereste mai uno?
Perch, allora, non trasformare il vostro monitor LCD
in un perfetto rimpiazzo basato su Linux? I NUC
di Intel (ma anche di altri produttori) mettono
a disposizione, nella scatola, un adattatore per
il montaggio diretto sul retro del monitor. Basta che
questultimo disponga del sistema di fissaggio

in standard VESA, usato da bracci a muro e analoghi


sistemi di alloggiamento. Noi sconsigliamo questa
soluzione perch potrebbe rendere pi scomode
le porte USB anche se, per risolvere il problema,
basta dotarsi di un HUB. Ma come ciliegina sulla torta
vi sveliamo che sui NUC tecnicamente possibile
installare Mac OS X, sebbene Apple non veda affatto
la cosa di buon occhio...

Linux pro 142

LXP_142_32_37_nucok 33

33

26/05/14 17:30

NUC

Il NUC D54250WYKH (e il fratello minore con Core i3) sono simili, ma di poco
pi alti: permettono linserimento di un drive SATA da 2,5 pollici

Volt ed essere ufficialmente vagliate dalla casa madre


(o classificate come compatibili con il vostro NUC sul sito
del produttore). In redazione abbiamo faticato non poco
a trovare dei moduli adeguati al nostro D54250WYK
e, dopo averne provati diversi senza successo il NUC
neanche si accendeva, facendo lampeggiare il LED

Tutto quello che ci serve per costruire un PC dalle dimensioni molto contenute,
ma dalla potenza sorprendente!

mSATA
Il posto migliore dove installare sistema
operativo e programmi un drive SSD
formato mSATA. I prezzi variano dai 50
euro circa per i modelli da 64 GB, fino
ai 400 euro circa di un drive da 1 TB.
Ma i prezzi pi convenienti sono quelli
dei modelli da 240 GB (100 euro)
e 128 GB (75 euro).

34

di accensione per tre volte abbiamo finalmente risolto


il problema con un kit KVR16LS11/8
fornito da Kingston (60 euro circa,
8 GB, frequenza massima 1.600
MHz). Con un NUC di tipo B
o KH si pu usare un disco SATA
da 2,5 ma, per questioni di spazio
e di scarsa ventilazione, meglio
orientarsi su un drive SSD. Un HDD
tradizionale, tuttavia, pu diventare
indispensabile se intendiamo usare
il NUC come Steam Machine,
se non altro per lo stoccaggio
dei giochi. Se, come nel nostro
caso, il kit fosse quello pi piccolo,
non resta che procurarsi un drive
SSD mSATA: una tipologia di memorie
che si collega direttamente al computer tramite
un connettore PCIe Half Mini Card, esteticamente simile
a una normale scheda di espansione. In commercio ce ne
sono molti, con prezzi dai 30 ai 400 euro a seconda della
capienza, ma a nostro avviso i modelli da 240 GB, intorno
ai 100 euro, sono i pi convenienti. Noi comunque siamo
andati al risparmio e abbiamo messo un drive da soli 60 GB,
lSMS200S3/60G di Kingston, che costa meno di 50 euro:
pi che sufficiente per il sistema operativo e per poche
applicazioni, tanto per i dati si pu sempre usare un drive
USB 3.0.

Cosa possiamo farne


Laspetto migliore dei NUC la loro versatilit. La differenza
principale fra il Core i3 4010U e il Core i5 4250U sta nelle
frequenze di clock ordinarie e nella modalit turbo: il primo
lavora sempre a una frequenza fissa di 1,7 GHz, mentre
il secondo parte da 1,3 GHz in condizioni normali e pu
addirittura raddoppiare a 2,6 GHz quando il carico di lavoro
lo permette. Entrambi offrono due core con tecnologia
HyperThreading (il sistema operativo ne vede quattro) e piena
compatibilit con le istruzioni SSE 4.1, 4.2 e AVX 2.0. Il Core
i3 mette a disposizione una GPU HD4400 mentre il Core i5
una pi efficace HD5000; tutti e due, infine, condividono
le medesime tecnologie e possono indirizzare fino a 16 GB
di RAM (1.333 o 1.600 MHz) con il loro controller integrato.
Chi usa prodotti come VirtualBox o VMware sar felice
di apprendere che entrambi supportano le istruzioni dedicate
Vt-d e Vt-x con EPT. Mentre il modello con Core i3 pi
indicato per le applicazioni da ufficio e quelle da microserver, il fratello maggiore con Core i5 ha uninclinazione
ludica e multimediale. Le stesse dimensioni ridotte, in ogni
caso, ci permettono di portarlo dove vogliamo, a patto

Quanto costa?
Un sistema NUC medio pu costare complessivamente
fra i 350 e i 600 euro, a seconda della base prescelta
(i3 o i5) e dei componenti installati. Non sono unit
particolarmente economiche e alla fine entrano in competizione
con i PC portatili, che per hanno anche lo schermo
e la tastiera integrate. Cose che invece a un NUC vanno
necessariamente aggiunte.

Linux pro 142

LXP_142_32_37_nucok 34

26/05/14 17:30

NUC
Perfettamente integrato
La scheda madre di un NUC un vero
capolavoro di miniaturizzazione. Sul lato
inferiore, che quello che possiamo osservare
rimuovendo il coperchio, e a cui dobbiamo
accedere per montare i componenti, troviamo
due porte USB 2.0 (2), due USB 3.0, una
presa di rete Ethernet a 1 Gbps (3), luscita
HDMI di tipo C (4), luscita DisplayPort (5),
due connettori per moduli di memoria RAM
SODIMM (7), i due slot PCIe Half Mini Card
per adattatore Wi-Fi e drive mSATA (6)

e un connettore SATA da 6 Gbps (8), con tanto


di alimentazione. Per usarlo, per, bisogna
procurarsi i cavetti necessari. Sullaltro lato
della scheda madre, a cui non ci possibile
accedere nei kit senza smontarli
completamente, trovano invece spazio la CPU
saldata su scheda, il suo dissipatore a ventola
(1) e la batteria per la memoria CMOS.
Questultimo aspetto un po controverso:
quando sar lora di sostituirla, loperazione
potrebbe rivelarsi difficoltosa.

Passo passo Costruire un NUC

Prima le comunicazioni

Se avete deciso di inserire un adattatore Wi-Fi (come per esempio il 7260HMW della
stessa Intel, 30 euro) dovrete inserirlo subito, usando lapposita feritoia PCIe Half Mini
Card, quella a contatto con la superficie della scheda madre. Una volta inserito
diagonalmente e premuto verso il basso, ricordate di fissarlo con lapposita vite
di retention, che va svitata prima di iniziare la procedura.

Inserire la RAM

Come abbiamo sottolineato pi volte, i NUC sono molto schizzinosi con le RAM,
che devono essere DDR3 in moduli SODIMM da 1,35 volt, con frequenze di lavoro pari
a 1.333 o 1.600 MHz, non ECC. I moduli nelle foto sono solo rappresentativi: siamo
stati in grado di far funzionare il NUC con i moduli KVR16LS11/8 di Kingston, ma non
con altri che avevamo provato.

Collegare lantenna

Una volta fissato ladattatore Wi-Fi, occorre collegargli lantenna integrata nello
chassis. Per farlo sufficiente premere con un po di forza (ma non troppa!) i due
poli del cavetto agli appositi attacchi. Come da manuale, il cavo nero va fissato alla
presa numero 1, mentre quello bianco alla presa numero 2. consigliabile decidere
fin da subito se usare un adattatore Wi-Fi o meno.

Montare lSSD

Indipendentemente dal NUC che sceglierete, il posto migliore dove installare il sistema
operativo un drive mSATA, che va collegato allaltra porta PCIe Half Mini Card.
Anche in questo caso c una vite di retention da svitare preventivamente,
ma per fortuna non ci sono altri cavetti da allacciare a posteriori. Dopo aver assicurato
il drive con la vite, potete finalmente richiudere il NUC.

Linux pro 142

LXP_142_32_37_nucok 35

35

26/05/14 17:30

NUC
di avere almeno un televisore HD Ready o Full HD a cui
collegarlo per mezzo della porta HDMI. A tale proposito,
va segnalato che tutti i NUC di questa generazione hanno due
uscite video: una mini-HDMI (conosciuta anche come HDMI di
tipo C) e una mini-DisplayPort. Purtroppo Intel non ha pensato
di mettere un adattatore nella scatola, per cui occorre comprarlo
a parte. Non badate troppo al risparmio: un anonimo
convertitore HDMI da tipo C a tipo A da pochi spiccioli non
ci ha permesso di vedere alcunch, mentre per poter usare
il nostro NUC abbiamo dovuto ricorrere strano a dirsi,
ma assolutamente vero a un convertitore da mini-DisplayPort
a DV-I per Mac (20 euro circa), a cui abbiamo allacciato un cavo
da DV-I a HDMI: in poco meno di un metro abbiamo fatto il giro
di tutti i connettori digitali possibili ma, proprio grazie alla natura
digitale del segnale, alla fine abbiamo ottenuto una resa perfetta.

Per funzionare correttamente, la vostra distribuzione


di Linux dovr assolutamente avere una versione molto
recente del kernel e dei driver

Passo passo Installare XBMCbuntu

Componenti obbligatori

Dopo aver avviato linstallazione dal menu di GRUB e aver scelto la lingua italiana,
vi verr chiesto se scaricare gli aggiornamenti durante linstallazione e se installare
software di terze parti. Vi conviene confermare marcando con un segno di spunta
le apposite caselline, in particolare lopzione Installare software di terze parti:
senza decoding MP3 che media center sarebbe?

Attivate lautologon

In una normale installazione di Linux vi diremmo il contrario, ma su un media center


che si suppone collegato a un televisore consigliabile impostare il logon
automatico con Accedi automaticamente: cos non sar necessario inserire
la password ogni volta che intendete vedere un film. Poi, per carit, tutto dipende
da ci che avete memorizzato sul NUC...

36

Tipo dinstallazione

Se il vostro NUC vi servir solo per avviare XBMCbuntu, bando agli indugi: lopzione
pi in alto quella che fa per voi. Ma se avete deciso di installare pi di un sistema
operativo, o di modificare a mano la geometria delle partizioni secondo i vostri gusti,
questo il momento di dirlo, scegliendo lopzione Altro in fondo. Non ne parleremo
per in questo tutorial.

Impostate laudio

Appena avviato il primo film, possibile che non sentiate niente. Niente paura:
probabilmente impostata luscita sbagliata. Per poter sentire qualcosa dalle cuffie
necessario impostare ALC238 Analog alla voce Sistema D Impostazioni D
Uscita audio. In caso contrario, infatti, luscita predefinita sar quella della porta HDMI
o della DisplayPort.

Linux pro 142

LXP_142_32_37_nucok 36

26/05/14 17:30

NUC

Intel D54250WYK
Linux Pro d unocchiata indiscreta al NUC
pi piccolo e pi veloce sul mercato

opo la lunga introduzione


delle pagine precedenti,
ora di tirare le somme
sul prodotto finito,
quello che molto gentilmente Intel
ci ha fornito per la recensione.
inutile aggiungere che il primo
impatto con il NUC D54250WYK
sia stato quasi scioccante: un conto
vederlo in foto, o sul sito,
o esposto da qualche parte.
Un altro conto, invece,
impugnarlo con una sola mano
e realizzare che l, in quella
scatoletta di pochi centimetri,
racchiuso un computer pi
veloce di quelli che usavamo fino
a qualche anno fa e che, in certi
casi, usiamo ancora oggi. Tutto,
allinterno del NUC, finalizzato
a svolgere le operazioni con
rapidit: il processore adeguato
a compiti di qualsiasi entit,
compresi il gioco grazie alla
scheda HD5000, non proprio
il massimo in senso assoluto
ma pi che sufficiente per
la maggior parte dei titoli e la
virtualizzazione, due attivit agli
antipodi accomunate dalla grande

potenza di calcolo necessaria.


In mezzo ci sono quasi tutte
le applicazioni che la mente
umana pu immaginare e che oggi
usiamo per lo svago o per
la produttivit personale. Certo,
chi deve macinare TeraFLOP
su TeraFLOP di calcoli dovr
per forza orientarsi altrove, ma
non questo lo scopo di un NUC.

Di necessit virt
Laspetto pi controverso
di questo modello, ovviamente,
limpossibilit di montare
un disco SATA da 2,5 allinterno
del case, per mancanza di spazio.
Il connettore c, ma usarlo
significherebbe rinunciare
a chiudere lunit o, peggio,
modificarla con qualche attrezzo
per consentire ai cavetti di uscire.
Chi ha questo genere di necessit
farebbe molto meglio a scegliere
il modello D54250WYKH, se non
addirittura a comprarsi la scheda
madre nuda e cruda, tanto il costo
molto simile. Di necessit, per,
si deve far virt: si pu eseguire
il boot del sistema operativo

Il NUC D54250WYK quello dalle dimensioni pi contenute (non ci sta


nemmeno un drive da 2,5), ma dal processore pi potente

partendo da una chiave USB,


ma molto meglio acquistare
un drive mSATA e montarlo
nellapposito alloggiamento.
Render il caricamento del sistema
e delle applicazioni questione
di pochi secondi, oltre che
il passaggio dalluna allaltra
praticamente istantaneo.
Lunica vera critica che ci sentiamo
onestamente di muovere a Intel
lassenza di accessori: mancano
perfino gli adattatori video!
davvero frustrante trovarsi
a che fare con un dispositivo
dotato di due porte mini
HDMI e DisplayPort, e non poter

In evidenza

usare immediatamente i pi comuni


cavetti normalmente in vendita.
Abbiamo anche riscontrato
difficolt a trovare un adattatore
HDMI che funzionasse a dovere
e, alla fine, abbiamo dovuto
ripiegare su un convertitore
da mini-DP a DV-I per poter
vedere qualcosa sullo schermo,
con unevitabile spesa aggiuntiva.
Non diciamo tanto, ma almeno
un cavo HDMI da tipo C a tipo A
sarebbe stato decisamente
apprezzato. Lo stesso si pu dire
per la schedina Wi-Fi o per
il telecomando IR, che vanno
acquistati separatamente presso
negozi specializzati, ma almeno
in questi casi si tratta di periferiche
accessorie, non indispensabili.
Per il resto, non manca nulla:
con due porte USB 3.0 e due USB
2.0 si possono fare molte cose
e la porta Ethernet da 1 Gbps
garantisce anche il collegamento
a una LAN cablata. LXP

Giudizio
D54250WYK
Produttore: Intel
Web: www.intel.com
Prezzo: 320

Caratteristiche
Prestazioni
Facilit duso
Qualit/prezzo

Fino a 3 monitor
Il NUC, al pari di altre piattaforme basate sulle ultime architetture Intel, supporta anche configurazioni
multischermo. Per mezzo delluscita DisplayPort si possono collegare addirittura fino a tre monitor in cascata.
Tramite uno splitter HDMI, invece, se ne possono collegare al massimo due. Con un solo schermo sono
supportate anche le risoluzioni superiori al Full HD.

9
8
8
7

Un kit meraviglioso su cui


costruire un mini-PC potente
ma senza esagerare.

Il voto di
Linux Pro

Linux pro 142

LXP_142_32_37_nucok 37

37

26/05/14 17:30

Langolo di

Android

News, recensioni e guide sul sistema operativo libero per smartphone


Se hai news da segnalarci o dei commenti scrivici ad angolo_android@linuxpro.it

Novit per Play Services

Il sistema di aggiornamento automatico delle app di Google viene rafforzato in previsione


dei dispositivi indossabili: ecco cosa ci aspetta...

ra le tante funzioni
di Android, quella svolta
da Play Services
sicuramente una delle
pi utili e allo stesso tempo meno
apprezzate. A scadenze pi o meno
regolari Play Services viene
aggiornata, e lultimo upgrade
sicuramente molto importante,
sia perch ne ha aumentato
le dimensioni del 30%, sia perch
molti degli aggiornamenti
riguardano le app legate
a localizzazione e movimento. Dora
in poi Google Now sar in grado
di capire se ci stiamo muovendo
in bicicletta, in auto o anche
se stiamo camminando o correndo,

e qui il riferimento va sicuramente


ai nuovi dispositivi Android
indossabili come smartwatch
o braccialetti intelligenti,
che dovrebbero essere presentati
durante lestate. Ma le novit
non finiscono certo qui, basta infatti
prendersi la briga di andare
a cercare nellaggiornamento,
per trovare ben 18 nuovi permessi
che vengono richiesti ma che,
al momento, non sono utilizzati.
Alcuni di questi riguardano
gli Android Wear, i dispositivi
indossabili di Google che cos
saranno compatibili con la gran
parte degli smartphone Android.
Dallesame delle stringhe

Maps sempre pi offline

on ogni nuovo
aggiornamento Google
Maps si arricchisce
di funzioni sempre pi
interessanti, come per esempio
la scelta della corsia in cui stare
in modo da non perdere luscita
autostradale. Resta il problema
della connessione Internet che,
soprattutto allestero, ha un costo
importante e che necessaria
per visualizzare una mappa,
a meno di non avere scaricato
in precedenza la zona che
interessa. Questa possibilit esiste
in realt da tempo, ma fino
allultimo aggiornamento si
rivelata poco pratica sia a livello
di salvataggio che di recupero
delle mappe. Ora per con la
versione 8.0 di Maps la procedura
di salvataggio o di recupero offline
di intere porzioni di mappa molto

40

pi immediata in quanto
il comando inserito allinterno
della scheda descrittiva della zona
che viene visualizzata, mentre
nel momento in cui non attiva
una connessione Internet viene
visualizzato lelenco di tutte
le mappe salvate in memoria.
Certo, rimane impossibile avviare
la navigazione guidata senza una
connessione Internet, ma grazie al
GPS comunque possibile sapere
in ogni momento dove ci si trova.

dellaggiornamento alcuni
sviluppatori sono poi arrivati
a dedurre che altre novit
interesseranno la chiave HDMI
Chromecast e sar cos possibile
il mirroring del desktop di Android

sulla TV. Infine lultima novit


riguarder il wallet che,
in combinazione con la tecnologia
wireless NFC, render pi semplice
fare a meno delle carte di credito
sostituendole con lo smartphone.

Buona parte dei 18 nuovi permessi richiesti da Play Services servir


per i nuovi dispositivi indossabili di Google

Arriva il Moto E

l primo smartphone realizzato


da Motorola dopo
lacquisizione da parte della
cinese Lenovo finalmente
disponibile. Si tratta del Moto E
che prosegue la politica della
qualit a prezzi accessibili iniziata
con il Moto G. Il nuovo
smartphone di Motorola gi
in vendita in India a un prezzo
di 85 euro, mentre in Europa
dovrebbe arrivare entro giugno
con un prezzo che non dovrebbe
discostarsi molto dalla soglia
dei 100 euro. Questo con una
struttura solida e una dotazione
pi che discreta, a partire
dal display da 4,3 pollici con
protezione Gorilla Glass
e il processore Qualcomm
Snapdragon S200 Dual Core
con 1 GB di RAM. Certo, manca

il 4G e la memoria base limitata


a 4 GB, ma a differenza del Moto
G presente un alloggiamento per
schede microSD che permetter
di espanderla fino a 36 GB. Il tutto
con il grande vantaggio di avere
lultima versione di Android, cio
la 4.4 KitKat. LXP

Linux pro 142

LXP_142_40_news android 40

26/05/14 17:32

Fonepad Note FHD 6 Langolo di Android

Asus Fonepad Note FHD 6


Il nuovo phablet pu vantare un display Full HD da 6 pollici ultra-luminoso
e il potente processore Intel Z2580 Dual Core

sus particolarmente
attiva nel settore
dei maxi smartphone,
o phablet che dir
si voglia: dopo il Fonepad
da sette pollici che si distingueva
per la dotazione essenziale
e per il prezzo inferiore ai 200
euro, presenta Fonepad Note
FHD 6, un modello di fascia alta
che pu vantare uno splendido
schermo in Full HD e il nuovo
processore Intel Dual Core
Z2580. I phablet possono essere
definiti come una via di mezzo
tra smartphone e tablet, e, infatti,
Fonepad Note FHD 6 ha una
diagonale da sei pollici e pesa
poco pi di 200 grammi.
Il paragone obbligato con
il Samsung Galaxy Note 3 che ha
caratteristiche hardware simili
ma costa quasi il doppio. Il vero
problema per chi vuole usare
un phablet come telefono
principale sono naturalmente
le dimensioni: rispetto a un
classico telefono con schermo
da 5, Fonepad Note FHD 6
pi lungo di un paio di centimetri
e soprattutto pesa circa 70
grammi in pi. Caratteristiche
poco rilevanti se si tiene in genere
il terminale nella borsa, ma non
certo se si abituati a tenerlo
in tasca. La struttura realizzata
con plastiche di buona qualit
che offrono una sensazione

di robustezza superiore alla


media: abbiamo apprezzato
la presenza del doppio
altoparlante superiore e inferiore
e il facile accesso allalloggiamento
per Sim e schede di memoria.
Le dimensioni eccessive passano
per in secondo piano una volta
che si accende il display Full HD
con tecnologia Super IPS+, che
uno dei pi luminosi disponibili
in commercio con un valore
di 461 cd/m2 e pu vantare una
densit di 367 pixel per pollice.
Fonepad Note FHD 6 ha un
angolo di visione molto esteso
con lunico vero limite di avere
una superficie molto riflettente
che rende difficile la lettura sotto
la luce diretta del sole. Come
il Galaxy Note, anche questo
phablet integra un pennino
dinamico inserito nel suo
alloggiamento nella parte inferiore
destra. Estraendolo si avvia
automaticamente lApp Supernote
che permette di inserire
un appunto al volo nella pagina
che si sta guardando e che potrete
poi catturare e salvare nella
galleria semplicemente premendo
il pulsante che si trova nella parte
inferiore del pennino. Si tratta
di una funzione particolarmente
utile per inserire appunti o anche
disegni al volo su file PDF
o pagine Web, che poi potrete
immediatamente condividere

Il display IPS con risoluzione da 1920x1200 pixel uno dei pi luminosi


della sua categoria e non fa rimpiangere gli Amoled nemmeno con i neri

Il pennino in dotazione utile non solo per prendere appunti ma anche


per muoversi agevolmente sullo schermo

con colleghi o amici. Lo stilo pu


essere utilizzato anche per
lo scrolling delle pagine senza
bisogno di toccare il display,
semplicemente avvicinandolo
a circa un centimetro dalla parte
inferiore destra della schermata.
Utile anche il messaggio di avviso
che appare nel caso non stiate
usando lo stilo da un paio di minuti
e che vi ricorda di riporlo nel suo
alloggiamento. Una delle novit
di Fonepad Note FHD 6 la
presenza di un SoC Intel
Atom Z2580 dual core da 2 GHz
che si comportato meglio nella
vita reale di quanto non abbia
fatto nei benchmark a cui
labbiamo sottoposto.
In particolare Antutu ha fornito
un punteggio di 20.000 punti,
paragonabile a quello ottenuto
dal Galaxy Note 2 e di quasi
14.000 punti inferiore al Note 3.
In realt non abbiamo notato
alcun rallentamento durante
lutilizzo quotidiano e anche
con i giochi 3D di ultima
generazione. La memoria reale
disponibile di circa 10 GB
ma pu essere facilmente
espansa via scheda microSD.
La fotocamera posteriore da 8

Megapixel non ha lilluminatore,


e questo rappresenta un problema
in molte situazioni, ma in
compenso sufficientemente
luminosa (f/2.0) e permette
di riprendere immagini di buona
qualit anche se la luce ambientale
non ideale. La sezione telefonica
non integra lo standard LTE
mentre lautonomia che pu
contare su una batteria da 3.200
mAh decisamente capiente,
risente comunque delle dimensioni
dello schermo e per questo non
oltrepassa di molto la giornata
lavorativa. LXP

Giudizio
Asus Fonepad Note FHD 6
Produttore: ASUS
Web: www.asus.com/it
Prezzo: 399

Caratteristiche
Autonomia
Prestazioni
Qualit/prezzo

6
8
7
8

Il display il punto forte


di questo phablet valido
e con un prezzo abbordabile.

Il voto di
Linux Pro

7,5

Linux pro 142

LXP_142_41_rec_android 41

41

26/05/14 17:32

COD. LP131

COD. LP130

5,90

COD. LP132

5,90

numero 130 - giugno 2013

numero 131 - luglio 2013

COD. LP134

COD. LP135

5,90
numero 132 - agosto 2013

COD. LP136

Se leggi Linux Pro,


ti possono piacere anche...

COD. LP133

5,90
numero 133 - settembre 2013

COD. LP137

OFFERTA
SPECIALE

I segreti dello
smartphone Android
pi acclamato
dellanno

COD. SAJ4
4,90

ESAURITO!
5,90

5,90

numero 134 - ottobre 2013

COD. LP139

Confronto: editor video liberi Guida allottimizzazione del kernel

PRO

Diventa protagonista nel mondo Linux

PRO

10 pagine di pura programmazione

ACCADEMIA
DEL CODICE

Schermo da urlo
e prestazioni al top

T A I LS

Y
ECRYP T GPG CR

Inoltre
Google ha dato un giro di vite
al suo SO: ecco come rimediare

Silenzioso
e ricco di porte,
ideale come
media center

Raspberry Pi

TRU

Android libero!

Penguin Wee Desktop


415

Kindle HDX

AT

Concetti I segreti della compressione JPEG


Scratch Il linguaggio ideale per i neofiti
Firefox OS Realizzare e pubblicare unapp

Linux Pro 139 - 2014 - Mensile - 5,90 - CHF 13,60

COD. LP141

Y
AC

Spioni ed enti governativi


penetrano le tue difese...
lOpen Source li blocca!

OT

numero 138 - Febbraio 2014

NSA

COD. LP140

5,90
numero 137 - gennaio 2014

YOUR PR
CT
IV
TE

SSL TOR

5,90

TARIFFA R.O.C. - POSTE ITALIANE SPA - ABB. POST. - D.L. 353/2003 (CONV. IN L. 27/02/2004 N. 46) ART. 1, COMMA 1, S/NA - DISTRIBUTORE: PRESS-DI, MILANO

A PROVA DI

229

5,90
numero 136 - Dicembre 2013

COD. SLP8
9,90

TOC

COD. LP138

numero 135 - novembre 2013

COD. SLP7
9,90

Le migliori espansioni
per la scheda dei miracoli

Alla scoperta di Rust

5,90

5,90

Il linguaggio di programmazione
per un Web a prova di hacker

Sistema operativo
Come raggiungere il mito
dellinstallazione perfetta

numero 139 - marzo 2014

LXP_cover_139.indd 1

27/02/14 15:40

numero 140 - aprile 2014

5,90
numero 141 - maggio 2014

Completa la tua collezione ordinando gli arretrati


su www.spreastore.it/linuxpro

oppure utilizzando il modulo qui sotto

Scegli larretrato Che vuoi ordinare

NOME

SE VUOI ORDINARE VIA POSTA O VIA FAX, COMPILA QUESTO COUPON

COGNOME

Ritaglia o fotocopia il coupon, invialo in busta chiusa a: Sprea Editori S.p.A. Via Torino, 51 20063 Cernusco s/n
(MI), insieme a una copia della ricevuta di versamento o a un assegno. Oppure via fax al numero 02.700537672.
Per ordinare in tempo reale i manuali collegati al nostro sito www.spreastore.it. Per ulteriori informazioni puoi scrivere a store@sprea.it oppure telefonare allo 02/87158224 tutti i giorni dalle 14.00 alle 18.00

via

INSERISCI I CODICI delle pubblicazioni che desideri ricevere:

CITT

TEL.

e-mail

Totale Ordine

C.A.P.

PROV.

SCELGO IL SEGUENTE METODO DI PAGAMENTO (Indica con una quello prescelto)

Versamento su CCP 99075871 intestato a Sprea Editori S.P.A. ABBONAMENTI Via Torino 51
20063 Cernusco Sul Naviglio MI (Allegare ricevuta nella busta o al fax)

SCELGO IL SEGUENTE METODO DI SPEDIZIONE:

Bonifico intestato a Sprea Editori S.P.A. Abbonamenti sul conto

Indica con una la forma di spedizione desiderata


Spedizione tramite posta tradizionale al costo aggiuntivo di

2,90

Spedizione tramite Corriere Espresso al costo aggiuntivo di

7,00

Totale COMPLESsIVO
Data

Firma del titolare

IBAN IT05 F076 0101 6000 0009 9075 871

Carta di Credito N.
(Per favore riportare il numero della Carta indicandone tutte le cifre)
Scad.

CVV


Nome e Cognome del Titolare della carta (pu essere diverso dallabbonato)

Informativa e Consenso in materia di trattamento dei dati personali - (Codice Privacy d.lgs. 196/03) Sprea Editori S.p.A. Socio unico Sprea Holding S.p.A. con sede legale in via Beltrami 21,
26100 Cremona, il Titolare del trattamento dei dati personali che vengono raccolti, trattati e conservati ex d.lgs. 196/03. Gli stessi potranno essere comunicati e/o trattati da Societ esterne
Incaricate. Ai sensi degli artt. 7 e ss. si potr richiedere la modifica, la correzione e/o la cancellazione dei dati, ovvero lesercizio di tutti i diritti previsti per Legge. La sottoscrizione del presente modulo deve
intendersi quale presa visione, nel colophon della rivista, dellInformativa completa ex art. 13 d.lgs. 196/03, nonch consenso espresso al trattamento ex art. 23 d.lgs. 196/03 in favore dellAzienda.

LXP_142_42_Arretrati 42

26/05/14 18:12

Recensioni

Tutte le novit in campo software e hardware testate e valutate ogni mese dai nostri laboratori
Se vuoi segnalarci qualche novit scrivi a recensioni@linuxpro.it

Una breve
legenda
Ogni test di questa sezione
accompagnato da un giudizio
che riassume con quattro indici numerici
le principali qualit dellapplicazione
o del prodotto hardware messo alla prova.
I laboratori di Linux Pro assegnano
un voto da 1 a 10 alle seguenti categorie:
Caratteristiche: fornisce tutte
le funzioni di cui abbiamo bisogno?
innovativo?
Prestazioni: esegue in maniera
efficiente le sue funzioni?
veloce e affidabile?
Facilit duso: dispone di uninterfaccia
grafica chiara e facilmente fruibile?
La documentazione che lo accompagna
sufficientemente completa ed esaustiva?
Qualit/prezzo: ha un prezzo
competitivo? Vale i soldi richiesti
per il suo acquisto?
Il nostro giudizio viene
poi riassunto da un voto finale,
espresso anche graficamente.
Ecco la legenda dei voti:
Nulla da eccepire. Un prodotto
praticamente perfetto.
Un buon prodotto. I pochi
difetti presenti non sono gravi.
Compie il suo lavoro ma
necessita di ulteriori sviluppi.
Deve migliorare prima di
raggiungere un voto sufficiente.
Un completo disastro.
Gli sviluppatori devono tornare
alla fase di progettazione.

10
8-9
6-7
5-4
1-3

Ricordiamo infine che i software citati


nelle sezioni Confronto e Da non
perdere sono spesso presenti nel DVD
sotto la voce Rivista sotto forma
di codice sorgente o binario.

questo mese...
Test >>
Synology DS214+
Un NAS a due baie
per i piccoli uffici

pag. 44

Intel SSD 730

Ottime prestazioni per questa


affidabile unit SSD
pag. 45

Crucial M550

Il nuovo drive di Crucial pag. 45

SparkyLinux LXDE

PiBang Linux

Una buona distribuzione per Linux


non adatta ai principianti pag. 46

PiBang Linux

Vi fornisce tutto ci di cui la vostra


Raspberry Pi ha bisogno pag. 47

Confronto >>

Cinque launcher che rendono


la vita pi facile
pag. 48
Gmrun
Gnome-Pie
Gnome-Do
Homerun
Kupfer

Gmrun

Da non
perdere >>

Ambiente di sviluppo Python,


convertitore file, player musicale,
software per criptaggio volumi,
trituratore di file, editor musicale...
PyCharm CE
pag. 54
Pandoc
pag. 55
Nightingale
pag. 55
Truecrypt
pag. 56
BleachBit
pag. 56
MuseScore
pag. 57
FreeMind
pag. 57
FlightGear
pag. 58
Alien Arena
pag. 58

PyCharm CE
Linux pro 142

LXP_142_43_introRecens 43

43

26/05/14 17:32

Test Synology DS214+

Synology DS214+
Lavorate in un ufficio con cinque o sei persone (o anche un po pi grande) e vi serve
un NAS? Smettete di cercare, forse lo avete trovato

n qualunque tipo di ufficio,


dal pi piccolo al pi grande,
una delle esigenze primarie
quella di archiviare file/
documenti in modo sicuro
e facilmente accessibile
da qualunque PC della rete locale.
A dir la verit, le stesse necessit,
probabilmente per file di natura
differente (foto, video, musica, ecc.)
sono sempre pi presenti anche
in ambito casalingo. Proprio
a questo scopo sono nati i NAS
e Synology, uno dei maggiori
produttori di questo tipo
di dispositivi, ci ha fatto pervenire
uno dei suoi ultimi modelli,
il DS214+, per una prova. A tal
proposito, i NAS di Synology
vengono di solito venduti senza
dischi; per la prova abbiamo usato
ununit WD Red da 3 TB
gentilmente fornita da Western
Digital, oltre a un altro disco,
un Green da 2 TB, sempre di WD.

Il nuovo sistema
A dir la verit lunit arrivata
in redazione qualche tempo fa,
ma abbiamo aspettato a recensirla
perch eravamo in attesa
del rilascio della nuova versione
del sistema operativo che lo anima,
il DSM (DiskStation Manager) 5.0.
Come si sul dire, volevamo
prendere due piccioni con una fava
e tutto sommato abbiamo fatto
bene ad aspettare. Per chi non
conoscesse DSM, diciamo
brevemente che offre un ambiente
accessibile via Web (ma anche
tramite svariate app per Android/

Scheda tecnica
CPU Marvell Armada XP Dual
Core 1.33 GHz
RAM 1 GB DDR3
Numero vani 2 (dischi HDD
SATA (III) da 2,5 o 3,5, dischi
SSD SATA (III) da 2,5
Capacit massima 10 TB
Porte 2 Gigabit Ethernet, 1 USB
2.0, 2 USB 3.0, 1 eSata

44

iOS) in stile scrivania del PC,


con menu, icone e avvisi popup
in cui ci si ritrova immediatamente,
essendo molto simile a quanto
troviamo in qualunque desktop
di una distro GNU/Linux. Con
il rilascio della versione 5.0 ci pare
che la facilit duso sia aumentata
e anche che laspetto di alcuni
elementi (come le icone) sia un po
pi giocoso rispetto al passato.
Questo nostro commento non
deve per farvi pensare
a un sistema per bambini, anzi:
nelle varie funzioni si trova tutto ci
che serve a un amministratore
di sistema. Si parte dalle soluzioni
di backup che si interfacciano con
VMware vSphere e con prodotti
Windows, con varie opzioni per
le copie di sicurezza, per arrivare
alle funzionalit cloud, con Cloud
Sync che consente agli utenti
di sincronizzare i file archiviati
su Dropbox, Google Drive e Baidu
Cloud con i NAS Synology. anche
possibile la sincronizzazione a due
vie tra diversi server NAS Synology
grazie a Cloud Station Client for
DSM. impossibile citare tutte
le funzioni incluse in DSM 5.0:
aggiungiamo solo che configurare
cose come le condivisioni e i vari
tipi di RAID (avendo due dischi)
semplicissimo. Inoltre, tramite
il Centro pacchetti, potete
installare nel NAS un po
di tutto, da strumenti per la
videosorveglianza a server di varia
natura (Web, email, DNS, svariati
CMS, tool per lo streaming
multimediale e per il VoIP),

Questo NAS di Synology estremamente discreto: lo si accende (anche


in maniera programmabile) e poi ce lo si dimentica, visto quanto
silenzioso, a meno che non ci servano i dati che contiene

a software per il download


di torrent e file da emule e altro
ancora. Agendo sulla configurazione
anche possibile installare
programmi per la domotica
insomma le possibilit offerte
dal software sono pressoch
infinite. Ma lhardware regge
questo carico?

Lhardware
La risposta certamente s!.
Nella scheda tecnica potete
leggere alcune delle caratteristiche
hardware del NAS. La CPU dual
core, il Gigabyte di RAM, le porte
Gigabit e larchitettura interna
(oltre a funzioni come la Link
Aggregation) garantiscono buone
prestazioni dei dischi. Lunit
tremendamente silenziosa,
per capire se era accesa o meno
abbiamo pi volte dovuto
controllare il LED presente nella
parte anteriore. I due dischi sono
estraibili a caldo; per estrarli non
necessario alcuno strumento,
n bisogna smontare il case
del NAS come capitava con modelli
passati (in genere quelli pi
economici, destinati a unutenza
prettamente domestica). Il tutto
ha un aspetto sobrio, il dispositivo
risulta fisicamente solido;
anche le temperature
di funzionamento rimangono
sempre contenute, anche dopo

molte ore di accensione, cos come


i consumi. Le due porte USB 3.0
posteriori, pi quella 2.0 presente
nella parte frontale, offrono ampie
possibilit di collegamento di dischi
esterni per il backup, per esempio,
e a questo si aggiunge la porta
eSATA. La potenza di calcolo
vi consente di trasformare il NAS
in un server email e Web senza
intoppi, ed possibile attivare
anche un server VPN per laccesso
remoto sicuro. Insomma, facile
da usare, ricchissimo di funzioni,
utilizzabile da qualunque sistema
operativo, compresi quelli mobile
non sar perfetto (per esempio
non esiste unopzione per avere pi
RAM) ma compie molto bene
il proprio lavoro. LXP

Giudizio
Synology DS214+
Sviluppatore: Synology
Web: www.synology.com/it-it/
Prezzo: 260,00

Caratteristiche
Prestazioni
Facilit duso
Qualit/Prezzo

9
8
9.5
8.5

Un NAS dotato di tutto ci


che serve per luso lavorativo,
ma adatto anche per la casa.

Il voto di
Linux Pro

8.5

Linux pro 142

LXP_142_44_LXP142_rev_synology 44

27/05/14 16:39

Unit a stato solido Test

Intel SSD 730


Ununit SSD overcloccata?
Lo staff di Linux Pro indaga

a nuovissima famiglia SSD


730 decisamente
importante per Intel, dato
che per la prima volta da diversi
anni comprende drive per
il mercato di massa che utilizzano
un processore Intel per il controller.
Famiglia non forse il termine
pi adatto, dal momento che
per ora i dischi sono disponibili
in due sole versioni: quella dal 240
GB (con 550/270 MB/s in lettura/
scrittura) e quella da 480 GB
qui in esame. Per trovare lultimo
controller di memoria Intel occorre
risalire alla SSD 320 (lanciata nel
2011); si trattava di ununit
da soli 3 Gbps. La serie SSD 730,
invece, presenta il primo controller
da 6 Gbps prodotto internamente
da Intel. Se in qualunque altro
disco si trovano i consueti 16 chip
NAND identici da 20 nm,
con la serie SSD 730 si ha

limpressione che qualcuno abbia


spulciato i vari chip NAND
disponibili scegliendoli uno per uno.
Ci sono 14 chip da 32 GB,
uno da 64 GB e uno da 16 GB,
per una capacit totale di 528 GB.
Perch allora viene distribuito
come disco da 480 GB? Perch
la capacit aggiuntiva viene
utilizzata per proteggere lunit
dalle conseguenze del wearlevelling e della sostituzione dei
settori danneggiati. Il che fa ben
sperare riguardo alla longevit del
prodotto. stato allIntel Developer
Forum di San Francisco dello
scorso anno che Intel ha iniziato
a parlare di SSD overcloccati,
anche se va detto che la maggior
parte del personale Intel non
ha preso molto sul serio lidea.
Fatto sta che con la serie SSD 730
Intel ha effettivamente applicato
loverclocking al controller,

La velocit dellunit
dovuta anzitutto al controller
Intel da 6 Gbps

passando da 400 a ben 600 MHz.


Anche il bus NAND stato
accelerato, bench di soli 18 MHz,
raggiungendo cos i 100 MHz.
Intel deve nutrire una certa fiducia
in queste diavolerie, dato che offre
una garanzia di cinque anni.
I risultati per non sono allaltezza
delle aspettative. Per questa unit
Intel cita prestazioni in lettura
e scrittura di 550 e 470 MB/s
rispettivamente, velocit che non
siamo riusciti a raggiungere con
il software di benchmarking ATTO.
Questultimo ci ha fornito valori di
529 e 454 MB/s rispettivamente,
che sono comunque notevoli. LXP

Giudizio
Intel SSD 730 480 GB
Produttore: Intel
Web: www.intel.com
Prezzo: 420

Funzioni
Prestazioni
Facilit duso
Qualit/Prezzo

9
10
8
8

I vantaggi in termini di
prestazioni e di affidabilit della SSD
730 valgono (quasi) il suo prezzo.

Il voto di
Linux Pro

Crucial M550
Ci siamo davvero lustrati gli occhi davanti
al nuovo drive di Crucial

a linea M500 di Crucial ha


rappresentato uno dei maggiori
successi del 2013 nel campo
delle unit SSD. Ha introdotto prezzi
ultra-competitivi (anzi, veramente
stracciati) e il suo modello da 960 GB
stato la prima unit SSD prossima
al Terabyte realizzata per il mercato
di massa. I dischi Crucial vantano
inoltre alcune interessanti funzioni
di livello professionale, come
la protezione dai cali di tensione:
una caratteristica normalmente
assente nelle unit SSD di questa
fascia di prezzo ma che anche altre
case produttrici, come Intel e OCZ,
stanno introducendo nei loro modelli
per il mercato di massa. Dopo il lancio
della serie M500 abbiamo assistito
a una proliferazione di formati per
le unit SSD oltre a quello normale

da 2,5 pollici, che ne consentono


limpiego in dispositivi sempre pi
piccoli. Crucial non rimasta con
le mani in mano e la serie M550
infatti disponibile nei tre formati
pi in voga del momento: 2,5 pollici,
mSATA e M.2 (tipo 2280). Il modello
da 1 TB disponibile solo nel formato
da 2,5 pollici, mentre quelli da 128,
256 e 512 GB offrono la scelta fra
tutti e tre. Lunit M550 da 512 GB
utilizza un die Micron da 128 GB
e chip MLC NAND da 20 nm.
Aprendo lunit si trovano otto di
questi chip su ciascun lato del circuito;
come la serie M500, anche le unit
M550 utilizzano la tecnologia RAIN
(Redundant Array of Independent
NAND) di Micron per tenere tutto
in ordine. Il cuore dellunit costituito
da un controller Marvell 88SS9189

Questa unit SSD


disponibile in vari formati
adatti praticamente a qualunque
PC o dispositivo

a 8 canali con hardware AES a 256


bit, TCG Opal 2.0 e supporto alla
crittografia IEEE-1667. La serie
M500 di Crucial ha introdotto
standard elevati di prestazioni
a prezzo contenuto e la serie M550
non da meno, in particolare nei suoi
modelli a maggiore capacit. Nei
nostri test, lunit Crucial ha raggiunto
i 542 MB/s in lettura; quanto ai 512
MB/s toccati in scrittura, si tratta
di una prestazione che ha di poco
superato le previsioni. Lunit M550
costa quasi 120 euro meno
del modello Intel e offre una capacit
leggermente superiore, pur essendo
un po pi lenta in alcune situazioni. LXP

Giudizio
Crucial M550 512 GB
Produttore: Crucial
Web: http://it.crucial.com/ita
Prezzo: 289,13

Funzioni
Prestazioni
Facilit duso
Qualit/Prezzo

9
9
8
10

La M550 unalternativa
decisamente conveniente
al modello Intel.

Il voto di
Linux Pro

Linux pro 142

LXP_142_45_LXP184_rev_SSDs 45

45

26/05/14 17:33

Test SparkyLinux LXDE

SparkyLinux LXDE
Linux Pro aggiunge un po di pepe alle vostre distro linux con SparkyLinux LXDE.
Basata su Debian tuttaltro che adatta ai principianti

ebian oramai in giro


da parecchi anni e ha
fornito una solida base
per molte altre distro.
Ubuntu, Linux Mint e Crunchbang
possono essere definite lesempio
pi lampante di un uso accorto
e potente di questa piattaforma.
Con i suoi molteplici repository,
le distro possiedono tutto quello
di cui hanno bisogno per
funzionare a dovere. Per i progetti
che vogliono basarsi sulla stabilit,
la versione Stable sicuramente
la scelta migliore. Tuttavia, per chi
non rinuncia alle ultime novit,
il punto di partenza senza dubbio
la Testing, vale a dire l dove
SparkyLinux prende tutte le sue
ottime qualit. Questa distro
sfoggia un design simile
a Crunchbang e offre un ambiente
desktop leggero e funzionale,
con un ingombro minimo.
SparkyLinux pu essere scaricato
in formato ISO da 1,5 GB
e fornisce fin da subito una serie
di applicazioni pronte alluso.
LibreOffice e GIMP sono
preinstallati, insieme ai rebrand
di Firefox e Thunderbird, ossia
IceWeasel e IceDove. Ci che
lascia un po pi stupiti laggiunta
di TeamViewer, il popolare tool
per le connessioni remote. raro
trovarlo gi disponibile alla prima
installazione di una distro.
C perfino Radio Tray,
una piccola applicazione

che permette di ascoltare una


buona serie di stazioni radio.
Sempre a proposito di multimedia,
questa distro, include tutti i codec
necessari a riprodurre i filmati
su YouTube e i pi popolari file
audio, come MP3 e OGG.
Non dovrete quindi preoccuparvi
di installare alcun codec
(a seconda della distro, si tratta
di unattivit tuttaltro che
riposante). Per scaricare
e installare il software dai
repository della versione Testing
di Debian, potete utilizzare senza
problemi linterfaccia grafica
di Synaptic. In alternativa, niente
vieta di servirsi del terminale con
il solito apt-get. Durante la nostra
esperienza con SparkyLinux, in pi
di unoccasione ci siamo ritrovati
a pensare a Crunchbang.
Il desktop trasmette la stessa
sensazione di minimalismo,
pur aggiungendo un menu
per laccesso rapido alle
applicazioni e un tocco in pi
di colore. Il confronto tra le due
distro interessante, soprattutto
perch entrambe permettono
ai vecchi PC di tornare a nuova
vita. Sia Sparky sia Crunchbang,
per visualizzare una serie
di informazioni sul profilo destro
del desktop, utilizzano Conky.
Si tratta di una caratteristica
piuttosto utile, che comunque
potete personalizzare in qualsiasi
momento. Considerando poi che

In evidenza

App

Conky

Questa distro presenta di default un


gran numero di utili applicazioni.

Vi permette di tenere sempre


sottocchio le risorse del PC.

46

SparkyLinux ha gi installato TeamViewer e Dropbox. Dal menu


superiore potete accedere ai vari software presenti, nonch
raggiungere il centro impostazioni per la gestione del sistema

su Sparky la configurazione di default


di Conky un po imbarazzante
da avere sempre sottocchio.

Le prestazioni
SparkyLinux disponibile con una
vasta serie di Window Manager,
cos da soddisfare qualsiasi genere
di computer con specifiche
e hardware differenti. La maggior
parte delle macchine, comunque,
trover nella versione LXDE il giusto
equilibrio tra velocit e funzionalit.
Se avete un vecchio PC, o se volete
comunque provare a giocherellare,
avete solo limbarazzo della scelta.
Infatti, ci sono sia OpenBox
sia Enlightenment pronti per
il download. Siamo rimasti
piacevolmente stupiti da questa
grande disponibilit, che a dire
il vero mancata per tanto tempo
anche nelle distro principali.
Il mondo Linux, infatti, non solo
GNOME, KDE o Unity e SparkyLinux
ci fa capire come questaffermazione
sia assolutamente vera. Utilizzando
un processore a doppio core,
le prestazioni di Sparky sono
formidabili. Siamo riusciti a mettere
alle strette le risorse di sistema solo
in rare occasioni. Chi di voi ha sotto
il cofano un processore i3/i5/i7,
quindi, non avr alcun problema
a utilizzare la distro al massimo delle

sue potenzialit. Riguardo


a SparkyLinux, per, va detto
che non adatta ai principianti.
Per riuscire a ottenere il massimo,
necessario avere un buon grado
di esperienza. Facendo il punto
della situazione e tirando le fila,
non possiamo che lodare la vasta
gamma di varianti disponibili, cos
come le prestazioni che siamo
riusciti a ottenere. Se non dovesse
bastarvi, pensate che esiste perfino
una versione di Sparky dedicata
ai giocatori, con tanto di piattaforma
per i giochi di ultima generazione,
ma anche per quelli dallanima
pi retr. LXP

Giudizio
Sparky Linux 3.3
Sviluppatore: SparkyLinux
Web: http://sparkylinux.org
Licenza: GPLv2

Caratteristiche
Prestazioni
Facilit duso
Documentazione

9
9
8
7

Una distribuzione davvero


eccellente, con unottima
dotazione software e formidabili
prestazioni. Dedicata agli esperti.

Il voto di
Linux Pro

Linux pro 142

LXP_142_46_rev_SparkyLinux 46

26/05/14 17:33

PiBang Linux Test

PiBang Linux
Una derivata di Crunchbang dedicata a Raspberry Pi? Eravamo troppo curiosi di scoprire
cosa ci fosse dietro e cos siamo andati a investigare nella community che ha creato la distro

runchbang Linux,
comparsa sulla scena
nel 2008, ha inaugurato
una nuova era di distro
dedicate alle macchine che oramai
venivano considerate troppo
obsolete. Luso del gestore finestre
Openbox, in particolare, ha creato
un mondo alternativo a GNOME
e KDE, permettendo agli utenti
di avere una maggiore interattivit.
Due anni fa, il creatore di
Crunchbang, Philip Newborought,
stato avvicinato dalla community
di PiBang con la richiesta
di realizzare una distro apposita
per Raspberry Pi. Philip, pur non
impegnandosi personalmente,
ha dato lassenso alla comunit
per crearsi una propria
distribuzione, facendo cos nascere
quella che conosciamo come
PiBang: una distro che, seppure
non ufficialmente derivata
da Crunchbang, ha il benestare
del suo sviluppatore. Si tratta
di una distribuzione adatta a coloro
che vogliono un sistema operativo
Linux elegante e progettato
per la propria Raspberry Pi.
Non solo, ma anche capace
di sfruttare i repository standard
di Raspbian e tutto il software
gi esistente, cos come i progetti
che circolano intorno alla comunit
di questultima. La distro usa
Openbox e un desktop che pu
essere considerato il sogno
di qualsiasi amante del

minimalismo. Per accedere


al menu, tutto quello che dovete
fare un click con il tasto destro
del mouse. La quantit di voci
presenti evidenzia subito come
PiBang sia una distro ricca
di pacchetti. Dovete poi sapere
che ci sono altre due versioni
in circolazione: una utilizza
il gestore finestre i3wm e laltra
progettata per gli ambienti
server, dov stato rimosso tutto
quanto non sia necessario alluso.
La distro, indipendentemente dalla
versione scelta, viene fornita
tramite un file immagine (.img),
che pu essere scritto su una
scheda SD con il buon vecchio dd.
Al primo avvio, il sistema vi chiede
di creare un nuovo utente, che poi
pu essere aggiunto alla lista
dei sudoers. Una volta fatto, siete
liberi di accedere al desktop.
Qui trovate una schermata
di configurazione da cui possibile
installare software aggiuntivo,
come il controllo versione Git
e i servizi LAMP.

Bang! App a bizzeffe


PiBang dotato di una gran
quantit di software standard.
Nomi familiari come GIMP
e LibreOffice ci sono tutti, anche
se dal nostro punto di vista
pensiamo siano un po troppo
impegnativi per una Raspberry Pi.
Sarebbe quindi meglio sostituire
LibreOffice con Abiword

In evidenza

Raspbian repo

Openbox

Completa compatibilit
con i progetti basati su Pi.

PiBang ha optato per un


Window Manager leggero.

PiBang estremamente semplice da configurare e vi mette


a disposizione tutto quello di cui il vostro Raspberry Pi ha bisogno

o Gnumeric, ma anche con Google


Docs, peraltro gi disponibile
tramite i menu. Le altre scelte fatte
dal team di PiBang risultano
piuttosto pratiche. Per esempio,
il browser standard di Raspbian
Midori, ma PiBang mette
a disposizione le opzioni per
installare Chromium o IceWeasel.
Ci che lascia piacevolmente
stupiti laggiunta di Gigolo,
disponibile nel menu di rete sotto
il nome Remote Filesystem.
Gigolo consente di utilizzare le
unit remote tramite una comoda
interfaccia grafica. A questo
proposito abbiamo provato
a usare SSH nella nostra main box,
cos come a navigare nel
filesystem. Le prestazioni sono
ammirevoli e riescono a reggere
il confronto con i software in stock
di Raspbian. Tuttavia, a vantaggio
di PiBang, abbiamo notato
un ulteriore aumento di velocit
e fluidit dovuto soprattutto alluso
di Openbox. Per ottenere i migliori
risultati vi consigliamo comunque
un overclock della CPU intorno
agli 800 MHz tramite raspi-config.
Questo dovrebbe cos aiutare
ad aumentare la reattivit
del sistema oltre gli standard.
Il principale ostacolo per
le prestazioni, tuttavia, lhardware
montato sulla Raspberry Pi. Infatti,
fino a quando la vera potenza della
GPU si baser su Wayland, tutte

le distro avranno comunque


dei limiti di velocit. In definitiva,
troviamo PiBang unottima distro
per tutti coloro che vogliono usare
la Pi sia come hobby, sia come
strumento per la produttivit.
PiBang, inoltre, affonda le sue
solide radici in Raspbian, con
il risultato di riuscire a fornire
una grande variet di software.
Se poi avete bisogno di installare
altri programmi, PiBang non
manca di opzioni. Se quindi
trovate Raspbian troppo semplice,
ma volete comunque avere
accesso ai suoi repo, PiBang
senza alcuna ombra di dubbio
la migliore soluzione
in circolazione. LXP

Giudizio
PiBang Linux
Produttore: PiBang Community
Web: http://pibanglinux.org
Licenza: MIT

Caratteristiche
Prestazioni
Facilit duso
Documentazione

9
9
8
7

Una distribuzione perfetta


per tutti coloro che vogliono
usare la Raspberry Pi
sia per hobby, sia per diversi
tipi di produttivit.

Il voto di
Linux Pro

Linux pro 142

LXP_142_47_rev_pibang 47

47

26/05/14 17:33

Roundup Office suites

Test Confronto

Ogni mese mettiamo a confronto prodotti


e programmi per farvi scegliere al meglio!

Launcher per app


I launcher, pur essendo software non essenziali, hanno un ruolo importante:
rendono la vita pi facile nelluso quotidiano di una distro. Se siete stanchi
di confrontarvi con la solita interfaccia, questo confronto ci che fa per voi

Modalit del test


A differenza dei launcher pi
vetusti, le nuove versioni non sono
fameliche di risorse come i loro
antenati. Questo, infatti, uno
degli aspetti che ci ha portato
a sceglierli per realizzare
la comparativa di questo mese.
Il nostro obiettivo stato utilizzare
strumenti che possano andare
bene per qualsiasi distro. A parte
Homerun, che unapplicazione
KDE, tutte le altre possono
essere utilizzate su qualsiasi
distribuzione. Certo, dovrete
pur sempre andare alla ricerca
delle varie librerie necessarie,
ma i repository non vi
mancheranno. Oltre alle funzioni
base di ogni launcher, ci siamo
concentrati sulla documentazione
e sulla semplicit dinstallazione,
visto che per ogni applicazione
di questo genere il processo pu
essere diverso. Infine non ci siamo
fatti mancare una supervisione
mirata a valutare la versatilit
delle opzioni di configurazione.

N
La nostra
selezione
Gmrun
Gnome-Pie
Gnome-Do
Homerun
Kupfer

48

on passato molto tempo


dal momento in cui il primo
launcher ha fatto la sua
comparsa nel mondo
desktop. Infatti, sono soluzioni piuttosto
innovative, che negli ultimi periodi
stanno raccogliendo una schiera sempre
pi numerosa di appassionati pronta
a crearne di nuovi. Se questa la prima
volta che sentite parlare di launcher
non allarmatevi, perch non si tratta
certo di applicazioni essenziali. Tuttavia,
chiunque si sia confrontato di recente
con Unity di Ubuntu o Gnome avr

sicuramente sperimentato alcune


caratteristiche dei launcher presenti
in queste shell. Il loro ruolo aiutarvi
ad avviare in modo rapido ed efficiente
le varie applicazioni che avete installato.
Lidea, infatti, permettere di rintracciare
ci che state cercando in pochi secondi
e lanciarlo con un paio di click
del mouse. Con il tempo, i launcher
si sono dotati di vari plug-in che
permettono di eseguire comandi
dal terminale, cercare contatti, foto
e via dicendo. Ci significa che con
un programma di questo genere potete

notevolmente migliorare la funzione


di ricerca del vostro desktop, senza
perdervi tra le varie directory, menu
o sottocartelle. Quanto abbiamo
elencato sono tutte caratteristiche
che troverete nei launcher disponibili
con le distro pi recenti e non importa
quale ambiente desktop preferite
utilizzare tra Gnome, Unity o KDE,
perch per ognuno le risorse non
mancano. Abbiamo quindi scelto cinque
launcher tra i pi stabili e completi,
che dispongono anche di funzionalit
per la ricerca e lauto-completamento.

Linux pro 142

LXP_142_48_53_LXF182.roundok 48

26/05/14 17:33

Confronto Test

Funzioni
e strumenti

Con Kupfer
e Gnome-Do,
per attivare
lindicizzazione
dei file si deve
prima indicare
una directory

Cosa hanno di speciale questi launcher?

utti i launcher hanno il compito


di farvi interagire con la vostra
distro in modo pi efficiente
e permettono di adattare linterfaccia
alle vostre esigenze. Homerun lunica
applicazione KDE del nostro confronto
e, pur facendo parte di Plasma, nella
maggior parte delle distro KDE
non viene installata di default.
Il programma fornisce le stesse funzioni
di Unity in Ubuntu: potete usarlo
per cercare file o software, elenchi
di cartelle e perfino per navigare tra file
e directory senza aprire il file manager.
Gmrun non dispone di alcuna funzione
di ricerca, ma pu essere facilmente
configurato per funzionare con Catfish
in modo da offrire tale opzione.
Non sarete comunque in grado
di creare un elenco di directory
preferite, ma potrete ugualmente
modificare i file di configurazione
per creare combinazioni di tasti

per il vostro programma preferito.


Comunque entreremo nel dettaglio
di queste funzioni pi avanti.
Gnome-Do e Kupfer sono molto simili
per aspetto e opzioni. Il motivo
di questa somiglianza presto detto:
entrambi si ispirano a Quicksilver
di Mac OS X. Pur essendo possibile
utilizzarli per cercare applicazioni e file,
necessario specificare le cartelle
che volete consultare per indicizzare
e catalogare software e documenti.
Con Kupfer si pu creare una lista
di preferiti, nonch controllare luso
che ne viene fatto. Nel corso del tempo,
il launcher apprende le vostre richieste
e velocizza ulteriormente le ricerche,
riportando nella parte pi in vista i file
che cercate pi di frequente.
Se per esempio scrivete spesso Linux
Pro per accedere alla cartella
contenente i PDF della rivista, dopo
un paio di volte i risultati verranno posti

in cima alla lista delle ricerche.


Utilizzando Kupfer, ogni elemento
visualizzato consente laccesso a una
serie di azioni, tra cui Apri, Copia,
Sposta ed Elimina a seconda delle
applicazioni o dei file selezionati.
poi possibile scegliere pi documenti
premendo il tasto virgola dopo ogni
selezione, cos da ordinare tutto
in ununica pila. Quando scegliete
unazione, verr quindi applicata
per tutto ci che avete selezionato.
A differenza degli altri, Gnome-Pie
non offre alcuna funzione di ricerca
per il desktop. Inoltre, non progettato
per funzionare con la tastiera. Infatti,
lunico launcher del nostro confronto
che richiede il mouse per avviare
le applicazioni.

Verdetto
Gnome-Pie
Gnome-Do
Gmrun
Homerun
Kupfer
A differenza di
Kupfer e GnomeDo, Gmrun ci fa
sudare con i file
di configurazione.

Installazione e gestione
Queste due operazioni sono user-friendly?

sulle pagine di riferimento insieme ad alcuni


file binari specifici per le distro. La maggior
parte prevede anche PPA per Ubuntu
e derivati, Homerun incluso. In distro come
Fedora, Korora e altre, sempre Homerun
disponibile direttamente nei vari
repository. Vale per la pena ricordare
che se non state utilizzando una distro KDE,
per sfruttare Homerun,
che ricordiamo
unapplicazione KDE
Plasma, dovrete
installare lapposito
ambiente. Kupfer,
Ghome-Pie e Homerun
sono stati lasciati
languire da un po
di tempo e infatti non
c ombra di nuove
versioni. Per installarli,
pertanto, potete usare
Per Gnome-Do eseguite ./configure, make e make install
senza problemi

oi abbiamo provato i vari launcher


su Mint 16 e per ognuno siamo
stati in grado di trovare il proprio
pacchetto direttamente nel Gestore
applicazioni. Tuttavia le versioni disponibili
non sono sempre le ultime e quindi,
se volete procedere da tarball, potete farlo.
Infatti, i pacchetti compressi sono disponibili

il gestore pacchetti della vostra distro.


Se poi volete provare linstallazione
manuale, niente vi impedisce di usare
i tarball con i sorgenti. Gnome-Do,
dopo un lungo periodo di inattivit,
ha recentemente visto una nuova versione.
Tuttavia i binari non sono ancora disponibili
e i repo portano ancora alla release
precedente. Lunica soluzione, quindi,
compilarlo manualmente. Purtroppo
come il progetto Mono: richiede troppe
librerie che spesso lamentano dipendenze
mancanti, ma per fortuna possibile
installare tutto ci che assente tramite
il gestore pacchetti della distro. C da dire
che molte delle funzioni disponibili
in Gnome-Do e Kupfer vengono aggiunte
tramite plug-in. Tuttavia, a differenza
di questultimo che offre pi componenti
aggiuntivi in un solo pacchetto, con GnomeDo per ciascuna estensione dovrete
installare il rispettivo file sorgente.

Verdetto
Gnome-Pie
Gmrun
Gnome-Do
Homerun
Kupfer
Gnome-Do
quello che ci ha
fatto tribolare
di pi, in quanto
linstallazione
non semplice
e fa perdere
non poco tempo.

Linux pro 142

LXP_142_48_53_LXF182.roundok 49

49

26/05/14 17:33

Test Confronto

Interfaccia grafica
Bella da vedere e pratica da usare

isto che i launcher devono essere


utilizzati per sostituire i menu
e le funzioni del vostro ambiente
desktop, naturale che ci sia unattenzione
particolare allinterfaccia, la quale deve essere
sia intuitiva sia pratica da usare. Infatti, deve
consentire agli utenti di passare in rassegna

le varie applicazioni installate, localizzare al volo


i file e puntare il browser verso un sito specifico.
Un launcher dovrebbe poi consentirvi di creare
una lista di preferiti e dargli la giusta priorit
per elencarli prima di altre voci. Per fortuna,
su tale fronte, quasi tutte le soluzioni scelte per
questo confronto rispondono in modo positivo

alle nostre richieste. Inoltre, grazie allautocompletamento, riescono a fornirci


i suggerimenti in modo pratico e veloce.
In definitiva, quindi, il launcher ideale di cui
siamo alla ricerca quello che funziona meglio,
senza per questo essere un salasso
per le risorse di sistema.

Gmrun
Linterfaccia di Gmrun la pi modesta tra quelle viste in questo confronto.
Si limita a informarvi che il programma sta funzionando tramite la scritta Run
program, quindi fornisce il campo di testo in cui dovete scrivere il nome
dellapplicazione che volete eseguire. Non ci sono icone, n altri elementi
grafici che informino sul fatto che il comando sia stato riconosciuto o meno.
Gmrun, tuttavia, supporta il completamento automatico e permette, con la sola
pressione del tasto Tab dopo aver scritto una parte del nome, di proporvi tutte
le possibili corrispondenze. Se inserite un indirizzo Web, il browser si apre
automaticamente alla pagina indicata, mantenendo inoltre la cronologia
degli eventi. Potete poi configurare Gmrun per avviare automaticamente
lapplicazione corretta in base allestensione dei file, cos come lanciare
gli strumenti CLI premendo Ctrl+Invio dopo aver scritto il comando.

Gnome-Pie
Le sue funzioni sono un po limitate ma non creano problemi e, a differenza di molti
software simili, si usa con il solo mouse necessario per decidere quali applicazioni
avviare. Tuttavia giusto ricordare che sono disponibili anche alcune scorciatoie
da tastiera configurabili. Unaltra lamentela che non possiamo evitare riguarda
lassenza della funzione per la ricerca dei file, disponibile solo per le applicazioni
installate. Linterfaccia circolare vi aiuta per a navigare in modo rapido. Ogni circolo
si chiama Torta e, per impostazione predefinita, ognuno di questi viene rinominato
come Applicazioni, Finestra, Menu principale, Multimedia, Segnalibri
e Sessioni. Ognuna di queste sezioni pu essere poi richiamata tramite una
scorciatoia da tastiera. Potete creare anche la vostra torta personalizzata, magari
con laccesso ai file usati pi di frequente, le directory o le pagine Web.

Aiuto e documentazione
Quando avete bisogno di supporto, chi chiamate?

i solito, il tempo a dare


la risposta ai problemi di qualsiasi
programma: si prende
lapplicazione, la si prova e quando viene
fuori qualche malfunzionamento si fa
riferimento alla comunit o si scartabella
tra la documentazione disponibile.
Purtroppo, per, in questo campo
la maggior parte dei launcher provati
non si comporta bene. Lunica eccezione
Kupfer, che fornisce una
documentazione di qualit in cui troviamo

50

ogni dettaglio, pi un supporto multilingue


davvero apprezzabile. Alcuni progetti come
Gmrun e Gnome-Do non hanno neppure
un sito ufficiale: il primo ha una pagina
su Sourceforge, mentre il secondo
in Launchpad. Su questultima non viene
neppure specificato che, per utilizzare
un plug-in, dovete installare un pacchetto
supplementare. Per Gnome-Do e Kupfer,
per, c da sottolineare che la maggior
parte della documentazione si applica
a entrambi. Gmrun ha una pagina man

che fornisce un po di aiuto e in pi il file


di configurazione /etc/gmrunrc pu essere
una lettura istruttiva. Inoltre, per capire
come funziona il launcher, sono disponibili
diverse discussioni su pi forum sparsi
in Rete. Lo stesso vale per Homerun:
la documentazione superficiale,
ma ci sono molti utenti che hanno
contribuito a rimpinguarla con i propri blog,
dove trattano dinstallazione e configurazione
su pi distro. Gnome-Pie infine sul proprio
sito fornisce alcune istruzioni in video.

Verdetto
Gnome-Pie
Gmrun
Gnome-Do
Homerun
Kupfer
A parte Kupfer
che ha un ottimo
supporto, per gli
altri launcher
necessario
cercare aiuto nei
tanti forum sparsi
per la Rete.

Linux pro 142

LXP_142_48_53_LXF182.roundok 50

26/05/14 17:33

Confronto Test
Gnome-Do
Potete configurare Gnome-Do per essere avviato al login, quindi accedervi
dallicona posta nellarea di notifica. In alternativa, niente vi impedisce di usare
la scorciatoia da tastiera Super (tasto Windows) + Spazio che, nel menu
Preferenze, poi possibile modificare in base alle necessit. Al primo avvio
linterfaccia pu lasciare perplessi ma il suo funzionamento in realt chiaro.
Basta scrivere le prime lettere di unapplicazione o di un file per veder comparire
tutti i risultati corrispondenti. Tuttavia, occorre prima abilitare il plug-in Files and
Folders e fornire una lista delle directory da indicizzare. Gnome-Do pu cos
funzionare anche come strumento di ricerca desktop. Tutti i risultati corrispondenti
vengono immediatamente visualizzati ed possibile selezionarli usando i tasti
freccia. Una volta fatto, basta premere Tab per scoprire tutte le azioni associate.

Kupfer
Come abbiamo gi detto, Gnome-Do e Kupfer sono molto simili,
in quanto si ispirano entrambi a Quicksilver di Mac OS X. Tra i due,
tuttavia, Kupfer pi adatto ai nuovi utenti, poich fornisce
pi suggerimenti e maggiore documentazione. Quando si lavora
con immagini e file PDF, il programma visualizza anche piccole
anteprime dei file. Una funzione, questa, non presente in Gnome-Do.
Kupfer, inoltre, ricorda anche lultima directory a cui avete avuto accesso
e la apre non appena richiamate di nuovo il programma. Ovviamente
potete ignorare questo passo, scrivendo direttamente ci di cui avete
bisogno. Per aggiungere un file, unapplicazione o una directory
ai preferiti, selezionatela dallelenco, quindi premete il tasto Tab
e scegliete Aggiungi ai preferiti. Infatti, Kupfer elenca le scelte
preferenziali non appena iniziate a interagire con il launcher.

Homerun
Ci sono due modi per eseguire Homerun da un desktop KDE: si pu
usare in sostituzione del menu di default o come desktop a s stante.
Nella parte superiore trovate quattro schede: Home, Applications, Files
e Power, laddove la prima elenca le vostre applicazioni preferite
e i documenti recenti. Facendo poi click con il tasto destro del mouse
su un programma, potete inserirlo tra i preferiti. Inoltre, navigando
tra le varie directory, Homerun aprir i file senza passare dal file
manager. poi possibile cercare documenti e applicazioni direttamente
dalla barra di ricerca in alto a destra, anche se la funzione limitata alla
scheda selezionata. Se siete in Power, per esempio, e state cercando
Kmail, il motore non vi mostrer alcun risultato. Di tutti i launcher provati,
questo il pi lento in assoluto e spesso non risponde ai comandi.

Scorciatoie da tastiera

Verdetto
Gnome-Pie

Quanto potete evitare luso del mouse?

vere una buona configurazione


dei tasti di scelta rapida
importante, perch significa
scordarsi di usare il mouse. Gnome-Pie,
pur essendo progettato per luso
con questo dispositivo, consente
di configurare alcuni tasti di scelta rapida.
Si possono poi lanciare applicazioni
anche tramite la tastiera, ma non
un processo tra i pi semplici. Quando
avviate una torta premendo Alt+Ctrl,
vengono visualizzati anche i numeri

corrispondenti a ogni applicazione e quindi,


sempre con Alt+Ctrl seguito dalla cifra
associata al programma, possibile
lanciarla. Quando avete a che fare
con Gmrun, premete il tasto punto
esclamativo (!) per passare alla modalit
ricerca. Leggete comunque il file /etc/
gmrunrc per scoprire quali combinazioni
sono gi configurate e come funzionano.
Potrete poi crearne di predefinite,
generando il file ~/.gmrunrc
e aggiungendole al suo interno.

Gmrun
Per esempio, usando listruzione
man:less, lancerete automaticamente
un terminale e aprirete il manuale per
less. Per Gnome-Do e Kupfer, fate click
con il tasto destro del mouse sullicona
nellarea di notifica, quindi selezionate
Preferenze e poi la scheda Tastiera.
Troverete un elenco di tutte
le scorciatoie preconfigurate.
Per modificare uno qualsiasi dei tasti
di scelta rapida basta selezionarlo,
premere Invio e poi aggiungere il proprio.

Gnome-Do
Homerun
Kupfer
Homerun non
un launcher nel
vero senso della
parola e quindi
non offre una
grande quantit
di scorciatoie
da tastiera.

Linux pro 142

LXP_142_48_53_LXF182.roundok 51

51

26/05/14 17:33

Test Confronto

Personalizzazione
Ecco come cucirsi addosso il proprio launcher

on tutti i launcher presi


in considerazione nella nostra
comparativa concedono grandi
spazi di manovra nel personalizzare
linterfaccia grafica. Tra i cinque, solo
Gnome-Do e Gnome-Pie sono forniti
con temi diversi e intercambiabili.
Nel primo pu essere scelto entrando
nella scheda Preferenze e poi
Aspetto, dove troverete quattro temi

disponibili per luso. Purtroppo non


possibile sfruttare la funzione
di anteprima e quindi, quando selezionate
un tema, per vederlo allopera dovrete
riavviare il programma. Oltre allaspetto
estetico, nellinterfaccia classica
di Gnome-Do possibile scegliere
il colore dello sfondo. Gnome-Pie include
anchesso una serie di temi, cui si arriva
sempre dal pannello Preferenze,

I nove temi di Gnome-Pie sono ben fatti ed facile innamorarsene

proseguendo poi in Impostazioni


generali. Rispetto a Do, Pie pi
generoso e ne fornisce ben nove,
auspicando cos di soddisfare la maggior
parte degli utenti che amano mettere
mano allinterfaccia grafica.
Sempre in Pie, ogni grafico a forma
di torta formato da spicchi, che
possiamo aumentare a piacimento.
Per creare nuovi grafici, inoltre, basta fare
click sul pulsante pi (+) in basso a sinistra
nella scheda Impostazioni.
Con uninterfaccia molto minimalista,
Gmrun non permette di apportare alcuna
modifica al proprio ambiente grafico,
bens necessario immergersi nel file
di configurazione /etc/gmrunrc o creare
~/.gmrunrc. Anche allora, lunico
cambiamento che potete operare quello
sulla larghezza dello schema geometrico.
Gmrun, Kupfer e Homerun riprendono
il loro aspetto da quello del desktop
e pertanto vanno di pari passo con
la grafica che utilizzate di consueto. Per
Kupfer e Gmrun poi possibile modificare
le icone e il tema GTK dellambiente.
Infine parliamo di Homerun. Essendo
unapplicazione Plasma, utilizza le finestre
di dialogo e lo sfondo tipici del set grafico
di KDE. poi possibile cambiare il tema
per modificare laspetto del programma.

Verdetto
Gnome-Pie
Gmrun
Gnome-Do
Homerun
Kupfer
Sinceramente,
cambiare il tema
del desktop per
personalizzare
una sola
applicazione
ci sembra non
poco eccessivo.

Le estensioni

Componenti aggiuntivi oltre al launcher

parte Gnome-Pie, tutti gli altri


offrono plug-in per migliorare
le proprie funzionalit. A rigor
di termini, anche Gmrun non dotato
di alcun componente aggiuntivo, ma il suo
design lo rende incredibilmente flessibile.
Basta modificare il file ~/.gmrunrc per
farlo funzionare con qualsiasi applicazione.
Per esempio, aggiungendo la seguente
riga al file, ordinate al launcher di avviare
VLC quando rileva le rispettive estensioni:
EXT:mpeg,mpg,avi,mkv,flv = vlc %s
Ovviamente non funziona solo con VLC,
ma con qualsiasi altro software. Inoltre,
niente vieta di installare Catfish e fare
in modo che Gmrun lo usi per la ricerca:
URL_srh = catfish --hidden path=~/

52

%s
In questo modo, quando scrivete:
srh: searchterm
Gmrun cercher il termine nel percorso
specificato. Homerun fornisce una serie
di plug-in chiamati Sources che rendono
pi facile laccesso ai contenuti. Fate click
sul pulsante in alto a destra e scegliete
Configura schede. Per ciascuna delle
quattro voci, potete aggiungere vari plug-in,
nonch creare ulteriori schede con i propri
componenti aggiuntivi. Come anche in tutto
il resto, Gnome-Do e Kupfer sono identici
ed entrambi hanno una vasta schiera
di estensioni. Andate in Preferenze
e per ogni strumento scegliete la voce
plug-in. Quando fate click su un

Verdetto
Gnome-Pie
Gmrun
Alcuni plug-in di Kupfer e Gnome-Do
hanno dipendenze ramificate

Gnome-Do
Homerun

componente aggiuntivo, Kupfer vi mostra


i dettagli sulla sua attivit e le varie opzioni
configurabili. Con Gnome-Do ogni estensione
riporta un piccolo testo nella parte inferiore
che lo descrive. Per esempio, quello di Firefox
spiega che pu cercare sia nei segnalibri
sia nella cronologia. Non tutti i plug-in, per,
funzionano come pubblicizzato. In alcuni
i crash sono sempre dietro langolo.

Kupfer
Purtroppo,
nessun plug-in
per Homerun
aggiunge una
seppure minima
funzione un po
pi avanzata.

Linux pro 142

LXP_142_48_53_LXF182.roundok 52

26/05/14 17:33

Confronto Test
Launcher per app

Il verdetto
D

ash di Unity, Gnome Shell


e la maggior parte delle distro Linux
hanno rimosso i launcher come
quelli illustrati. Lunico motivo per utilizzarli
sfruttare le funzioni aggiuntive
che forniscono, senza per questo andare
ad appesantire il sistema. Salvo Homerun,
non abbiamo avuto problemi di prestazioni
con qualsiasi altra applicazione e vale
la pena sottolineare che li abbiamo usati
per diversi giorni senza mai disattivarli.
Di tutti i launcher, per, sempre Homerun
quello che gode di uno sviluppo pi attivo.
Tuttavia ha una lunga strada da percorrere
prima di poter competere con Dash
o Gnome Shell o anche con gli altri launcher
presi in considerazione. Gnome-Pie,
nonostante non salga sul podio, non ha
niente che non vada, ma rispetto ai primi tre
pi parco di funzionalit. Se non fosse per
Gmrun, avremmo assegnato il primo posto
a Kupfer: leggerissimo da installare, offre
uneccellente documentazione ed proprio
questa che fa la differenza rispetto

a Gnome-Do. Potr sembrarvi strano,


ma anche se Gmrun stato superato
in varie prove da Gnome-Do e Kupfer,
abbiamo ugualmente deciso di metterlo
al primo posto del nostro confronto.
Premettiamo che stata una decisione
davvero difficile ma il nostro ragionamento
stato pi o meno: laspetto poco curato non
un fattore tanto incisivo da pregiudicargli
la vittoria, cos come la mancanza di temi
grafici. I plug-in, pur aggiungendo una serie
di funzioni extra a Gnome-Do e a Kupfer,
li inducono anche a bloccarsi
inaspettatamente. Gmrun non ha alcun
componente aggiuntivo ma in compenso
basta creare una singola stringa di codice
per farlo lavorare con qualsiasi applicazione.
Inoltre, pu essere configurato per effettuare

Gmrun

Nonostante la confusione con i file di configurazione, il vincitore

Il progetto non vede una nuova release da anni, ma funziona ancora

Gnome-Pie

Web: http://bit.ly/1ghbGWQ Licenza: GPL v3+ Versione: 0.5.5

Un launcher limitato ma comunque perfettamente funzionante

Kupfer

Web: https://github.com/engla/kupfer Licenza: GPL v3+ Versione: 208

Visto che con


Gmrun non c
molto da vedere,
dedichiamo
lultimo screen
a Homerun

Anche se Gmrun non ha una grande


documentazione ufficiale, gli utenti
riescono a darsi tutte le risposte

Web: SourceForge http://bit.ly/M5MaJV Licenza: GPLv2 Versione: 0.9.2

ricerche sul Web o sul desktop e grazie alla


presenza di molti utenti che lo usano,
la mancanza di documentazione ufficiale non
un problema. Anche se richiede un piccolo
sforzo per essere configurato, secondo noi
il migliore in circolazione.

Homerun

Web: http://userbase.kde.org/Homerun Licenza: GPL Versione: 0.2.3

Deve lavorare sulle prestazioni, nonch sui plug-in e le funzioni di ricerca

A voi la parola...

Gnome-Do

Web: https://launchpad.net/do Licenza: GPL v3+ Versione: 0.95.1

Esattamente come utilizzare Kupfer ma senza la documentazione

Non siete daccordo con le nostre scelte? Avreste usato altri launcher?
Inviate le vostre opinioni su questo Confronto a: recensioni@linuxpro.it

Considerate anche...
Abbiamo volutamente evitato launcher moderni
del calibro di Dash o Gnome Shell e lunica ragione
per cui abbiamo incluso Homerun dare agli utenti
KDE una soluzione personalizzata. Gli altri
programmi possono essere installati in qualsiasi
ambiente desktop e se poi ne volete uno davvero

leggero per Xfce, potete provare Dmenu


o Whisker Menu. Dei due, Dmenu ha funzionalit
piuttosto limitate ma in giro da parecchio tempo
e ha una base molto solida. Per questo confronto
abbiamo usato programmi che non sono in fase
di sviluppo attivo, come Gnome-Do e Kupfer,

ma il fatto che ci siano ancora molti utenti che


li usano, ci ha dato uno spunto per aggiungerli.
Ci sono ancora molte persone che usano Synapse,
che ha quasi tutte le caratteristiche di Kupfer.
Per gli utenti KDE, oltre a Homerun, si trovano
Krunner, Lancelot, Kickoff e altri ancora. LXP
Linux pro 142

LXP_142_48_53_LXF182.roundok 53

53

26/05/14 17:33

Da non
perdere
Test
I migliori
nuovi
programmi

Open Source del pianeta

Da non perdere
PyCharm CE Pandoc Nightingale TrueCrypt BleachBit
MuseScore FreeMind FlightGear Alien Arena
Ambiente di sviluppo Python

PyCharm CE
Versione: 3.1.3 Web: www.jetbrains.com/pycharm

lcuni programmatori ritengono


che gli unici strumenti di sviluppo
validi siano Emacs o Vim.
Il motivo per cui lo sostengono che
molto probabilmente non hanno mai
provato gli editor di JetBrains. Questi,
infatti, offrono tutto quello di cui uno
sviluppatore ha bisogno, senza causare
alcun corto circuito mentale con opzioni
eccessivamente ramificate o funzioni
dallaspetto incomprensibile. In questo
caso ci siamo soffermati su PyCharm CE,
un ambiente di sviluppo per Python
tra i migliori in circolazione e disponibile
in due versioni: Community Edition,
gratuita, e Professional Edition,

a pagamento, ma con possibilit


di provarlo per 30 giorni. Noi abbiamo
scelto la prima, dove troviamo tutte
le peculiarit che ci aspettiamo da uno
strumento di sviluppo come questo:
evidenziatore della sintassi, esecuzione
e debug del codice, controllo di versione
e molto altro ancora. Tuttavia, PyCharm
inizia a stupirci sul serio quando
cominciamo a scrivere. A questo

Con PyCharm potete


scrivere alla stessa
velocit del pensiero

Linterfaccia di PyCharm CE
Controlli
Potete ritornare sui vostri
passi tramite la funzione Edit
History, lanciare il debug
del codice e molto altro
ancora.

Outline dei simboli


Potete espandere un file
per controllare le classi
e le funzioni presenti
al suo interno, accedendo
direttamente a quelle
che vi interessano.

Controllo Versione

Autocompletamento

Scroll

Se attivo, la UI mette
in evidenza le nuove linee
di codice e quelle modificate.

Quando scrivete una variabile,


PyCharm suggerisce il codice.
Premete Tab per confermare.

I marker mostrano le modifiche del


controllo versione e gli errori. Facendo
click sul marker si arriva al problema.

54

Con il completamento automatico,


PyCharm intuisce quello che volete scrivere

proposito, supponiamo di avere una


variabile ben definita come elves_in_
tamriel, che deve essere ripetuta
in almeno quattro o cinque occasioni.
Nella maggior parte degli IDE, dovreste
aggiungere lintera variabile ogni volta
o in alternativa scegliere tra diverse
diciture simili. In PyCharm, basta
immettere il prefisso ELV per fare
in modo che lIDE suggerisca soltanto
le variabili corrette e utili. Inoltre
possibile utilizzare i tasti freccia o Tab
per scegliere e confermare il testo da
inserire. Nella maggior parte dei casi,
questo procedimento molto veloce
e consente di ridurre drasticamente i tempi
di scrittura, in quanto basta premere Tab
e selezionare il comando appropriato.
importante sottolineare come un editor
di questo genere, se utilizzato per diverso
tempo, porta irrimediabilmente
a modificare il modo in cui scrivete i vostri
programmi. Luso delle funzioni di richiamo
veloce e di altri strumenti integrati
in PyCharm sar difficile da abbandonare,
una volta presa confidenza con il
funzionamento dellIDE. Tornare al vecchio
editor potrebbe quindi essere impossibile.

Linux pro 142

LXP_142_54_58_LXF180.hotpick 54

26/05/14 17:33

Da non perdere Test


Convertitore di documenti

Pandoc
Versione: 1.12.3.2 Web: http://johnmacfarlane.net/pandoc

e amiamo la programmazione,
sicuramente saremo abituati
ad avere a che fare con i file
di testo. Markdown, il popolare linguaggio
per la formattazione del testo usato da siti
come StackExchange e Github, un ottimo
sistema per risparmiare la formattazione
tipica di un tradizionale file di testo, senza
per questo occupare grandi quantit
di spazio come nel caso degli ODT
o DOCX. Gli scienziati sono sempre molto
attaccati a LaTeX e alla sua capacit
di inglobare la matematica nei nostri
documenti. Tuttavia, il resto del mondo
non lha ancora capito (infatti i formati
DOCX e RFT sono ovunque) e portare
i comuni mortali dalla nostra parte un
compito arduo. qui che entra in campo
Pandoc, un progetto che analizza
i linguaggi di markup leggibili come HTML,
LaTeX e Markdown, li gestisce in una
struttura dati unificata e li converte in uno

svariato numero di formati tra cui PDF,


DOCX, ODT e perfino EPUB per gli ebook.
Naturalmente, anche in grado
di eseguire il processo inverso. In pratica,
potete scrivere senza problemi tutti i vostri
documenti nel linguaggio di markup
che preferite, quindi esportarli in DOCX
per essere inviati ai colleghi pi fastidiosi.
Oppure, niente vieta di far lavorare i vostri
figli in Markdown per la creazione delle
loro ricerche, quindi convertirle in DOCX
o PDF per la presentazione e la stampa.
Per installare Pandoc nelle distro basate
su Debian, sufficiente un semplice aptget install Pandoc. Per usarlo, invece,
non dovete far altro che specificare

Se volete sperimentare in anteprima le funzionalit


di Pandoc, potete farlo con la Demo online sul sito ufficiale

Analizza i linguaggi
di markup e li converte
in svariati formati

da dove viene e dove deve andare il tipo


di documento e dare un nome al file che
andate a creare:
pandoc -f markdown -t docx -o testo_
esempio.docx testo_esempio.md
cat testo_esempio.md | pandoc -f
markdown -t docx -o testo_esempio.docx
Vi consigliamo di dare unocchiata
alla man page di Pandoc dove,
alla sezione Getting started, potrete
trovare tutte le informazioni che vi servono
con tanto di comandi pratici da utilizzare.

Player musicale

Nightingale
Versione: 1.12.1 Web: http://getnightingale.com

ongbird aveva un obiettivo nobile:


essere una libreria musicale Open
Source multi-piattaforma costruita
su Mozilla XULRunner (le librerie che
rendono Firefox e Thunderbird affidabili).
Tuttavia, gi nel 2010 Songbird aveva
abbandonato il supporto per Linux
e, nel giugno scorso, lapplicazione ha chiuso
i battenti perch la societ non poteva
finanziarne lo sviluppo. Nightingale, un fork
della community, nato quando Songbird
ha abbandonato il supporto per Linux.
Da allora, il team di sviluppo si impegnato
nella rimozione delle immagini non free
e a mettere in ordine il codice. Il risultato
un programma chiaro, veloce e libero, che
vi permette di interagire benissimo con la
vostra musica, con tanto di supporto per tutti
i plug-in di Songbird ancora in circolazione.
Linterfaccia ricorda il periodo doro di iTunes,
quando il programma si concentrava
sullorganizzare le raccolte, anzich vendere

musica. Avete una lista di canzoni in cui


vengono autorilevati i metadati dei file MP3,
pi un filtro istantaneo con annesso campo
di ricerca. Sempre linterfaccia pu essere
ridotta a un mini player e inoltre consente
di installare i temi di Songbird
e personalizzare laspetto dellambiente
grafico tramite i CSS. Al primo avvio, potete
installare diverse fonti radio online, come
lyrics-finder e Last.fm. Funzionano benissimo
e si integrano perfettamente nella GUI.
Se scegliete Strumenti D Componenti
aggiuntivi e fate click su Scarica estensioni,
verrete rimandati a una pagina piena
di componenti aggiuntivi, incluso uno schema
per la chitarra e per la deduplicazione della

Nightingale consente di gestire librerie musicali complesse


e complete di testi, immagini e playlist

Potete sincronizzare
una parte della vostra
raccolta con il telefono

libreria. In pi, Nightingale ha una


caratteristica fondamentale per qualsiasi
player: potete sincronizzare un pezzo di una
raccolta con il vostro telefono. Il programma,
infatti, permette di specificare una cartella
da sincronizzare. Basta collegare il dispositivo
mobile, montare larchivio ed entrare nella
sezione Synchronization presente sulla
sinistra, quindi scegliere la cartella e le playlist
che vi interessano. poi possibile
sottoscrivere i podcast MP3 per fare
in modo da avere sempre a disposizione
gli ultimi aggiornamenti.
Linux pro 142

LXP_142_54_58_LXF180.hotpick 55

55

26/05/14 17:33

Test Da non perdere


Software per la cifratura dei volumi

TrueCrypt
Versione: 7.1a Web: www.truecrypt.org

seguito delle rivelazioni riguardanti


le attivit di spionaggio della NSA
e del GCHQ, niente vieta ai signori
dei vari governi di intercettare e leggere
le nostre email. Ecco perch c un rinnovato
interesse per quelle formule pi o meno
pratiche che permettono di mettere sotto
chiave tutti i vari documenti personali e non.
TrueCrypt sicuramente uno di questi
strumenti. Nel mondo Open Source gode
di una fama controversa, perch pur avendo
una licenza Open, nessuno sa ancora
chi lo ha veramente scritto. Tuttavia,
al di l della fonte sconosciuta, questo
programma fornisce il modo pi semplice
per crittografare i dati pi importanti.
Una volta scaricato e installato, (una delle
rimostranze riguarda infatti la sua mancanza
dalla maggior parte dei repo), avviandolo
vi trovate davanti uninterfaccia piuttosto
semplice, in cui campeggiano alcuni pulsanti.
Premete Crea un volume per generare

il vostro contenitore segreto, quindi seguite


la procedura guidata sia per generare
un solo file criptato, sia per blindare unintera
partizione, una chiave USB o una semplice
sottocartella. I punti salienti di questo
processo prevedono la scelta dellalgoritmo
di cifratura (il quale pu essere anche
multiplo) e lutilizzo di una password casuale
e complessa (il nostro consiglio usarne una
concatenata, che porta sempre a sfruttare
parole daccesso davvero lunghe). A questo
punto, dovrete muovere il mouse su tutto
il desktop per generare un po di entropia
mentre il file o la partizione viene formattata.
Unaltra opzione disponibile riguarda
la possibilit di scegliere tra un volume

TrueCrypt consente di gestire contenitori di file crittografati


archiviati sul vostro computer o su una normale chiave USB

TrueCrypt il sistema
pi semplice per
criptare i vostri file

normale e uno nascosto. Questultimo


permette di inserire un comparto occultato
allinterno di un primo contenitore visibile.
Cos, se qualcuno dovesse estorcervi
la password del primo, sarebbe sempre
incapace di accedere al secondo che
oltretutto rimane invisibile. Una volta creato
il proprio volume, potete richiamarlo
dallinterfaccia di TrueCrypt dopo aver
immesso la password. Sar quindi possibile
usarlo come una tradizionale cartella,
in cui inserire i file e i documenti
che volete mantenere sotto chiave.

Trituratore di file

BleachBit
Versione: 1.0 Web: http://bleachbit.sourceforge.net

oi tutti, quando usiamo


il computer, siamo soliti lasciare
una gran quantit di tracce digitali:
cronologia, cookie e tutto il resto.
Tralasciando per un attimo quanto sia
comunque fastidioso regalare le nostre
informazioni ai server delle varie aziende,
soffermiamoci per un attimo a cosa si pu
trovare nella cache del vostro browser.
Entrandovi, in pratica si pu ricostruire
la storia completa dei vostri comportamenti
online, compreso laccesso alle pagine della
banca se siete soliti usare lHome Banking.
Certo, eliminare questi dati piuttosto
facile; di solito basta premere un pulsante,
ma forse dovremo ricordarvi che con
unanalisi pi o meno dettagliata pu
tornare tutto a galla. Questo perch
i sistemi sono pigri e anzich eliminare
definitivamente i file, li mettono spesso
in attesa di essere sovrascritti. Se con
TrueCrypt abbiamo visto come nascondere

56

i vostri documenti, con BleachBit


scopriamo come distruggerli
definitivamente. Linterfaccia di questo
programma consente di configurare i file
da monitorare ed eliminare, cos come
quelli da non toccare (riporta utili
descrizioni della maggior parte dei
documenti in cui vi potete imbattere
girando nel sistema operativo). inoltre
possibile vedere unanteprima delle
modifiche selezionando lapposito pulsante,
quindi decidere di eseguire lazione
premendo il tasto rosso. Volendo poi
lanciare le operazioni di pulizia
regolarmente, potete sfruttare la riga
di comando per utilizzare Cron. Niente

BleachBit cancella in modo sicuro i log di sistema, nonch


la cache di Firefox e gli elenchi dei file usati di recente

BleachBit consente di
distruggere una volta per
tutte i vostri documenti

vi impedisce di confezionare uno script


o comunque avviare molte altre istruzioni
automatizzate. Per portare avanti la
procedura automatica, per, importante
scegliere un momento in cui il sistema non
viene utilizzato. Firefox, per esempio, deve
essere chiuso, perch altrimenti cache,
cronologia e deframmentazione del suo
database non possono avvenire. Inoltre
necessario eseguire il comando come
root, se volete interagire con i file Apt, Yum
o i log di debug X11. Se la cosa vi
interessa, online trovate una serie di guide
su come usare BleachBit con Cron.

Linux pro 142

LXP_142_54_58_LXF180.hotpick 56

26/05/14 17:33

Da non perdere Test


Editor musicale

MuseScore
Versione: 1.3 Web: http://musescore.org

e abbiamo utilizzato un programma


MIDI per modificare spartiti,
sappiamo che questa attivit pu
essere causa di intensi mal di testa.
MuseScore, invece, va in controtendenza
e rende lediting dei tabulati musicali un vero
piacere. In primo luogo, perch sfrutta
un approccio semplice e veloce, senza orpelli
grafici o funzionali che potrebbero distrarre.
Ci sono poi molte opzioni per laggiunta
di note, triple, trilli, modifiche della spaziatura,
della tabulazione e molto altro. In pratica,
potete organizzare il vostro brano come
preferite e senza venire a compromessi con
gli strumenti. Le note evidenziate vengono
colorate in blu e, con un click destro del
mouse su di esse, potete sfruttare opzioni
specifiche come Copia, Incolla, Taglia,
Rendi invisibile, Colori e Propriet della
nota. La gestione delle parti (File D Parti)
particolarmente intuitiva e permette
di selezionare una porzione della

punteggiatura musicale, esportando cos ogni


strumento con il proprio andamento. Tutto
questo, pur mantenendo una copia originale
dello spartito. Il formato con cui MuseScore
salva i componimenti ottimizzato per
memorizzare tutto ci di cui il programma
ha bisogno per riprodurre alla perfezione
il brano. In questo modo anche
la condivisione su Internet viene facilitata
(le opzioni MuseScore Online e Salva
Online rendono davvero facile trovare
e condividere la musica in Rete).
Il programma supporta un gran numero
di formati di punteggiatura e pu esportare
i file anche nel formato comune MusicXML.
Niente vieta di convertire gli spartiti anche

MuseScore permette di modificare, organizzare, riprodurre


e condividere il vostro spartito in modo veloce e intuitivo

MuseScore uno dei


migliori editor di spartiti
musicali in circolazione

in PDF per la stampa. La musica viene


riprodotta su diversi canali, che alloccorrenza
possono essere disattivati. Inoltre, quando
aggiungete informazioni dinamiche come
rallentamenti o accelerazioni del ritmo,
la risposta immediata e quindi si tratta
di una vera e propria anteprima. In questo
modo siete subito coscienti degli eventuali
errori e facilitati se avete intenzione
di comporre senza troppi fronzoli.
MuseScore supporta poi diversi formati,
tra cui FLAC e OGG, cos come WAV e MP3.

Editor di mappe mentali

FreeMind
Versione: 1.0.1 Web: http://freemind.sourceforge.net

olte persone utilizzano


le mappe mentali per
organizzare una serie di idee
complicate e difficili da rappresentare,
che altrimenti non riuscirebbero a trovare
uno sbocco comprensibile per chi ascolta.
A questo proposito, FreeMind
unapplicazione Java che realizza
sul vostro PC proprio questo genere
di mappe. Per prima cosa necessario
creare alcuni nodi, vale a dire
i componenti essenziali di qualsiasi
mappa. Selezionando il primo, questo
verr disposto al centro del diagramma.
Facendo doppio click sul nodo potrete
poi modificarlo, aggiungendo del testo
al suo interno, oppure dandogli un nome.
Per creare un nodo figlio, selezionate
licona a forma di lampadina che trovate
in alto, oppure utilizzate la scorciatoia
da tastiera con Ins, quindi date il nome
al nodo. Adesso passate il mouse sopra

la giunzione che collega il nodo genitore


con il figlio (dove si forma la curva), quindi
trascinate fino a ottenere un ovale stretto
e lungo. In questo modo gestirete i nodi
secondari cos come vorrete visualizzarli.
Se invece volete ingrandire o diminuire
le ellissi, baster che premiate
le combinazioni di tasti Ctrl++
o Ctrl+-. FreeMind ha aggiunto molte
caratteristiche nellultima release, incluso
il supporto per le mappe geografiche
con OpenStreetMap. Con queste
informazioni possibile costruire
un diagramma dei ristoranti locali, dei siti
turistici o di qualsiasi altra cosa sia
presente sul territorio. anche possibile

Per darvi unidea di come funziona FreeMind, abbiamo creato


una semplice mappa mentale con quattro nodi figli e un genitore

FreeMind include
il supporto per le mappe
di OpenStreetMap

ospitare sessioni di mind mapping


collettive, in cui qualcuno fa le veci
del proprietario della mappa e i contatti
possono connettersi tramite le loro
copie di FreeMind, utilizzando il vostro
IP e la porta selezionata per le
comunicazioni (nel caso, ricordatevi
di gestire la sua apertura dal firewall).
Se volete installare lultima versione
di FreeMind, necessario scaricare
il materiale dalla pagina ufficiale
su Sourceforge. Le distro, infatti,
al momento non hanno ancora
aggiornato i propri pacchetti.
Linux pro 142

LXP_142_54_58_LXF180.hotpick 57

57

26/05/14 17:34

Test Da non perdere


Giochi Applicazioni per il tempo libero
Simulatore di volo

FlightGear
Versione: 3.0 Web: www.flightgear.org

a maggior parte dei giochi


che vi mettono in mano
un oggetto o una macchina
apparentemente complessa,
che si tratti di un fucile dassalto
o una vettura da rally, di solito
vi permette di usare uninterfaccia
semplificata, per rendere cos pi
accessibile il contenuto del gioco.
Ecco, scordatevi questo approccio
quando si parla di FlightGear. Questo
titolo, dove il tutorial iniziale pu essere
considerato una vera e propria lezione
di volo, vi mette a disposizione una
serie di controlli per pilotare con dovizia
di particolari un aeromobile.
Nella nostra prova, che potete vedere
dallo screen riportato qui a fianco,
ci siamo resi conto di quanto sia facile
schiantarsi anche solo percorrendo

la pista per decollare. Se non siete dei veri


e propri patiti del realismo, questo titolo
frustrante. Dovrete ricordare almeno
un centinaio di cose, tra cui la
corrispondenza dei comandi sulla tastiera
e se solo si potesse usare un joystick,
sarebbe davvero tutto molto pi semplice.
Attenzione per, perch non siamo
detrattori di FlightGear! impossibile
non sentirsi intimoriti da una quantit
di strumenti del genere, ma proprio
questo il suo punto di forza. Lo ripetiamo:
un titolo adatto agli appassionati
del genere e quindi, se non lo siete,

La grafica
di questo titolo
davvero curata
e la riproduzione
degli aerei, in interno
e in esterno, ne
risente in positivo

FlightGear ha una curva


di apprendimento ripida,
ma formidabile

meglio stargli alla larga. Ci sono


pi di 450 velivoli scaricabili,
pi due plug-in per la gestione
del meteo. Alle spalle di FlightGear
vengono annoverati la bellezza
di 16 anni di sviluppo Open
Source, con tanto di appassionati
di aviazione provenienti da tutto
il mondo. Una volta che avrete
capito come non schiantarvi,
vi assicuriamo che sar davvero
divertente.

Sparatutto in prima persona

Alien Arena
Versione: 7.66 Web: http://red.planetarena.org

utti gli stratagemmi dei moderni


sparatutto sono stati raccolti
in questantologia del deathmatch
(gli effetti di luce, i tipi di armi e le voci
aliene a dir poco raccapriccianti). Tuttavia,
quando ci apprestiamo a giocare ad Alien
Arena, lo facciamo con il sorriso sulle
labbra, perch ci ricorda molto di pi
Mars Attacks! piuttosto che il tenebroso
La guerra dei mondi. Per coloro che non
hanno mai giocato a un FPS in stile Doom
o Quake, questo gioco si svolge in quella
che oggi potrebbe essere definita
unarena chiusa piena di volti alieni ostili.
Potenziamenti, munizioni, armi e armature
possono essere trovate esplorando
il luogo. Tuttavia non riuscirete ad andare
molto lontano senza prima aver
incontrato un nemico. Anche quando
si muore, il gioco continua: il punteggio,

58

infatti, calcolato in base al rapporto tra


uccisioni e decessi. Pi che altro il tempo
a decretare la vittoria o la sconfitta. Infatti,
quando si esaurisce, colui che ha fatto fuori
pi nemici ed morto meno volte a vincere.
I livelli di difficolt non sono particolarmente
calibrati. Considerate che anche a quello
pi semplice abbiamo fatto fatica
a totalizzare un punteggio superiore allo zero.
Se state pensando di organizzare un LAN
party, potrebbe essere il gioco che fa per voi.
Il software per il multiplayer Open Source,
cos come il codebase principale. Se poi state
utilizzando Ubuntu, gioco e server sono

Alien Arena consente di sfogarsi in un micidiale


deatchmatch, chiusi in uno spazio simile a una discarica

Se state pensando
di organizzare un LAN
party, il gioco giusto

davvero facili da installare tramite


il Software Center. Se avete qualche
amico che usa Windows, Alien Arena
funziona anche sul sistema operativo
Microsoft. Nel caso in cui non stiate
usando Ubuntu, dovrete scaricare circa
620 MB di materiale. Tuttavia,
la compilazione semplice e segue
i tradizionali ./configure, make, sudo
make install. Avrete solo bisogno
di prelevare una lunga serie di librerie. LXP

Linux pro 142

LXP_142_54_58_LXF180.hotpick 58

26/05/14 17:34

Tutorial

I nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema

La vostra guida
di riferimento
Esiste sempre qualcosa di nuovo
da imparare in campo informatico,
soprattutto in un mondo
dinamico come quello di Linux
e dellOpen Source. Ogni numero
di Linux Pro presenta una
corposa sezione dedicata
a tutorial realizzati da esperti
in moltissimi settori:
programmazione, sicurezza,
amministrazione di sistema,
networking. Troverete
informazioni utili sia che siate dei
veterani di Linux sia degli utenti
alle prime armi. Studieremo con
cura anche le applicazioni pi
diffuse sia in ambito lavorativo
che desktop. Il nostro scopo
quello di fornire in ogni numero
il giusto mix di argomenti,
ma se avete suggerimenti su temi
particolari che vorreste vedere
trattati, scriveteci via e-mail
allindirizzo tutorial@linuxpro.it

Tutorial
Calibre

Condividete la vostra libreria digitale


in modo da avere tutti gli ebook sempre
a portata di mano
pag. 60

Torrent

Usate Deluge per trasformare un vecchio


PC, o addirittura una Raspberry Pi, in una
stazione di condivisione file
pag. 64

Gentoo

Una guida per installare questa distribuzione


estremamente personalizzabile pag. 68

Git

Create un server personalizzato utilizzando


Gitweb e Gitolite
pag. 72

LAMP

Configurate un pratico server per il test


e la didattica in casa
pag. 76

Shrimp

Imparate a costruire circuiti con questo


pacchetto completo
pag. 80

COME
rappresentiamo
le linee di codice
Si presenta spesso la necessit
di riportare le linee di codice
di un programma.
Per favorirne la lettura
evidenzieremo le singole linee
in questo modo:
begin
mniWordWrap.Checked := not
end
Quando una riga di codice supera
la lunghezza della colonna
la riporteremo su pi righe
utilizzando la notazione seguente:
printf(Vi preghiamo di inserire
una password.);

ACCADEMIA DEL CODICE


OCaml

Disegnate grafici usando questo linguaggio


di programmazione funzionale, flessibile
e dalle elevate prestazioni
pag. 82

HTML5

Con le API dellHTML5 costruite un player con

uninterfaccia grafica che rimane invariata


in tutti i browser moderni
pag. 86

Grunt

Un codice che vi semplifica le attivit


quotidiane di sviluppo e permette
di automatizzare i processi
pag. 90

Linux pro 142

LXP_142_59_introTutorial 59

59

26/05/14 17:34

TutorialCalibre
Xxxx

Usate un software di catalogazione


per organizzare alla perfezione gli ebook

Il libro dentro il server


Linux Pro vi mostra coma condividere la vostra libreria digitale con Calibre,
in modo da avere tutti gli ebook sempre a portata di mano, ovunque siate

G
facile

li ebook sono eccezionali, a condizione per di tenerli


ben ordinati e indicizzati. I gestori di libri digitali, come
Calibre, non funzionano sulla maggior parte dei lettori
(per brevit, da ora in poi, li chiameremo semplicemente
eReader) e quindi viene da domandarsi quali strumenti
si possono utilizzare per avere una raccolta quanto
pi possibile organizzata. Certo, niente impedisce di utilizzare
la sincronizzazione manuale, ma unattivit che, oltre
ad avere i propri limiti, anche molto noiosa. Per fortuna,
sfruttare le funzionalit server di Calibre molto semplice.
Ci sono poi altri software gratuiti che consentono di mantenere
aggiornata la vostra biblioteca, gestendo automaticamente
i metadati anche attraverso il Web. Sar poi possibile
condividere con amici, parenti e colleghi qualsiasi
pubblicazione, a patto per di ricordarsi che le opere non
dovranno essere protette dal famoso diritto dautore.

I primi passi con Calibre


Calibre (http://calibre-ebook.com) il Free Software
per la gestione degli eReader pi completo e funzionale
in circolazione. Questapplicazione multipiattaforma consente
di scaricare gli ebook con i rispettivi metadati da una quantit
di fonti online eccezionale. Permette poi di selezionare
e ordinare tutti i titoli e di convertirli in diversi formati. Infine,
riesce a interfacciarsi con la maggior parte dei lettori ebook
sul mercato. Ci nonostante, possibile utilizzare tutte le funzioni
di Calibre anche in locale e quindi sullo stesso computer in cui
sono installati il programma e il suo database. Per usare Calibre
e accedere cos agli ebook archiviati sul desktop dal lettore,
la procedura di default consiste nel creare una connessione
diretta (USB o Wi-Fi) tra il PC e leReader. Questo, infatti,
lunico modo per avere a disposizione i vari libri anche quando
non disponete di una connessione a Internet. In alternativa,
potete rendere visibili i vari titoli da un browser, in modo
da consultarli senza doverli scaricare. Se poi una libreria deve
essere condivisa su pi lettori, la creazione di ununica biblioteca
digitale gestita centralmente la soluzione migliore. Questa
opzione, infatti, perfetta per le famiglie, le imprese o i gruppi
educativi. Ancora pi importante lindicizzazione di unintera
collezione di ebook tramite un software completamente
indipendente da qualsiasi eReader. Questo, infatti, vi far
risparmiare tempo e permetter di compiere il backup molto
pi semplicemente. Inoltre, anche lunico modo per essere
sicuri di non perdere tutti i vari titoli acquistati, nel caso in cui
il lettore dovesse rompersi o semplicemente decideste
di cambiarlo. A questo proposito, vale la pena considerare
la possibilit di mantenere un gestore di ebook su Raspberry
PI o qualsiasi altro microcomputer. Cos facendo, la vostra
libreria sar sempre disponibile sulla rete locale anche quando
il PC principale spento o lo state utilizzando per qualsiasi altro
scopo. La homepage di Calibre raccomanda caldamente
di scaricare e installare lultima versione stabile direttamente
da riga di comando, perch i pacchetti forniti nelle varie

60

Calibre mette a disposizione un vero sito Web in cui navigare


tra i libri, che a loro volta vengono suddivisi in categorie

distribuzioni Linux sono spesso obsoleti o corrotti.


Indipendentemente da quello che pensate di questo avviso,
la riga di comando anche lunico modo per far funzionare
questapplicazione su un server. Per cominciare, controllate
che Python (almeno la versione 2.6) e xdg-utilis siano presenti.
Se non lo sono, sfruttate i pacchetti della vostra distro. In seguito,
dovrete decidere se volete installare Calibre in una determinata
posizione. Di solito, il software risiede in /opt o /usr/local/bin,
ma potete metterlo dove volete. Infatti, il programma
dinstallazione metter tutto in una sottocartella allinterno
di qualsiasi directory decidiate di utilizzare. Il sito spiega anche
come gestire questo passaggio da riga di comando, nel caso
abbiate bisogno di impostarlo durante una procedura
dinstallazione automatica. Infine copiate, incollate ed eseguite
dal prompt, come root o tramite sudo, il comando Python
indicato sul sito. Adesso vi verr chiesto dove disporre i file
di Calibre. Una volta fatto, potrete eseguire alcune operazioni
di configurazione come la creazione di link simbolici. Qualora
doveste avere la necessit di rimuovere il software, basta
cancellare la cartella Calibre creata durante linstallazione.
Attenzione per, perch questo non elimina i link simbolici.
Dopo aver installato il programma, possibile avviare il server
dallinterfaccia grafica tramite la funzione Connetti/condividi D
Avvia server di contenuti. Spuntando lapposita voce, potete
poi configurarlo affinch si avvii ogni volta che lanciate la GUI
di Calibre. Per impostazione predefinita, questo crea
una semplice pagina Web allindirizzo http://localhost:8080.
Da qui siete poi in grado di scorrere la libreria in base agli autori,
alle copertine o alle ultime novit. I dettagli di ogni titolo, cos
come i collegamenti per scaricare i vari formati disponibili,
sono gi inclusi. Trovate anche un feed OPDS, ma di questo
ci occuperemo pi avanti. Ovviamente, se tutte queste funzioni
vengono usate solo in locale, e quando la GUI di Calibre attiva,
non hanno molto senso. Ecco perch andremo a gestirle

Linux pro 142

LXP_142_60_63_LXF182.tut_calibre 60

26/05/14 17:34

Calibre Tutorial
in modo diverso. Per prima cosa dovete sapere che le funzioni
del server sono collocate nel programma calibre-server.
Configurate quindi la vostra disto in modo che allavvio lanci
sempre il comando:
calibre-server --with-library=/percorso/per/calibre-home
calibre-home la cartella che contiene il database del
programma e quindi la vostra collezione di ebook. Linterfaccia
Web, inoltre, sar sempre disponibile fintanto che il PC acceso.
Calibre-server pu poi essere configurato per gestire
le dimensioni delle copertine dei libri e permette di sfruttare
un accesso riservato tramite nome utente e password. Ci sono
anche altri parametri personalizzabili, che potete scoprire
leggendo il manuale alla pagina http://manual.calibre-ebook.
com/cli/calibre-server.html.

Pubblicare la libreria in Rete


Ora che avete imparato a gestire la vostra libreria in locale,
vediamo come pubblicarla sul Web per renderla cos
accessibile ovunque siate. In genere, ci sono quattro strategie
da utilizzare.
1 Rendere il server di Calibre accessibile da Internet.
2 Installare il calibre-server in modalit standalone su
un computer esterno (virtuale) presso un servizio di hosting.
3 La stessa modalit del punto due, ma installando calibreserver side by side con un Web server gi operativo.
4 Usare un altro programma per convertire il database
di Calibre in un catalogo HTML o OPDS.
Tenete comunque presente che questi suggerimenti sono
soggettivi e li abbiamo utilizzati per rendere pi facile descrivere
le principali differenze tra le varie procedure. Sentitevi quindi
liberi di utilizzare uno di questi quattro punti come base, per poi
personalizzarli a vostra discrezione. Il quarto metodo, infatti, pu
essere utilizzato sia come alternativa agli altri tre, sia come
soluzione di riserva complementare. Cos facendo, potrete
sfruttare uninterfaccia che ha svariati aspetti positivi, tra cui:
molto pi flessibile rispetto a quella di calibre-server.
Passa tramite un server Web che permette di configurare
come volete password, connessioni cifrate e molto altro.
sempre a disposizione per amici, parenti e colleghi
sia allinterno della vostra rete locale, sia da Internet.
Mantiene gli ebook allinterno di casa o del vostro ufficio.
La scelta dipende dalle vostre reali esigenze o dallaccessibilit
che avete ai vari computer. Il primo sistema consigliato
se vi accontentate dellinterfaccia Web/OPDS fornita
da calibre-server e non avete bisogno di collegarvi alla vostra

Nonostante le tante funzioni di Calibre, Calibre2OPDS imbattibile quando si tratta


di creare cataloghi Web. Oltre a essere pratici, offrono anche molte pi opzioni

collezione fuori dalle mura domestiche. Se scegliete questa


soluzione, tutto quello che dovrete fare configurare
il firewall per consentire a calibre-server di collegarsi
a Internet, possibilmente su una porta non standard con
lopzione --port. La seconda e la terza opzione offrono
la stessa interfaccia, ma senza dover aprire la rete locale.
La quarta scelta, infine, permette di espandere le funzionalit
a disposizione, in quanto non disponibili con calibre-server.
Il suo principale vantaggio, inoltre, dato dal fatto che
il database di Calibre compatibile con i servizi di hosting
a basso costo, che non permettono di installare niente se non
semplici pagine Web statiche o basate su PHP. Adesso diamo
per uno sguardo pi attento alla seconda scelta. Se il server
Web che ospita la vostra libreria ha un nome di dominio come
www.esempio.com e si vuole che i titoli siano accessibili
dallURL www.esempio.com/mybook, potete impostare
calibre-server per essere messo in ascolto sulla porta
standard del server Web (80) e usare il prefisso /mybook:
calibre-server --port 80 --url-prefix /mybooks
--with-library=/percorso/verso/calibre-home

Tip
Le librerie
di Calibre visibili
online sono
molto utili
per le famiglie
e le organizzazioni.
Assicuratevi
per di non
contravvenire
ad alcuna
violazione sul
diritto dautore.

Altre funzioni del server di Calibre


Questo tutorial si basa su un aspetto ben preciso:
come adattare automaticamente gli ebook gestiti
con Calibre. Di per s una funzione molto utile,
ma lautomazione del programma pu andare
molto oltre. Molti pulsanti e voci di menu presenti
nellinterfaccia grafica sono solo scorciatoie
per le funzioni richiamabili da riga di comando,
elencate nelle pagine Calibre CLI (http://manual.
calibre-ebook.com/cli/cli-index.html). Niente per
vi impedisce di usare uno qualsiasi di questi comandi,
magari sfruttando diversi script di shell. Ci significa
che una volta installato il software, possibile

automatizzare molte operazioni legate allanalisi,


alla gestione e alla generazione degli ebook. Fino
a quando non siete perfettamente sicuri di quello
che state per fare, prima di iniziare ricordatevi di
effettuare un corposo backup. Il programma fetchebook-metadata fa quello che suggerisce il suo
nome e permette di aggiungere i metadati a un libro
da qualsiasi database in modo semplice e veloce:
#> fetch-ebook-metadata -t Il Signore degli
Anelli
Titolo
: Il Signore degli Anelli
Autore(i)
: J. R. R. Tolkien

Edito da

: Bompiani

Identificativo
: amazon:8845292614,
isbn:978-8845292613
Un altro campo in cui si possono avere parecchie
soddisfazioni senza mai aprire la GUI di Calibre
la conversione e la formattazione degli ebook.
Lutility chiamata ebook-convert permette
di convertire i titoli da ogni formato supportato
in qualsiasi altro. ebook-polish, infine, mette
in risalto la perfetta cura con cui gestite i vostri
ebook, permettendo di personalizzare
le copertine di tutti i libri.

Linux pro 142

LXP_142_60_63_LXF182.tut_calibre 61

61

26/05/14 17:34

Tutorial Calibre

La funzione
ricerca di COPS
semplice
e abilitata
di default,
a differenza
di quanto
avviene
in calibre-server
o Calibre2OPDS

Questa soluzione ha comunque qualche inconveniente.


Il primo che il comando nella pagina precedente funziona
solo se non c un server Web gi in esecuzione e in ascolto
sulla porta TCP 80. Certo, niente vieta di impostare Calibre
per usare unaltra porta, ma in tal caso, se siete dietro a un
firewall aziendale, questa potrebbe essere bloccata per motivi
di sicurezza. Inoltre, su connessioni non crittografate, sareste
in grado solo di controllare gli accessi tramite la funzione
base username/password del calibre-server.
Lo scenario numero tre, invece, prevede laccesso a Calibre
dalla porta Web standard, ma gestita con tutta la flessibilit,
la sicurezza e il supporto per lautenticazione di un server
Web vero e proprio. Affinch ci avvenga, importante
impostare calibre-server su una porta non standard, come
la 8000, e poi ordinare al server di agire come proxy inverso.
Le corrette opzioni di configurazioni per Apache vengono
elencate con tutti i dettagli del caso alla pagina http://
manual.calibre-ebook.com/server.html e quindi
spiegheremo solo il loro significato generale. Quando si parla
di proxy inverso ci si riferisce a una procedura che comporta
il reindirizzamento di una porta allaltra. Nel caso in cui
puntiate il browser alla pagina www.esempio.com/mybook,
la richiesta viene inviata ad Apache sulla porta 80,
ma passata a calibre-server sulla 8000 e qualunque sia
loutput in risposta su questultima porta viene ugualmente
fatto passare per il browser. Bisogna comunque precisare
che le modalit due e tre funzionano solo se la cartella
calibre-home presente sul server una copia esatta di quella
memorizzata sul desktop. Pertanto, necessario impostare
Cron sul desktop, in modo da mantenere entrambe le cartelle
costantemente sincronizzate. In pratica, serve qualcosa come:
rsync -rvt --delete $HOME/.calibre/ username@nomeserver:/
percorso/verso/calibre-home

tramite Calibre2OPDS (http://calibre2opds.com) o COPS


(http://blog.slucas.fr/en/oss/calibre-opds-php-server)
che generano HTML e/o cataloghi OPDS con pi funzioni
rispetto a quelli creati da Calibre stesso. A differenza
di questultimo, infatti, Calibre2OPDS pu creare pagine
Web statiche e feed OPDS. I suoi cataloghi, pertanto,
funzioneranno su qualsiasi hosting, compresi quelli che non
supportano PHP. Il vantaggio principale di Calibre2OPDS
il numero di opzioni con cui possibile personalizzare
i vari cataloghi. Durante la configurazione iniziale,
si possono impostare, tra le altre cose, il numero esatto
e la combinazione dei formati dei vari ebook, il numero delle
sezioni disponibili in ogni visualizzazione del catalogo
e la dimensione delle miniature. inoltre possibile fare
in modo che Calibre2OPDS aggiunga a ciascun titolo
un collegamento diretto a pagine specifiche di Wikipedia.,
Amazon, GoodRead, ISFDB e Librarything. Un confronto
dettagliato dei cataloghi realizzabili da calibre-server
e Calibre2OPDS potete trovarlo online allindirizzo http://
calibre2opds.com/about/calibre2opds-vs-calibrecatalogs. Calibre2OPDS si presenta sotto forma
di applicazione Java che, una volta lanciata direttamente,
permette dinstallare il programma. Il pacchetto decompresso
contiene due wrapper di shell chiamati rungui.sh e run.sh,
i quali avviano rispettivamente il programma principale in GUI
e in modalit a riga di comando. Linterfaccia grafica non
difficile da usare, a patto di essere a conoscenza di alcuni
aspetti importanti. In primo luogo, dovete fare click sullicona

Calibre server... senza Calibre


Eccoci dunque a illustrare lultimo scenario dove, pur senza
utilizzare questapplicazione, sfruttiamo il suo server
per rendere disponibile online, sotto forma di pagina Web
o feed OPDS, il contenuto di una libreria. Anzich usare
il programma originale, potete ottenere gli stessi risultati

62

I cataloghi Web di Calibre2OPDS hanno un design estremamente


pulito e offrono diversi modi per organizzare i vostri libri

Linux pro 142

LXP_142_60_63_LXF182.tut_calibre 62

26/05/14 17:34

Calibre Tutorial

COPS legge il database di Calibre per creare un semplice catalogo da sfogliare in qualsiasi browser

raffigurante un server presente nella parte superiore, cos


da impostare il programma in modalit Pubblicazione.
Infatti, questa lunica funzione che permette di creare
il vostro catalogo in una precisa cartella di destinazione
al di fuori di quella usata da Calibre (chiamata database
folder), che conterr tutti gli ebook e le loro copertine.
In seconda istanza, dovrete andare in Profili D Nuovo
profilo e scegliere un nome per il profilo che state per
creare, quindi impostare una posizione corretta per la cartella
di destinazione, cos come un nome e una descrizione adatta
per le pagine Web del catalogo. Infine, fate click su Salva
e su Genera i cataloghi. La prima volta che viene lanciato,
Calibre2OPDS tenter di cancellare qualsiasi cosa si trovi
nella cartella di destinazione, mentre nei successi avvii vorr
semplicemente aggiornare ci che gi presente.
Per la buona pace di tutti, e per la corretta amministrazione
del sistema, vi consigliamo di creare appositamente una
cartella vuota. In pratica, il consiglio di utilizzare la GUI solo
per la configurazione iniziale, dopodich impostare Cron
in modo da lanciare run.sh, cos da rigenerare il catalogo
statico sul vostro computer e infine richiamare rsync per
copiarlo sul server. I cataloghi creati da Calibre2OPDS,
quando si tratta di configurarli, sono molto flessibili,

ma nellutilizzo pratico mancano di alcuni aspetti essenziali.


Il pi importante, dato il fatto che si tratta di pagine statiche,
effettivamente lassenza di un motore di ricerca interno.
Calibre-server possiede s una funzione Generate Search
Index, ma ancora in fase sperimentale e decisamente
imperfetta. Questi problemi hanno quindi portato allo sviluppo
di COPS: un insieme di pagine PHP in grado di interrogare
il database di Calibre. Il risultato davvero formidabile, tanto
da permettervi di cercare in un catalogo tramite un semplice
modulo. Per fare in modo che COPS venga eseguito senza
problemi, dovete solo decomprimere larchivio ZIP nella
cartella del vostro server Web, quindi creare una copia del file
config_local.php. A questo punto, aprite il file e modificate
questi valori come riportato di seguito:
$config[calibre_directory] = ./calibrecopy/;
$config[cops_title_default] = COPS per LinuxPRO;
calibre_directory il percorso verso la copia presente nel
server della vostra cartella locale contenente i dati di Calibre.
Ricordate poi di aggiungere uno slash finale, altrimenti COPS
non funzioner. Come nel caso di calibre-server, necessario
impostare un Cron con lo scopo di mantenere costantemente
sincronizzata la cartella presente sul server con quella
che abbiamo memorizzato sul desktop. LXP

Tip
Sincronizzare
continuamente
i lettori di ebook
con Calibre?
No grazie. Oltre
a essere molto
noioso, ha anche
diversi limiti.

Cosa c dietro la sigla OPDS?


Se state usando Internet da almeno un paio di mesi, sicuramente saprete
cosa sono i feed RSS (se non lo sapete, dovreste fare qualcosa a riguardo!).
In parole semplici, i feed RSS sono liste di titoli con annessi collegamenti
che riportano a tutte le news di un determinato sito Web.
Il tutto in un formato aperto e leggibile su una gran quantit di programmi.
OPDS, acronimo di Open Publication Distribution System (http://opds-spec.
org), pi o meno la stessa cosa, ma progettato specificatamente

per essere usato con le librerie digitali. I feed OPDS riportano i metadati
di molti libri diversi in un formato pi semplice e compatto rispetto
alle tradizionali pagine Web e inoltre si possono utilizzare anche su dispositivi
che non sfruttano alcun browser. La maggior parte degli eReader
con connessione Wi-Fi o interfacce simili sono in grado di rilevare
automaticamente i feed OPDS allinterno della rete locale, oppure prelevarli
da Internet per fornire la lista di tutti i titoli disponibili per il download.

Linux pro 142

LXP_142_60_63_LXF182.tut_calibre 63

63

26/05/14 17:34

Tutorial Xxxx
P2P Create una macchina dedicata ai torrent

utilizzando Deluge per condividerne laccesso

Costruire un server torrent


Linux Pro vi spiega come trasformare un vecchio computer, o addirittura
una Raspberry Pi, in una stazione di condivisione file utilizzando Deluge

S
intermedio

e siete come noi, sicuramente sarete alla ricerca


di progetti per riciclare i vostri vecchi computer
inutilizzati. Uno dei migliori usi per vecchie macchine,
senza abbastanza potenza per far girare un desktop
moderno, limpiego come macchina torrent sempre accesa
e senza monitor. Con una torrent box potrete aggiungere,
gestire e condividere torrent da ogni altro sistema nella rete.
Potete mettere la macchina torrent in un angolo e lasciare
che si occupi dei vostri download. Inoltre, dato che state
scaricando torrent, avere una macchina sempre accesa
vi aiuter a mantenere un sano ratio sui vari tracker.
Per cominciare dovrete equipaggiare la macchina con
un monitor e una tastiera. Serviranno solo allinizio, dato
che una volta impostato tutto potrete staccare sia il monitor
che i dispositivi di input. Finch la macchina sar infatti
collegata alla rete locale, sia via Ethernet o ancora meglio via
wireless, potrete aggiungere nuovi torrent e accedere ai dati
scaricati da remoto. Per prima cosa dovrete svuotare lhard
disk della torrent box e installare una copia aggiornata del
vostro sistema operativo server preferito, nel nostro caso
Ubuntu Server. Questultima richiede un hardware molto
modesto dato che non installa un desktop grafico. Una cosa
della quale dovete essere, tuttavia, sicuri che il computer
abbia abbastanza spazio per memorizzare i dati scaricati.
Per la massima compatibilit con gli altri sistemi e gli altri
dispositivi della rete bene formattare le aree di storage
con il filesystem NTFS. Se pianificate di usare il disco anche
per il sistema operativo bene tenere i file di sistema in una

partizione separata. Sono disponibili molti client torrent


per Linux. Per questo piccolo progetto utilizzerete Deluge
BitTorrent, che pu essere eseguito come demone nel
vostro server headless e pu accettare connessioni da altri
client Deluge. Il client multipiattaforma, e potrete quindi
connettervi alla torrent box da Linux, Windows e Mac OS X.
Deluge offre molte modalit di accesso remoto. Potrete
accedere alle funzionalit di base attraverso uninterfaccia
basata sul browser. Impostarla non richiede molto lavoro,
tuttavia limiter le funzionalit esposte. Per sfruttarle
completamente dovrete impostare Deluge come demone
per accettare connessioni da altre installazioni desktop.

Impostare Deluge
Cominciate impostando linterfaccia Web di Deluge, dato
che non si tratta di unoperazione impegnativa. Scaricate
i pacchetti necessari con:
sudo apt-get install deluged python-mako deluge-web
Il comando avvier il demone di Deluge automaticamente;
dovrete, tuttavia, avviare linterfaccia Web manualmente
inserendo il comando deluge-web & nel terminale.
Il client Web di Deluge sar ora in esecuzione sulla porta
8112. Avviate un browser e fatelo puntare allindirizzo
del server, per esempio 192.168.3.101:8112. Linterfaccia
Web di Deluge vi chieder una password. Quella di default
deluge. Non appena entrerete nellinterfaccia, Deluge
vi chieder di cambiare la password. Prima di cominciare
a utilizzare il client Web dovrete connetterlo al demone.

Creare un torrent server con Raspberry Pi


possibile utilizzare una Raspberry Pi come torrent box.
I comandi per installare e configurare il demone Deluge
e la sua WebUI non sono diversi da quanto gi visto.
Naturalmente dato che la Raspberry Pi non ha lhard disk,
dovrete utilizzare ununit esterna USB, insieme a un server
Samba, come spiegato nella procedura passo passo di pagina
67. La Raspberry Pi richiede, tuttavia, un ulteriore passo
addizionale. Avrete infatti bisogno di un po di magia
da riga di comando per fare in modo che il demone Deluge
e la WebUI partano automaticamente allavvio della Pi.
Per fare questo, copiate e incollate i due script di
configurazione che gli sviluppatori Deluge hanno incluso per
Ubuntu (http://bit.ly/1n0Z2w5). Assicuratevi che siano
eseguibili e aggiungeteli allavvio con sudo chmod 755
/etc/default/deluge-daemon e sudo update-rc.d
deluge-daemon defaults. Infine, aggiornate il file di init
per includerli: sudo chmod 755 /etc/init.d/deluge-daemon
e sudo update-rc.d deluge-daemon defaults.
Aggiungete qualche script per trasformare la vostra
Raspberry Pi in un server torrent dedicato

64

Linux pro 142

LXP_142_64_67_LXF183_tut_torrent 64

26/05/14 17:34

Deluge Tutorial
Linterfaccia Web avvier automaticamente la finestra
di gestione delle connessioni, che visualizza la lista dei
demoni Deluge in esecuzione. Selezionate semplicemente
il demone e cliccate il pulsante Connetti. Potrete
ora utilizzare il client Web per aggiungere e controllare
tutti i torrent nella torrent box. Nel caso vogliate cambiare
la porta sul quale il cliente Web in esecuzione, dovrete
modificare il file di configurazione. Spostatevi nella directory
di configurazione di Deluge con cd ~/.config/deluge/
e aprite il file di configurazione chiamato web.conf
nel vostro editor di testo preferito. Scorretelo fino
alla riga port: 8112; sostituite 8112 con
un numero di porta superiore a 1000.

Il lavoro del demone


Come menzionato prima, per ottenere
il massimo da Deluge dovrete configurare
il demone per accettare connessioni
da client remoti. Per prima cosa
installate il client console di Deluge,
attraverso il quale modificherete
la configurazione, con il comando:
sudo apt-get install
deluge-console
Prima di fare le modifiche
alla configurazione del
demone dovrete fermarlo:
sudo pkill deluged
Aprite ora il file di
configurazione ~/.config/
deluge/auth nel vostro editor
di testo preferito. Scorrete verso

la parte finale del file e inserite tre parametri per specificare


username e password da usare, oltre al livello di
autenticazione per il demone, separati da due punti.
Per esempio username:password:10. Ricordatevi di sostituire
i parametri username e password. Il livello di autenticazione
10 imposta i privilegi di amministrazione. Salvate il file
e uscite dalleditor di testo. Tornate alla console e avviate
il demone di Deluge con il comando deluged.
Accedete alla console scrivendo deluge-console.
Verr avviata linterfaccia a riga di comando
per il demone Deluge. Userete la console
per far accettare le connessioni remote
a Deluge. Scrivete nella console:
config -s allow_remote True
Il client vi confermer il cambio
di configurazione. Potete ora
uscire dalla console client
scrivendo exit e applicando
i cambiamenti fermando
il demone di Deluge
con sudo pkill deluged
e riavviandolo con
deluged. Ecco fatto.
Ora Deluge impostato
per accettare
connessioni via rete
da client remoti.
Seguite ora le guide
passo-passo per
impostare i client in
modo che si connettano
alla torrent box.

Passo passo Connettersi al server

Installare i client

Una volta impostato il demone di Deluge per accettare


le connessioni, dovrete installare il client desktop
negli altri computer della rete. La maggior parte delle
distribuzioni desktop include Deluge nei repository,
perci potrete scaricarlo attraverso il package
manager della distro. Essendo crossplatform, potrete
inoltre scaricare Deluge per Windows e Mac OS X
dal sito Web, se necessario.

Abilitare il Classic Mode

Di base, i client Deluge sono impostati per scaricare


nel computer locale. Dovrete cambiare questo
meccanismo, perci avviate il client di Deluge
e andate in Modifica D Preferenze e passate
alla categoria Interfacce. Noterete quindi
un checkbox per la Modalit Classica, abilitato
di default. Togliete la spunta, cliccate OK e quindi
riavviate il client Desktop.

Aggiungere gli host

Allavvio di Deluge verr visualizzato automaticamente


il dialogo Gestione Connessione. Cliccate sul pulsante
Aggiungi nel gestore delle connessioni e inserite
i dettagli della connessione verso il demone. Cliccate
il pulsante Aggiungi che vi porter indietro al dialogo
Gestione Connessione. Selezionate lentry appena
aggiunta e fate click sul pulsante Connetti per
collegarvi al demone in esecuzione nella torrent box.

Linux pro 142

LXP_142_64_67_LXF183_tut_torrent 65

65

26/05/14 17:34

Tutorial Deluge
Passo passo Migliorare lesperienza utente

Abilitare i plug-in di Deluge

Deluge pu ospitare molti utili plug-in. Per abilitarli andate in Modifica D Preferenze
e selezionate la categoria Plugins. Cliccate sul checkbox accanto a un plug-in per abilitarlo.
Ogni plug-in abilitato apparir come una categoria nella finestra Preferenze. Il client
include otto plug-in, tuttavia potete cliccare il pulsante Cerca altri plugin per scaricarne
e installarne altri di terze parti.

Addon per Firefox

Se utilizzate Firefox potete aggiungere lestensione Bit Torrent WebUI+, che


vi consentir di aggiungere torrent al demone Deluge tramite interfaccia Web.
Dopo aver installato lestensione, vi chieder di inserire i dettagli della connessione
verso la WebUI di Deluge. Ogni qualvolta cliccherete su un link torrent, questi
verr aggiunto automaticamente alla torrent box remota.

Utilizzare un client mobile

Potete inoltre installare unapp nel vostro dispositivo Android per aggiungere
e controllare i download. Il Google Play Store include molte app capaci di connettersi
al demone Deluge. Due app molto popolari sono Transdrone e la completissima
TransDroid. Mentre la prima scaricabile dal Play Store, per questultima dovrete
visitare il sito ufficiale attraverso lo smartphone (http://transdroid.org/latest).

66

Plug-in utili

Un utile plug-in lo Scheduler, che consente di limitare luso di banda durante il giorno.
Il plug-in Notification visualizza popup sul desktop o invia email di avviso al termine
di un download. Gli utenti avanzati apprezzeranno inoltre il plug-in Esegui, capace
di eseguire un comando specificato allaggiunta di un torrent o al completamento
di un download.

Addon per Google Chrome

Se utilizzate Google Chrome, potete installare lapp DelugeSiphon da Google Play


Store. Una volta installata, dovrete cliccare sulla sua icona nella barra degli indirizzi
e aprire la pagina Opzioni. Inserite lindirizzo IP del demone insieme al numero della
sua porta e la password della WebUI. Questo abiliter lopzione Invia a Deluge
nel menu del tasto destro per ogni file torrent.

Impostare il client

La procedura per impostare sia Transdrone che TransDroid la medesima.


Una volta lanciata lapp per la prima volta vi apparir una notifica di benvenuto.
Fate tap sul pulsante Impostazioni e poi su Aggiungi nuovo server. Selezionate
ora il tipo di server Deluge 1.2+. Inserite lindirizzo IP per connettervi
allinterfaccia Web di Deluge.

Linux pro 142

LXP_142_64_67_LXF183_tut_torrent 66

26/05/14 17:34

Deluge Tutorial
Utilizzare TurnKey Linux Torrent Server
Il progetto TurnKey Linux produce server basati
su Linux, autocontenuti e task-oriented, costruiti
su componenti Just Enough Operating System
(JeOS) che, come suggerisce il nome,
rappresentano esattamente il minimo necessario
per una certa applicazione. Lappliance
del progetto Torrent Server integra tutti gli
strumenti per la creazione di un file server.
Include unapp di file sharing multiprotocollo,
chiamata MLDonkey, utilizzando la quale potrete
scaricare tutti i tipi di file. La cosa migliore
dellappliance il fatto che possa essere gestita
completamente da remoto con un browser.
Potete caricare e scaricare file, con la possibilit
di comprimerli e scompattarli utilizzando algoritmi
di compressione molto diffusi, quali ZIP e RAR,

installare pacchetti addizionali e fare molto altro,


semplicemente utilizzando un browser
su un qualsiasi sistema operativo disponibile
nella rete locale o in qualsiasi punto di Internet.
Visitate il sito http://www.turnkeylinux.org/
torrentserver per scaricare lappliance.
Potrete installarla direttamente o provarne
i componenti eseguendola in modalit live.
Sia che la installiate, sia che la eseguiate live,
vi verr chiesta la password per lutente root
e per lutente admin delle varie componenti:
lapp per il file sharing MLDonkey, la P2P-GUI
di MLDonkey e il file manager eXtplorer. Tutto
qua. Una volta configurati gli utenti, lappliance
torrent server copier tutti i file e si installer
nel bootloader. Una volta riavviato il tutto verr

A differenza della vostra torrent box,


che utilizza Deluge, il TurnKey Torrent Server
utilizza la versatile app di file sharing MLDonkey
eseguito il boot nella console di configurazione
che elenca tutti gli indirizzi attraverso i quali
accedere alle varie app nel server.

Passo passo Mantenere il download su un drive esterno

Montate il drive esterno

Formattate il drive esterno come NTFS. Assicuratevi poi che la vostra distro
sia in grado di leggere i dischi NTFS installando il pacchetto apposito con sudo
apt-get install ntfs-3g e creando il mount point per il disco con sudo mkdir
/media/usb-disk. Inserite ora il dispositivo USB e trovate il suo indirizzo con sudo
fdisk -l. Assumendo vi sia ununica partizione chiamata sdb1, montatela con sudo
mount -t auto /dev/sdb1 /media/usb-disk.

Create le directory

Il prossimo passo consiste nella creazione delle cartelle necessarie a Deluge per
la memorizzazione dei download. Utilizzate sudo mkdir /media/usb-disk/torrents/
downloading e sudo mkdir /media/usb-disk/torrents/completed per creare
le directory per la memorizzazione dei download parziali e completi. Create unulteriore
directory con sudo mkdir /media/usb-disk/torrents/watch. Configurerete Deluge in
modo da controllare la directory per file .torrent, che verranno aggiunti automaticamente.

Impostate laccesso remoto

Installate Samba con sudo apt-get install samba samba-common-bin


per accedere al drive USB da sistemi remoti. Editate poi /etc/samba/smb.conf
e togliete il commento alla riga security=user. Create una nuova sezione nel file
come in figura e aggiungete un utente chiamato downloads, che vi consentir
di accedere alle condivisioni, con il comando sudo useradd downloads -m -G
users. Aggiungetelo agli utenti Samba con sudo smbpasswd -a downloads.

Informate Deluge

Una volta create le directory, dovrete inserirle nei client desktop di Deluge.
Avviatelo e aprite Modifica D Preferenze. Nella finestra Preferenze,
selezionate la categoria Download, che vi consentir di impostare le varie cartelle
per memorizzare i download. Togliete a questo punto la spunta dalle prime due
opzioni e utilizzate il file manager per puntare alle cartelle create nel drive esterno
collegato alla torrent box. LXP

Linux pro 142

LXP_142_64_67_LXF183_tut_torrent 67

67

26/05/14 17:34

TutorialGentoo
Xxxx
Una distro super-personalizzabile

apprezzata dai power user di GNU/Linux

Alla scoperta di Gentoo


In questo tutorial lo staff di Linux Pro vi guider attraverso uninstallazione
di questa distribuzione estremamente personalizzabile

C
intermedio

Ci sono
diversi menu
a cui prestare
attenzione
durante
il processo
di boot da live
CD, per esempio
la scelta del
layout della
tastiera (21
per litaliano)

68

osa rende Gentoo diversa dalle altre distribuzioni?


La personalizzazione! La maggior parte delle distribuzioni
ha alcune restrizioni, per esempio la partizione di root
deve essere necessariamente formattata in ext4, oppure che
il bootloader deve essere obbligatoriamente Grub2, o cose simili.
Ovviamente, se a voi non importa, non ci farete caso, linstaller
dellOS gestisce da solo tutte le impostazioni e tutto funziona
correttamente. Gentoo segue la filosofia opposta. Tanto
per cominciare, linstallazione avviene tutta da riga di comando,
lasciandovi il controllo completo su come ogni parte del sistema
configurata. In secondo luogo, il gestore dei pacchetti lavora
in modo completamente diverso da quello delle distribuzioni
che utilizzano gli RPM o i pacchetti Deb. In Gentoo, tutto il software
che viene utilizzato compilato dai sorgenti. Questo ovviamente
ha dei pro e dei contro: Da una parte, il sistema estremamente
performante ma linstallazione molto lenta, al punto che quando
fate un aggiornamento di sistema il vostro PC potrebbe rimanere
tutta la notte a lavorare. Il processo dinstallazione pu essere visto
come una maratona, un duro lavoro, ma molto gratificante quando
si arriva in fondo! Prendendo il controllo di ogni piccola azione
imparerete molto su come funziona una distribuzione Linux,
diventando esperti nel riparare installazioni compromesse
e nel costruire macchine snelle e performanti che rispondano
di volta in volta alle vostre esigenze senza fronzoli aggiuntivi.
Un piccolo avviso, la prima installazione potrebbe durare anche
unintera giornata, specialmente se intendete utilizzare un ambiente
desktop. Nota informativa: questa guida un supplemento,
non un rimpiazzo del manuale di Gentoo, che potete trovare
online allindirizzo http://www.gentoo.org/doc/it/index.xml.
Raccomandiamo di effettuare linstallazione di Gentoo utilizzando
il manuale e questo tutorial, dato che non andremo a ripetere tutte
le informazioni importantissime presenti nel manuale stesso.
Siete stati avvisati! Come con tutte le installazioni di Linux, tutto
inizia avviando unISO. Inserite il CD nel lettore, avviate la macchina
(noi abbiamo utilizzando un disco x86 con un vecchio portatile)
e prestate molta attenzione. Per prima cosa dovete premere Invio
entro 15 secondi se volete che si avvii il CD, altrimenti il PC tenter
di effettuare il boot da disco rigido, poi il sistema vi chieder quale
layout di tastiera utilizzare, dovrete essere veloci prima che scada
il timeout per selezionare la tastiera (21 per litaliano). Una volta
conclusa la sequenza di boot vi ritroverete davanti a un terminale:
rilassatevi, rimarr ad aspettarvi. Un piccolo controllino prima
di avviare linstallazione: assicuratevi di riuscire ad accedere
alla rete. Se avete la possibilit di connettere il vostro PC alla rete
tramite un cavo Ethernet vi consigliamo caldamente di farlo

per il processo di installazione. Se siete in qualche nuovo computer


che non necessita di cavi per connettersi, le risposte che cercate
si trovano nel manuale. Una volta che pensate che la rete funzioni,
provate a fare un ping a qualcosa: ping www.gentoo.org
e premete Ctrl+C quando ricevete dei pacchetti come risposta.

Preparare le partizioni
Per prima cosa, andrete a effettuare il partizionamento del disco,
o almeno a formattare alcune partizioni dellhard disk. Una volta
che avrete deciso come ripartirlo, potete iniziare a farlo. Nel nostro
PC noi utilizzeremo fdisk
fdisk /dev/sda
Se non siete sicuri di quale disco sia quello che cercate, potete
aprire fdisk su un disco a caso e utilizzare il comando p
per vedere cosa c dentro. Se il disco sbagliato, potete stabilirlo
in base alle partizioni che contiene, uscite utilizzando il comando q
(che chiude fdisk senza salvare eventuali modifiche). Se per caso
dovesse mostrarvi un errore relativo a GTP/EFI dovrete utilizzare
parted al posto di fdisk, date unocchiata al manuale per vedere
come. Una volta trovato il disco giusto, potete utilizzare m
per vedere quali comandi sono disponibili. Quelli importanti sono
la d per eliminare una partizione, n per crearne una nuova, t per
cambiare il tipo di partizione (che dovrete fare sulla partizione di
swap se ne avete una) e w per scrivere le modifiche sulla tabella
delle partizioni. Una volta eseguito il comando, fdisk vi chieder
tutte le informazioni necessarie per completare il processo, notate
che non possibile ridimensionare una partizione esistente (cosa
possibile invece con parted). Dovrete eseguire diverse volte
il comando p dato che non possibile scrollare indietro nello
storico del terminale. Questo perch il terminale di basso livello
si dimentica delloutput che va fuori dallo schermo. Esistono due
modi per aggirare questo problema: il primo: potete aggiungere
| less ai vostri comandi, il che vi mostrer loutput nel paginatore
less, che vi permette di scorrere in su e in gi; oppure potete
aggiungere > log.txt che salver loutput allinterno di un file
(e >> log.txt aggiunger loutput in coda a un file esistente, invece
di sovrascriverlo). Ora dovete formattare le vostre partizioni
per poterle utilizzare. Ogni filesystem ha un comando leggermente
differente, come mkfs.ext2, mkreiserfs, mkfs.xfs e mkswap.
Ogni comando richiede il nome della partizione (per esempio
/dev/sda1) come argomento, e dovrebbe mostrarvi quello che sta
facendo mentre lo fa. Lultima cosa da fare montare le partizioni
in modo da poter creare e modificare file. Il live CD ha una cartella
nella quale montare le partizioni: /mnt/gentoo:
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
swapon /dev/sda2
Ovviamente, dovreste personalizzare i nomi delle partizioni
mettendo quelle che avete appena creato e formattato, se avete
optato per delle partizioni di /home o /usr separate dovrete
ovviamente creare le cartelle e montarci le relative partizioni.
Unultima controllata prima di scrivere i file sul disco; dovete

Linux pro 142

LXP_142_68_71_LXF182.tut_gentoo 68

26/05/14 17:34

Gentoo Tutorial
controllare che la data di sistema sia corretta. Per fare ci usate
la funzione date, che dovrebbe mostrarvi una stringa (in UTC, quindi
dovete aggiungere unora - in questo momento due perch
in vigore lora legale). Se dovesse essere sbagliata, meglio
correggerla utilizzando: date MMGGOOmmAAAA (rispettivamente
mese, giorno, ora, minuti e anno). In questo modo non vi ritroverete
con degli strani errori di file creati prima del 1970 o nel futuro!

Ora scaricate Gentoo


Ora siete pronti per scaricare ed estrarre il tarball della struttura
delle directory e di alcuni comandi di Gentoo (come ls e altri
comandi UNIX di basso livello): viene chiamato stage 3 tarball
per motivi storici. Per fare ci dovete assicurarvi di essere
in un filesystem in lettura-scrittura che verr salvato se il sistema
dovesse per esempio crashare, quindi dovete fare cd /mnt/gentoo.
Poi, utilizzate il primo programma non del terminale: Links.
Questo programma funziona sempre nel terminale, ma sembra
pi una GUI, dato che supporta il mouse (il puntatore un grosso
rettangolo). Per scaricare il tarball, dovete puntare il vostro links
allelenco dei mirror ufficiali Gentoo:
links http://www.gentoo.org/main/en/mirrors2.xml.
Questa una pagina con una lunga lista di mirror da tutto
il mondo. Scegliete quello che preferite, solitamente meglio
scegliere il pi vicino, e navigate tra le cartelle finch trovate
il tarball stage3 pi recente per la vostra piattaforma (nel nostro
caso il tarball si trova in releases/x86/autobuilds/currentstage3-i686/stage3-i686-20140408.tar.bz2 - se non siete
sicuri su quale piattaforma scegliere, i486, i686 o amd64,
lasciate che ve lo dica loutput di uname -m). Una volta concluso
il download, scompattate il tar allinterno della vostra partizione root:
tar -xjpf stage3*.tar.bz2
Potete notare che questo comando leggermente diverso
da quello fornito nella documentazione, stato rimosso
largomento v, che significa verboso e indica a tar di dirci ogni
singolo file che estrae. Ora potete iniziare a modificare i file
di sistema e a personalizzare la vostra esperienza. La prima cosa
da fare impostare come volete che vengano compilate le cose
e cosa volete che venga abilitato/disabilitato, per esempio
i diversi framework desktop. Potete fare ci modificando
make.conf che si trova in /etc/portage, tenendo presente
che vi trovate allinterno del live CD:
nano /mnt/geento/etc/portage/make.conf
Le prime cose da modificare nel file make.conf sono le variabili
CFLAGS e MAKEOPTS. Poi, personalizzate anche la variabile USE.
Una volta configurato il compilatore, siete pronti per entrare nel

Lintero processo di installazione si svolge da shell, nella quale modificate


la configurazione del sistema utilizzando comandi da terminale

vostro ambiente Linux e iniziare a installare le cose. Questa


operazione chiamata chrooting (cio cambiare la root), e significa
che continuerete a utilizzare il kernel del CD live e il supporto
hardware impostando per il vostro filesystem root in /mnt/
gentoo. Il chrooting si compone di diversi passi. Per prima cosa,
impostate il mirror Gentoo in make.conf eseguendo
mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf
Scegliete il mirror che preferite. Ora dovete assicurarvi che il vostro
pseudo-Linux possa utilizzare gli stessi DNS del live CD:
cp -L /etc/resolv.conf /mnt/gentoo/etc/
Utilizzate quindi il comando lspci per salvare una lista delle
vostre periferiche (vi torner utile tra breve):
lspci > /mnt/gentoo/lspci.out.
Per finire, dovete montare i filesystem che permetteranno
al vostro hardware di funzionare nella nuova root:
mount -t proc proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev

Tip
In Gentoo
dovreste avere
una partizione
di /boot
separata,
non ha molto
senso attivare
il journaling
per questa
partizione
dato che
il suo contenuto
raramente
cambia, quindi
il filesystem pi
adatto ext2.

Le partizioni
Negli anni si dibattuto molto su quale fosse
il layout di partizionamento pi corretto
e non vogliamo alimentare questo dibattito qui.
Comunque, ci sono alcuni punti importanti
a cui pensare se volete un sistema che sia facile
da aggiornare, da backuppare e da utilizzare
con diverse distribuzioni.
/boot Una partizione separata di boot
raccomandata in Gentoo, cos potete formattare
la partizione in ext2 evitando i controlli di journaling
e non montare la partizione (o montarla in sola
lettura) per sicurezza e per evitare incidenti. Non
serve che sia molto grande, 128 MB probabilmente

sono pi che sufficienti.


/home Una partizione separata per la home
utile in due casi: se state avviando diverse
distribuzioni Linux e volete condividere i vostri utenti
o se volete rendere i backup pi semplici
e vi interessano soltanto i dati degli utenti. Inoltre
potete metterla su un disco separato, magari
criptato o in mirroring.
Partizione di swap A nessuno piace quando
il proprio kernel va in kernel panic per mancanza
di memoria aprendo la 75esima scheda di Firefox.
Una piccola partizione da 512 MB sufficiente.
Ovviamente avrete bisogno anche di una partizione

/, che dovrebbe essere grande o piccola in base


a quali applicazioni contate di installare e se
utilizzerete o meno una /home separata.
Per finire, non tutte la partizioni sono create allo
stesso modo; a causa delle dimensioni limitate
del MBR possono esserci soltanto quattro partizioni
primarie in un disco (e se state condividendo il disco
con Windows, ne prender una per s). Questo non
riduce il numero di partizioni che potete utilizzare,
ma dovrete creare una partizione estesa e crearci
dentro quante partizioni logiche volete. Assicuratevi
di avere le idee ben chiare quando andate
a modificare la tabella delle partizioni.

Linux pro 142

LXP_142_68_71_LXF182.tut_gentoo 69

69

26/05/14 17:34

Tutorial Gentoo
Ora siete pronti per il chroot:
chroot /mn/gentoo /bin/bash
source /etc/profile
export PS1=(chroot) $PS1
Se avrete bisogno di riavviare il processo di installazione da adesso
in poi, dovrete ricordarvi di rifare queste cose: montare le partizioni,
montare proc, /sys e /dev ed eseguire i comandi di chroot.
Ora dovete aggiornare il vostro gestore di repository prima
di installare i pacchetti. Il gestore si chiama portage, e utilizza
il comando emerge:
emerge-webrsync
emerge --sync --quiet
(potete togliere il --quiet se volete vedere tonnellate di output).
Una volta aggiornato, potete finire di configurare il vostro sistema
con il profile e alcuni flag di USE. Potete vedere e scegliere
tra i vari profile disponibili che offrono una buona combinazione
di flag per USE:
eselect profile list
eselect profile set 4
Il primo comando vi mostrer cose tipo desktop/gnome e desktop/
kde, e dovreste scegliere quello che si conf di pi ai vostri scopi
(nel nostro caso abbiamo scelto il numero 4). Ignorate il profilo
developer, contiene impostazioni per gli ambienti di sviluppo
ma serve per chi ha intenzione di sviluppare Gentoo stesso.
Poi, aprite nuovamente /etc/portage/make.conf e impostate
la variabile USE come preferite. Ora, dovete impostare le
informazioni geografiche, date unocchiata ai file dentro a /usr/
share/zoneinfo e fate leco di uno di essi dentro il file di sistema:
echo Europe/Rome > /etc/timezone
Per finire modificate il file nano /etc/locale.gen e scegliete il locale
che preferite. Allinterno di questo file troverete righe tipo
it_IT ISO-8859-1 e en_US.UTF-8 UTF-8; assicuratevi di
selezionare un locale UTF-8 per evitare crash indesiderati del
sistema, altrimenti dovrete riavviare la macchina e ricominciare.
Una volta fatto, completate la scelta:
locale-gen
eselect locale list
eselect locale set 3
env-update && source /etc/profile
Ovviamente sostituite il 3 con quello che desiderate.

Il kernel
Come ogni altra cosa in Gentoo, il kernel (sostanzialmente quel
pezzo di software che viene chiamato Linux) deve essere compilato
dai sorgenti. I kernel predefiniti (quelli che gli sviluppatori hanno
creato per lavorare al meglio con Gentoo) sono in gentoosources; ma non preoccupatevi, questo pacchetto tutto tranne
che precotto. Dite a portage di fare emerge in questo modo:
emerge gentoo-sources. Ora, a questo punto il manuale vi offre
unopzione facile, compilare una copia del kernel del live CD.
Noi assumeremo che voi siate arrivati fin qui con il desiderio
di installare una versione vera di Gentoo, con performance
elevatissime e un dispendio di RAM minimo. Giusto? Molto bene!
Ora tornate a quel lspci che avete eseguito prima, e date
unocchiata ai risultati: less /lspci.out. Se volete che luscita VGA
della vostra scheda madre o la vostra scheda di rete e audio
funzionino nel vostro nuovo sistema, dovete assicurarvi di compilare
il supporto kernel per ogni cosa. Questo molto importante
visto che volete evitare di installare tutti gli altri inutili driver
per periferiche che non avete. Detto ci, la maggior parte
dellhardware funziona se includete la sezione e il giusto produttore,
le pi problematiche, secondo la nostra esperienza, sono le schede

70

wireless integrate dei portatili. Se state installando Gentoo


su un laptop e volete utilizzare il Wi-Fi, potrebbe valere la pena
cercare in Google loutput di lspci della vostra scheda insieme alla
parola Gentoo, tanto per controllare se potrebbe creare problemi.
Ora, andate a cercare i sorgenti del kernel e aprite il sistema
di configurazione basato su ncurses:
cd /usr/src/linux
make menuconfig
Qui trovate migliaia di opzioni, la prima volta che si prova pu
essere divertente guardarle una per una. Una volta che vi siete dati
unocchiata in giro, andate nella sezione Device Drivers e iniziate
a cercare il vostro hardware. Tenendo presente che, per esempio,
la scheda di rete Chipmaker 8073n si trova nella sezione
Networking dentro a Chipmaker 8 series, dovreste riuscire
a trovare la maggior parte delle vostre periferiche. Se avete delle
difficolt non preoccupatevi troppo, potete sempre tornare indietro
e ricompilare se una particolare periferica non dovesse funzionare.
Laltra cosa importante da controllare che i driver per i filesystem
che avete utilizzato siano attivati (e che quelli per i filesystem che
non vi servono siano disattivati). Una volta che vi sentite soddisfatti
delle vostre scelte, salvate, uscite e compilate il vostro kernel.
Questo comando potrebbe effettivamente richiedere qualche
tempo, prendetevi un bel caff!
make && make modules_install
Una volta completato, potete copiare il kernel nella partizione
/boot (controllate larchitettura e la versione del kernel prima
di copiare).
cp arch/x86/boot/bzImage /boot/kernel-3.12.13-gentoo
Ora lultima operazione collegata al kernel, laggiunta dei
moduli che si vogliono caricare in /etc; per prima cosa, grazie
a questo comando potete vedere lelenco dei moduli
disponibili (ovviamente sostituite <versione kernel> con la versione
del vostro kernel)
find /lib/modules/<versione kernel>/ -type f -iname *.o
-or -iname *.ko
A questo punto aggiungete quelli che volete vengano caricati
allavvio in /etc/conf.d/modules; se per esempio volete
aggiungere i moduli xt_nat.ko e kcopy.ko, dovete modificare
/etc/conf.d/modules e aggiungere: modules=xt_nat kcopy.
Bene, se installare Gentoo veramente una maratona, avete
concluso il riscaldamento iniziale, ben fatto fin qui, ora prendete
una bottiglietta di acqua e continuate a correre. Dato che non si
vuole dover montare a mano tre cose ogni volta che si riavvia,
dovete dire al sistema operativo quali partizioni devono essere
montate e dove. Per fare ci dovete utilizzare un file chiamato
fstab (quindi digitate nano /etc/fstab). La sintassi del file fstab
non semplicissima, ma se seguite lesempio (impostando
alle partizioni di /, /boot e swap i relativi dispositivi /dev/sd*)
non dovreste commettere errori. Ora dovete configurare
la connessione di rete. Date un nome alla vostra nuova macchina
modificando il file /etc/conf.d/hostname e seguite il manuale se
avete dei requisiti di rete particolari (come per esempio impostare
un IP manualmente anzich tramite DHCP). Poi, dovete trovare
il nome che Gentoo ha assegnato alla vostra scheda di rete.
Date uno sguardo alloutput di ifconfig e guardate cosa c oltre
a lo (che unabbreviazione di loopback); potrebbe chiamarsi
per esempio eth0. Una volta trovato il nome eseguite i comandi
qui sotto (sostituendo eth0 con il vostro nome):
cd /etc/init-d
ls -s net.lo net.eth0
rc-update add net.eth0 default
Ora, dovete impostare una password per lutente root della vostra

Linux pro 142

LXP_142_68_71_LXF182.tut_gentoo 70

26/05/14 17:34

Gentoo Tutorial

Opzioni di compilazione
Il file make.conf allinterno di /etc/portage/
il posto in cui potete modificare le impostazioni
del compilatore che andr a personalizzare
tutto il codice che compilerete. Gentoo
personalizza il software in fase di compilazione
piuttosto che di esecuzione, il che rende le cose
molto pi veloci. Potete controllare le
impostazioni del compilatore attraverso delle
variabili di ambiente in make.conf. CFLAGS
(e CXXFLAGS) sono degli argomenti aggiuntivi
che vengono inviati ai compilatori C e C++.
Esistono diversi livelli di ottimizzazione; -03
non raccomando per programmi di sistema

perch pu causare un po di instabilit,


ma -02 vi d una forte ottimizzazione senza
questo problema. -pipe render il compilatore
pi veloce aumentandone il consumo di RAM,
impilando gli oggetti da compilare direttamente
invece di utilizzare file temporanei, e
-march=native dovrebbe prendere ogni
scorciatoia disponibile nella vostra CPU.
In MAKEOPTS, limpostazione -jN dir a make
di eseguire N lavori in parallelo, rendendo
il processo di costruzione pi veloce nei sistemi
multi-core. Dovreste impostare N al numero di
thread che potete eseguire alla volta pi 1, che

macchina, utilizzando il comando passwd, configurare


il linguaggio della tastiera nel file /etc/conf.d/keymaps e date
unocchiata anche alle impostazioni dentro a /etc/conf-d/hwclock
(se avete un dual boot con Windows, assicuratevi che sia impostato
a local e non a UTC). Ora il momento di far lavorare un po
emerge installando/aggiungendo alla sequenza di init quello
che pu servire, il system logger, Cron (per pianificare i lavori),
un server SSH per laccesso remoto, e un client DHCP
per recuperare la configurazione di rete dal router:
emerge syslog-ng
rc-update add syslog-ng default
emerge cronie
rc-update add cronie default
emerge mlocate
rc-update add sshd default
emerge dhcpcd
Se siete interessati, potete dare unocchiata anche a possibili
alternative per queste funzioni, esistono molti altri logger
e demoni Cron.

Configurazione del bootloader


Per concludere il processo di installazione vi rimane da installare
un bootloader. Le scelte sono due, anche in questo caso la migliore
soggettiva, Grub e LILO. In questo tutorial vi mostreremo
linstallazione del primo ma i passi per ogni installazione sono
pi o meno gli stessi. Installate grub:
emerge sys-boot/grub:0
Modificate poi il suo file di configurazione:
nano /boot/grub/grub.conf
Il file di configurazione contiene diversi commenti che spiegano
il significato di ogni riga. La parte pi difficile quella di convertire
il nome della vostra partizione (con indice che parte da 1/dev/sda4) nel formato Grub (hd0,3) (con indice che parte da 0),
(la a in sda diventa 0 ed il 4 diventa 3) e, s, le parentesi sono
obbligatorie! Prima di installare Grub nei primi 512 byte
del sistema, dovete assicurarvi che le partizioni montate
siano allinterno di chroot con:
grep -v rootfs /proc/mounts > /etc/mtab
e siete pronti per installare il vostro codice di boot:
grub-install --no-floppy /dev/sda
Ricordatevi che se fate un cambiamento al file di configurazione
del bootloader, non avr alcun effetto finch non lo riscriverete
con grub-install o con un suo equivalente se state usando un altro
bootloader. Ora siete pronti per avviare il vostro PC con la vostra
nuova installazione di Gentoo! Riavviate; ora, se la vostra macchina

il numero di core a vostra disposizione, oppure


il doppio del numero dei core a vostra disposizione
nei processori hyper-threaded. I pacchetti portage
guardano la variabile USE per cambiare le cose
nelle applicazioni. Per esempio, se avete impostato
il flag -qt (che significa che non volete il supporto
QT, da non essere confuso con il flag qt che invece
fa lopposto includendolo), il compilatore scarter
ogni parte collegata a QT allinterno del codice.
Qui avete visto una piccolissima lista di flag
per USE, ma potete trovarne altri in /usr/portage/
profiles/use.desc e /usr/portage/profiles/use.
local.desc.

si avvia al primo colpo e riuscite a connettervi a Internet, avete tutto


il rispetto dello staff di Linux Pro. Ma nella maggior parte dei casi
le cose non saranno cos, ci sar qualche piccolo errore in qualche
configurazione che andr sistemato, la chiave del successo non
arrendersi! Il debugging larte di scoprire cosa non funziona,
se non vedete il menu del bootloader, dovete soltanto tornare
nel file di configurazione del bootloader e provare impostazioni
diverse. Se la vostra rete non funziona potrebbe esserci qualche
problema con il vostro file /etc/init.d/net.*, noi abbiamo utilizzato
eth0 anche se non esisteva un numero imbarazzante di volte,
o magari avete solo perso unopzione del kernel che vi serviva.
Qualsiasi cosa sia, dovreste riuscire a capire quale parte
dellinstallazione non andata a buon fine e correggere
il problema. Per risolvere la maggior parte dei problemi, dovrete
rimontare manualmente le vostre partizioni: proc e tutte le altre,
e rifare chroot per riuscire a sistemare le cose. Una volta che
sarete riusciti ad avviare la vostra macchina, aggiungete un account
utente che non sia root:
useradd -m -G users,wheel,audio,usb,cdrom -s /bin/bash light
passwd light
Installare Gentoo unesperienza molto formativa, avete visto
come gestire le partizioni del vostro disco; avete fatto un chroot
da un live CD alla vostra installazione; personalizzato e compilato
il vostro kernel e modificato moltissimi file critici di sistema,
la maggior parte dei quali sono presenti in tutte le distribuzioni
di Linux. Oltre a tutto ci che avete imparato, ora vi trovate
con un PC super-performante e ottimizzato. Per il momento
avete soltanto la riga di comando, ma lambiente desktop,
i server Web, la grafica 3D e tutto ci che desiderate pronto
per essere compilato. Cosa state aspettando? LXP

Tip
Potete verificare
lintegrit di un
tarball stage 3
scaricando anche il
file *.DIGESTS che
si trova nella stessa
cartella del server
e confrontando
il checksum dato
in output
da sha512sum
e openssl dgst -r
-whirpool con il
contenuto del file.

Linux offre uninterfaccia ncurses per abilitare e disabilitare le funzionalit


del kernel, le impostazioni pi importanti sono per lhardware e i filesystem

Linux pro 142

LXP_142_68_71_LXF182.tut_gentoo 71

71

26/05/14 17:34

TutorialServer
Xxxx

Date alloggio ai vostri repository


utilizzando Gitweb e Gitolite

Create il vostro server


Vi piace Github ma volete restar fuori dalla nuvola? Ecco come creare
il vostro server fatto su misura per le vostre esigenze

G
difficile

it uno dei sistemi di gestione del codice sorgente


di maggior successo nellecosistema Linux.
Se lavorate con il codice sorgente molto probabile
che vi sia gi familiare. Uno dei principi del design di Git
che lo rende diverso dagli altri SCM che lo hanno preceduto
(come CVS e Subversion) che distribuito: ogni utente
di un progetto archiviato in un repository Git avr la propria
copia del repository e, cosa ancora pi importante, le copie
hanno il medesimo status, non c un master. Potreste
chiedere per: e se voglio un master? Se voglio un server
dove ogni sviluppatore possa inviare le proprie modifiche?
Bene, concettualmente potete decidere che uno specifico
repository sia il master e tutti debbano effettuare push e pull
da l. Molti progetti lo fanno e sfruttano un hosting basato
su cloud come GitHub o BitBucket come master. Potenziali
problemi per lutilizzo di un servizio di terze parti come
GitHub includono il fatto che, a meno che non paghiate
per avere repository privati, tutto quello che caricate
disponibile pubblicamente, oltre alla domanda se sia giusto
affidarsi a un servizio cloud per un progetto. Lalternativa
che esplorerete in questo tutorial creare il vostro personale
server Git. Alla fine di questo tutorial avrete una home
per i vostri repository Git accessibile tramite SSH. Avrete
anche un server Web dove sfogliare i repository stessi
e il loro contenuto. Per ottenerlo sfrutterete Gitweb,
un server Web parte di Git, e Gitolite, che offre
uninterfaccia di gestione ai vostri repository. Nel tutorial
userete due macchine: una sar il server e laltra il desktop
dove lavorate normalmente. richiesto in entrambe
un normale account utente, nel server dovr essere abilitato
a sudo per installare e configurare loccorrente. Leggere il
box relativo per creare un server virtuale e seguire il tutorial.

Le necessit di base

Gitweb sul Web!

72

Non c nulla di speciale riguardo ai repository Git in un


server a eccezione che vengono creati in maniera essenziale.
Un repository essenziale quello che non contiene una copia
di lavoro dei propri contenuti. Il senso di ci che non
si lavorer mai direttamente nel repository del server
e mantenerlo essenziale riduce il consumo del prezioso
spazio disco del server. Un repository essenziale contiene
solo quello che normalmente sarebbe presente nellalbero
.git allinterno della copia di lavoro. Git contiene gi
uninterfaccia Web chiamata Gitweb che utilizzerete tramite
un browser Web per visualizzare i vostri repository. Vi servir
un server Web per contenerla e sebbene la scelta in questo
tutorial ricada sullonnipresente Apache potete scegliere
quello che pi vi piace. Imposterete un virtual host per
il server Git cos da non impattare su altri servizi gi
configurati. Per mantenere il server sicuro e controllarne
i diritti di scrittura, assicurandoli senza dover dare diritti
di login sul server, sfrutterete Gitolite, un gestore di accessi
per Git che usa le configurazioni di un repository speciale.

Linux pro 142

LXP_142_72_75_LXF181.tut_git 72

26/05/14 17:35

Git Tutorial
Instaweb: il server Web Git istantaneo
Potreste non sapere che Git dispone anche
di un server Web nel pacchetto standard.
Viene chiamato Instaweb e potete lanciarlo
su qualsiasi repository: tutto quello che vi serve
spostarvi nella directory di root (quella dove
si trova la directory .git) e lanciare un comando
per tirar su il server allindirizzo

http://localhost:1234:
git instaweb start
Questo prevede che abbiate lighttpd installato
nel sistema. Se non cos, comunque, potete
usare altri server. Per esempio, se avete Ruby:
git instaweb start --httpd=Webrick
Per fermare il server il comando da lanciare

Gli serve una user ID singola nel server al quale fornisce


accesso per abilitare utenti multipli, ognuno con i propri
diritti di accesso per archivio. Gli utenti dei repository non
necessitano di account di login sul server. Lamministrazione
pu essere gestita da qualsiasi utente su qualsiasi altra
macchina della rete (non viene effettuata direttamente sul
server Git). Gli utenti Gitolite accedono al server utilizzando
gli strumenti di Git (clone, fetch, pull, push) attraverso
il protocollo SSH. Utilizzano lo stesso ID nel server ma ogni
utente autenticato tramite la propria coppia di chiavi
pubblica/privata. Lautenticazione via password non
consentita. Lamministratore deve caricare le chiavi pubbliche
nel server tramite Gitolite che autentica lamministratore
nello stesso modo. Potete usare la vostra chiave pubblica
per questo, oppure crearne una nuova per questo specifico
scopo. Se ne volete una nuova, effettuate il login nella
macchina dalla quale amministrerete Gitolite e create una
rielaborata coppia di chiavi:
ssh-keygen -t rsa -f ~/.ssh/gitadmin
Questo creer una nuova coppia di chiavi RSA. Largomento
-f specifica un nome per il file della chiave che sarebbe
altrimenti id_rsa. Una cosa da considerare nello sceglierlo
che Gitolite utilizza il nome del file come username.
Specificando ~/.ssh/gitadmin avete ottenuto una chiave
pubblica con quel nome, .ssh/gitadmin.pub. Potete creare
chiavi per tutti gli utenti allo stesso modo. Copiate la chiave
pubblica nel server Git:
scp ~/.ssh/gitadmin.pub utente@server:/tmp
Effettuate il login nel server e installate i pacchetti richiesti:
sudo apt-get install apache2 apache2-suexec git Gitweb
gitolite highlight
Una volta che apt-get installer Apache questultimo verr
lanciato in automatico e potrete controllarlo andando
allindirizzo Web del vostro server. Il pacchetto highlight
un extra opzionale che permette a Gitweb di abilitare
levidenziazione della sintassi del codice sorgente, mentre
luso di apache2-suexec vi verr svelato tra poco.

Configurare Gitolite
Ricapitolando: Gitolite richiede uno user ID dedicato sul
server e questo sar usato per accedere a tutti i repository.
Create tale utente chiamandolo come volete, anche se git
unottima scelta.
sudo adduser --system --group --shell /bin/bash --home
/srv/git --disabled-password git
Il server memorizzer i repository in /srv/git. La Linux
Filesystem Hierarchy definisce /srv come il posto per dati
site-specific forniti dal sistema, quindi la scelta adatta
e di conseguenza la home di Git sar la directory stessa.

git instaweb stop


Come bonus, se omettete start nel lanciare
il server questo partir e contemporaneamente
aprir il browser allindirizzo corretto!
Per ulteriori dettagli potete leggere
la documentazione di Git allindirizzo
http://git-scm.com/docs/git-instaweb.

In seguito passate al setup di Gitolite:


gl-setup -q /tmp/gitadmin.pub
Il parametro -q evita di aprire una finestra dove potrete
rivedere e modificare i parametri predefiniti (va bene, potrete
cambiarli in seguito). Questo tutto quello che serve
per impostare Gitolite e, se guardate in ~git/repositories
vedrete che ne sono stati creati due: uno vuoto di test
che potete usare per provare cose nuove e quello speciale
chiamato gitolite-admin per lamministrazione. Prima
di passare a metterci le mani, per, imposterete Gitweb
in modo da poterli visualizzare.

Come Gitolite usa SSH


Avete gi capito come tutti gli accessi al server Git sfruttino
lo stesso utente: ecco cosa succede dietro le quinte.
Per prima cosa, ricordate che lamministratore ha aggiunto
la chiave pubblica di SSH alla configurazione di Gitolite
per impostarlo come utente. Tutti gli utenti da aggiungere
dovranno fornire la propria chiave SSH pubblica allo stesso
modo. Quando lamministratore inserisce una chiave pubblica
nel repository gitolite-admin ed effettua il push al server,
Gitolite lo memorizza nel file authorized_keys (in /srv/git/.
ssh/authorized_keys). Nel farlo lo prefissa con un comando:
command=/usr/bin/gl-auth-command lxp
Quando a una chiave SSH viene messo un comando come
prefisso in questo modo, il server eseguir sempre tale
comando a prescindere dalla richiesta dellutente, in modo
da restringere laccesso a quello specifico comando. Potete
leggere una spiegazione pi approfondita di questa tecnica
allindirizzo http://oreil.ly/18F27kf. In questo modo tutte
le chiavi vengono assegnate allutente git del server ma
viene eseguito il comando Gitolite per ogni specifico utente.
Se lxp prova a collegarsi via SSH al server, tutto quello
che vedr sar un report sui suoi permessi Gitolite:
$ ssh git@192.168.1.129
PTY allocation request failed
hello id_rsa, this is gitolite 2.3-1 (Debian) running on git
1.9.1
the gitolite config gives you the following access:
R W
gitolite-admin
@R_ @W_
testing
Shared connection to 192.168.1.129 closed.

Cambiare utente
Perch tutto funzioni avete bisogno che Apache lanci Gitweb
come utente git, ma il server gira come utente diverso:
ecco dove entra in gioco apache2-suexec, un modulo
che permette ad Apache di lanciare cose con un utente
diverso. Si installa su Ubuntu come /usr/lib/apache2/

Tip
Se scordate
i comandi Git:
http://bit.
ly/1bNHfb9.

Linux pro 142

LXP_142_72_75_LXF181.tut_git 73

73

26/05/14 17:35

Tutorial Git

Tip

Creare un server virtuale

Se vi si chiede
una password
nel clonare un
repository al quale
avete accesso,
SSH sta
probabilmente
usando la chiave
sbagliata.

Per questo tutorial stata usata Ubuntu


Server perch ha nei propri archivi tutto
quello che serve per portarlo a termine.
Per impostare un server basato su 13.04
Raring Ringtail potete usare Linux

suexec, in altre distribuzioni potrebbe trovarsi in /usr/bin/


suexec. Controllate dove si aspetta di trovare le cose:
sudo /usr/lib/apache2/suexec -V | grep AP_DOC_ROOT
In Ubuntu ritorna /var/www. Create una sottodirectory
e copiatevi i file CGI di Gitweb assicurandovi che siano
di propriet dellutente git:
sudo mkdir /var/www/git-suexec
sudo cp -a /usr/share/gitweb /var/www
sudo chown -R git.git /var/www/gitweb
sudo chown -R git.git /var/www/git-suexec
Potete quindi scrivere uno script per Apache che invochi
Gitweb, come questo:
#!/bin/bash
# file /var/www/git-suexec/gitweb.cgi.suexec-wrapper
export GITWEB_CONFIG=/etc/gitweb.conf
exec /var/www/gitweb/gitweb.cgi
Modificate la variabile $projectroot in /etc/gitweb.conf
per puntare alla radice dei repository creata da Gitolite:
$projectroot = /srv/git/repositories;
Se volete abilitare il syntax highlighting (che richiede
il pacchetto highlight) aggiungete allo stesso file:
$feature{highlight}{default} = [1];
Il passo finale configurare un host virtuale per servire
Gitweb:
# file /etc/apache2/sites-available/gitweb.conf
<VirtualHost *:80>

Divertitevi
con il codice
colorato
del pacchetto
highlight

74

Containers, utilizzando unimmagine cloud


da http://cloud-images.ubuntu.com.
Se il vostro sistema ha LXC e volete seguire
il tutorial senza sporcarlo potete scegliere
di impostare lambiente virtuale con:

lxc-create -n gitserver -t ubuntu-cloud --r raring


lxc-start -n gitserver
Lutente di default ubuntu con
la medesima password.

ServerName git
DocumentRoot /var/www/gitweb
SuexecUserGroup git git
ScriptAliasMatch ^/$ /var/www/git-suexec/gitweb.cgi.
suexec-wrapper
</VirtualHost>
e quindi abilitare il modulo suexec e il server virtuale.
Perch le modifiche abbiano effetto necessario un restart
di Apache:
a2enmod suexec
a2ensite gitweb
service apache2 restart
Potreste dover modificare alcuni percorsi di file se non state
usando Ubuntu, dal momento che i layout di configurazione
di Apache cambiano da distribuzione a distribuzione. Potete
anche inserire il blocco VirtualHost direttamente nel file
principale di configurazione, se preferite.

Accedere ai vostri repository


Uscite dal server e tornate al desktop per provare Gitweb.
La direttiva di virtual host istruisce Apache a rispondere
al nome di http://git quindi aggiungete al file hosts o al DNS
una riga che risolva git con lindirizzo IP del server e quindi
aprite un browser e navigate su http://git per vedere i due
nuovi repository.

Questione di stile?
Se pensate che lo stile di Gitweb per le pagine potrebbe
essere migliorato (e.g. pi simile a GitHub) una cosa che
potete provare :
git clone https://github.com/kogakure/gitweb-theme
cd gitweb-theme
cp git* /var/www/gitweb/static
chown -R git:git /var/www/gitweb/static
Con questo rimpiazzerete quattro file di Gitweb: git-favicon.
png, git-logo. png, Gitweb.css e Gitweb.js, migliorando
di gran lunga lapparenza delle cose. Tutta lamministrazione
viene fatta al di fuori del server. Clonate gitolite-admin
sul vostro desktop:
git clone git@git:gitolite-admin
Con questo comando vi connetterete al server via SSH come
utente git e vi autenticherete con la vostra chiave. SSH deve
essere in grado di selezionare e utilizzare la chiave corretta,
specie se non quella di default avrete bisogno di dargli una
mano aggiungendo un po di configurazione a ~/.ssh/config:
Host git
IdentityFile ~/.ssh/gitadmin
Quello che avete appena clonato il repository
di amministrazione e contiene due directory: conf e keydir.
La directory keydir dove definirete i vostri utenti.
Per aggiungere Giulio agli utenti baster mettere qui la sua
chiave pubblica, per esempio giulio.pub (ricordate che

Linux pro 142

LXP_142_72_75_LXF181.tut_git 74

26/05/14 17:35

Git Tutorial

Gitolite usa il nome del file come username). La


configurazione del repository in un file: gitolite-admin/
conf/gitolite.conf. Qui sono contenute definizioni per ogni
repository del server, e potete crearne di nuovi aggiungendo
una nuova definizione al file:
repo progetto-lxp = Progetto LinuxPro
RW+ = me
R = giulio
RW = nicolo
- = marco
Ogni definizione inizia con unintestazione contenente
il nome del repository e una descrizione opzionale (il segno
di uguale e la stringa possono essere omessi, ma Gitweb
la mostrer se disponibile). A seguire ci sono le righe che
consentono il controllo degli accessi al repository, consentiti
o negati. Esistono quattro livelli di base:
Un trattino (-) nega laccesso. Nellesempio, Marco non
pu accedere a progetto-lxp.
R consente laccesso in sola lettura.
RW consente laccesso in lettura e scrittura, ma la scrittura
consentita per push fast-forward e push che creino nuove
branch o tag.
RW+ consente laccesso in scrittura per ogni tipo di push.

Potete anche inserire tra i permessi e i segni di uguale quelle


che lautore di Gitolite definisce Refex e che sono di fatto
regex opzionali per filtrare i push. Possono essere usate per
controllare parte del repository. Come esempio, aggiungendo
le due righe seguenti alla definizione precedente
si impedirebbe a Dario di effettuare push nel branch master:
- master = dario
RW = dario
uno strumento potente e per comprenderlo a fondo
dovreste leggere la sua documentazione su http://gitolite.
com e https://github.com/sitaramc/gitolite. Una volta
modificata la configurazione e/o aggiunto nuove chiavi
per gli utenti, applicatela effettuando il commit delle
modifiche e il push al server:
git add .
git commit -m gitolite admin
git push
Gitolite automaticamente aggiorner il server come richiesto,
creando nuovi repository e aggiungendo le chiavi corrette
per lutente git. Chiunque con sufficienti autorizzazioni pu
clonare i repository dal server come utente git con la riga
git clone git@git:progetto-lxp
Ovviamente se lhostname scelto da voi diverso da git
dovrete cambiarlo di conseguenza, e sostituire a progettolxp il nome del vostro repository. Notate, tuttavia, che
i permessi di Gitolite non si applicano allaccesso a Gitweb.
Per proteggere la visione dei repository da utenti non
autorizzati potete usare il meccanismo di .htaccess standard
in Apache. LXP

Ridisegnare
Gitweb
unottima
miglioria

Tip
a2enmod
e a2ensite
sono estensioni
specifiche
di Ubuntu
e Debian
al pacchetto
Apache.

Considerate anche...

Gitolite supportato da un sito ben documentato allindirizzo


http://gitolite.com

Assieme a quelli usati nel


tutorial ci sono altri progetti
che offrono soluzioni per
archivi Git centralizzati
in hosting personale.
Eccone alcuni:

Gitorious https://
gitorious.org
CGit http://git.zx2c4.
com/cgit
GitBlit http://gitblit.com
GitLab http://gitlab.org

Linux pro 142

LXP_142_72_75_LXF181.tut_git 75

75

26/05/14 17:35

TutorialServer
Xxxx
Web Impostate un hosting casalingo

per lavorare su piattaforme diverse

LAMP per il vostro server


Volete imparare come amministrare un server Web? Ecco come impostare
un server per il test e la didattica in casa!

intermedio

reare un server Web casalingo pu essere vantaggioso


per principianti o esperti nello sviluppo Web.
Per i principianti permette di far pratica senza
rischi di sicurezza o pagamenti e di provare script
e le pagine Web prima di metterle in produzione.
In pi, un server casalingo vi permetter di conoscere
e sperimentare con la piattaforma LAMP o di tenere in piedi
un sito a basso traffico. La piattaforma LAMP consiste
di Linux, Apache, MySQL e PHP; esistono comunque opzioni
per sostituire Apache con altri server, per esempio Lighttpd
o Nginx. Per gli utenti esperti pu essere un playground dove
sperimentare nuovi pacchetti, configurazioni del server
e integrazioni con altri server. Un esempio di integrazione
riprodurre video da una o pi Webcam e renderli
visualizzabili da un sito Web posto in unaltra macchina.
Un pacchetto Linux come Motion sarebbe sufficiente
per farlo. Un altro esempio il test di pacchetti come Varnish
(un acceleratore HTTP) prima di fare la stessa cosa nei vostri
server dedicati. Questo articolo dettaglier vari metodi
per mantenere un sito in casa su dispositivi come la
Raspberry Pi, un PC economico o una semplice chiave USB.

Scegliete il vostro setup


Una chiave USB una scelta economica per uninstallazione
persistente di Debian/Ubuntu. Per cominciare ci sono diversi
strumenti disponibili gratuitamente, come UNetbootin,

per installare unimmagine ISO su una pendrive USB.


Linstallazione dovr essere persistente dal momento
che volete mantenere i vostri file e i pacchetti al reboot.
Se usate la chiave USB potete accedere alla shell via SSH
o utilizzare un portatile per avviare la macchina.
Alternativamente potete recuperare un notebook o un PC
usato, tuttavia una strada che potrebbe dare gioie e dolori,
in particolare dal momento che molte persone si disfano
dei loro computer quando lhard disk comincia a dar segni
di cedimento. Infine, per meno di 60 una Raspberry Pi
minimamente accessoriata pu essere unottima scelta,
non ha parti mobili e pu essere messo pressoch ovunque.
La Raspberry Pi consuma veramente poco ed un eccellente
dispositivo per la sperimentazione, con il filesystem su SD
o su pendrive USB. Se decidete di usare una Raspberry Pi
esistono varie distribuzioni Linux che potete installare;
la pi famosa e supportata Raspbian, ed la miglior scelta
per iniziare. Esiste anche linstaller NOOBS che vi basta
aggiungere a una scheda SD formattata FAT32 (sopra i 4G)
e vi presenter la possibilit di installare svariate distribuzioni.
Un setup iniziale e completo per la Raspberry Pi prevede il
collegamento a un TV HD con un cavo HDMI, assieme a una
tastiera, un mouse e un cavo Ethernet. Una volta caricato
NOOBS dovrete solo effettuare il boot e seguire le istruzioni
a video. Una piattaforma LAMP basilare pu essere installata
con i comandi seguenti:

Scrivere echo
phpinfo()
in un file PHP
pu fornirvi
un sacco
di informazioni
utili riguardo
la vostra attuale
configurazione
di PHP

76

Linux pro 142

LXP_142_76_79_LXF183.tut_server 76

26/05/14 17:35

LAMP Tutorial
Clonazione facile
Una volta configurato il vostro server casalingo
secondo le vostre necessit potete facilmente
clonare lintero disco in modo da avere
un backup istantaneo per qualsiasi emergenza.
Un metodo semplice e veloce tramite
il comando dd, utile in particolare per
Raspberry Pi. Se inserite una penna USB
formattata in FAT32 in una delle porte USB
della Raspberry Pi dovrebbe montarsi in
automatico; potete quindi usare il comando
unmount e formattarla in ext4:
mkfs.ext4 /dev/sda1

Fatto questo potete montarlo nella directory


media. Dovrete creare una sottodirectory nella
cartella media che corrisponda al comando
nellesempio: in questo caso la sottodirectory
chiamata myusbdrive (notate che potete
usare df -h per capire dov montata la penna):
mount /dev/sda1 /media/myusbdrive
Il comando successivo cloner lhard disk
nellUSB utilizzando la scheda SD per la
Raspberry Pi:
dd if=/dev/root of=/dev/sda1 bs=4m
Infine dovete dire alla Raspberry Pi di usare

sudo apt-get update


sudo apt-get install apache2
sudo apt-get install mysql-server mysql-client
sudo apt-get install php5 libapache2-mod-php5
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
sudo /etc/init.d/apache2 restart
Dopo aver installato i pacchetti e controllato che tutto
funzioni correttamente, potete andare avanti e provare
alcuni nuovi setup, come Varnish, e aggiungere alcuni port
forwarding aggiuntivi al vostro router per gestire il sito
da qualsiasi posizione vi troviate (via SSH). Se state
costruendo il sito a casa potete accedervi tramite lIP,
lindirizzo di rete o il nome del dominio; se pianificate
di accedervi tramite SSH da altri computer, tuttavia, dovrete
abilitare il port forwarding nel router per accettare tali
connessioni. Per semplicit la porta 22 quella di default
per SSH e potete sfruttare quella per il port forwarding,
assieme allindirizzo IP privato della macchina che servir
il sito. Nel tutorial si continuer con la porta 22, per pu
essere modificata nel file /etc/ssh/sshd_config.
Dal momento che 22 la porta predefinita, spesso
bersaglio di attacchi con username root. Se la modificate e
cambiate lopzione PermitRootLogin yes a PermitRootLogin
no troverete i file di log molto pi snelli di tentativi di accesso
falliti. Se non permettete il port forwarding per SSH potete
comunque controllare la macchina via SSH nella vostra rete
domestica, visto che entrambe le macchine sono sullo stesso
router; in caso contrario potete usare lindirizzo IP o il nome
di dominio e connettervi sulla porta desiderata dallesterno.
Nel costruire il vostro sito dovrete inserire i file allinterno
di /var/www. Se pensate di gestire pi di un sito potete
farlo aggiungendo ad apache2.conf (in Ubuntu non
necessario perch li dispone nella directory /etc/apache2/
sites-available, attivabili e disattivabili tramite i due comandi
a2ensite e a2dissite)
Include conf.d/*.conf
Tale riga vi permette di creare un file .conf per ogni
nome di dominio e dovrete aggiungere tale nome prima
dellestensione: e.g. per il sito example.com creerete
example.com.conf. I file per il sito example.com saranno
memorizzati nella cartella /var/www/example.com e il file
di configurazione /etc/apache2/conf.d/example.conf sar:
<VirtualHost *:80>

ServerName www.example.com

ServerAlias example.com *.example.com

DocumentRoot /var/www/example.com

la penna USB come hard disk principale.


Per farlo aprite /boot/cmdline.txt e modificare
root=/dev/root in root=/dev/sda1.
Notate che la scheda SD contiene ancora Grub
ed necessaria per il boot di Raspberry, per
i vostri siti e pacchetti staranno nella penna
USB. Una procedura praticamente identica
potrebbe essere usata per clonare
uninstallazione di Linux da un disco a un drive
USB. Per avere anche uninterfaccia potete
dare unocchiata a programmi esterni
come Clonezilla.


<Directory /var/www/example.com>
Order allow,deny

Allow from all
</Directory>
</VirtualHost>
Ora che avete le basi per impostare un sito potreste volere
una pianificazione solida per farlo girare efficientemente.
Anche se il tipo di server (Apache, Lighttpd, Nginx, ecc.) gioca
un ruolo fondamentale nel gestire le richieste, leffettivo
filesystem e la programmazione del sito qualcosa a cui
dovete pensare accuratamente. Se pensate di usare
Wordpress, Joomla, Drupal, Magento o un altro degli script
PHP popolari potreste trovarne il caricamento lento
e indesiderabile. Se volete un po di stile e buone
performance, un template CSS con qualche piccola
immagine pu produrre buoni risultati. Se volete aggiungere
15 Javascript e uno slideshow potete aspettarvi caricamenti
piuttosto lenti da parte dei vostri utenti. Con PHP/MySQL
potete scrivere pagine personalizzate e con codice snello
che si carichino velocemente. Tenete presente anche che
le vostre pagine Web si caricheranno molto pi velocemente
se il sito nella rete locale. Lontano da casa il recupero sar
pi lento a meno che non creiate delle pagine superottimizzate. Coperte le basi del setup per il server Web
e alcuni concetti per la costruzione di siti, ci sono alcune
altre semplici procedure che potete seguire per migliorare
lesperienza utente. Due cose semplici che potete fare sono:
per prima cosa, aggiungere un modulo Apache che
vi permette di impostare il caching di file e immagini
nel browser del navigatore. Per seconda potete installare
e abilitare mod_expires o mod_headers e impostare
un caching personalizzato con un file .htaccess nella
directory /var/www (o nella cartella del vostro sito).
Per coloro che prevedono siti dinamici costruiti con PHP
e MySQL possibile installare e configurare Varnish,
popolare in molti siti Web dal momento che memorizza
contenuti dinamici in una cache in memoria e continua
a servire la cache finch il contenuto della pagina non
si modifica.

Tip
Se impostate
un IP statico per
il vostro hosting
e lo riservate
sul router
vi risparmierete
parecchi mal
di testa. Potete
cambiare
da DHCP a IP
statico nel file
/etc/network/
interfaces..

Impostare Varnish
Per installare, configurare e lanciare Varnish dovrete
modificare la porta di Apache in qualcosa di diverso da 80
(come 8080 o 81), dal momento che la 80 verr occupata
da Varnish stesso. Nota: questo acceleratore si installer
facilmente nelle derivate di Ubuntu, su Raspberry Pi tuttavia
Linux pro 142

LXP_142_76_79_LXF183.tut_server 77

77

26/05/14 17:35

Tutorial LAMP
dovrete compilarlo da sorgente. Per avere Varnish
su Raspberry Pi dovrete scaricarlo, scompattare il file TAR,

installare le dipendenze, compilare il codice sorgente


e modificare un paio di file. Come nota a margine, sarebbe
saggio installare lapplicazione solo una volta configurato
il server Web in modo che funzioni perfettamente da solo:
in questo modo, se qualcosa dovesse andare storto,
vi baster modificare la porta in apache2.conf
per recuperare una configurazione funzionante. Per prima
cosa dovete ottenere accesso ai sudoers per eseguire
comandi con sudo -s e navigare nella directory /var/tmp.
Potete scaricare lultima versione dal sito: http://repo.
varnish-cache.org/source tramite:
wget http://repo.varnish-cache.org/source/
varnish-4.0.0.tar.gz
Decomprimete il file con tar xvzf varnish-4.0.0.tar.gz
ed entrate nella directory con cd varnish-4.0.0.
Ora il momento delle dipendenze:
apt-get install autotools-dev autoconf libpcre3-dev
libedit-dev automake libtool groff-base python-docutils
pkg-config
Quindi lanciate autogen.sh e continuate con configure:
sh configure --enable-diagnostics --enable-debuggingsymbols
Infine per linstallazione lanciate make e make install.
Nota: se qualcosa va storto e dovete ripetere
la procedura, usate prima make uninstall e make clean.
In seguito dovrete create i link necessari con ldconfig -n
/usr/local/lib. Aprite il file di configurazione default.vcl
con vi /usr/local/etc/varnish/default.vcl,
decommentate le righe seguenti e impostate la porta
a 8080. Apache utilizzer la porta 8080 e Varnish la 80:

backend default {

.host = 127.0.0.1;

.port = 8080;
}
Il prossimo passo modificare la porta del Web server.
Per Apache dovete modificare il file /etc/apache2/
apache2.conf, per Lighttpd /etc/lighttpd/lighttpd.conf.
Potete creare un nuovo file e scrivere un piccolo script
per lanciare il servizio di Varnish oppure copiare
il comando seguente:
/usr/local/sbin/varnishd -f /usr/local/etc/varnish/default.vcl
-a :80 -P /var/run/varnish.pid -s malloc,30m
Notate che lopzione -f il percorso al file di configurazione:
/usr/local/etc/varnish/default.vcl. Lopzione -a
rappresenta la porta che Varnish user (la 80) e -s indica
quanta memoria allocata per la cache (in questo caso,
30M). Potete trovare ulteriori informazioni alla pagina
https://www.varnish-cache.org/trac/wiki/
Performance. Controllate di aver fatto tutto a modo
con /usr/bin/pgrep -lf varnish. Potete anche controllare
gli header per Varnish: il semplice script PHP seguente
(headers.php) controlla se Varnish sta funzionando
correttamente creando un array di header. Apritelo
con vi headers.php:
<?php
$my_url = http://localhost;
//$my_url = http://example.com;
//$my_url = http://<ipaddress>;
print_r(get_headers($my_url, 1));
?>

78

La riga seguente pu essere usata per visualizzare


gli header da riga di comando:
php ./headers.php
Se tutto corretto, dovreste ottenere in output qualcosa
di simile: come vedete, in questo caso il server Lighttpd
e la richiesta stata inviata da Varnish
Array (

[0] => HTTP/1.1 200 OK

[Vary] => Accept-Encoding

[Last-Modified] => Tue, 18 Apr 2014 05:46:44
GMT

[ETag] => 3026883401

[Content-Type] => text/html

[Server] => lighttpd/1.4.31

[Date] => Tue, 18 Apr 2014 06:23:14 GMT

[X-Varnish] => 1977155788 1977155786

[Age] => 75

[Via] => 1.1 varnish

[Connection] => close
)
Un altro modo per incrementare le performance
di caricamento abilitare mod_expire che riduce
la quantit di richieste dal browser facendo il caching
delle pagine. Per farlo dovrete aggiungere del codice
a un file .htaccess posizionato nella cartella /var/www
oppure una delle sottocartelle. Il file .htaccess sar
ereditato lungo tutto lalbero per potr essere
sovrascritto nelle sottocartelle. Potete trovare ulteriori
informazioni su mod_expire nel sito di Apache: http://
httpd.apache.org/docs/2.2/mod/mod_expires.html.
Anche se potete permettere ad alcune estensioni
(come HTML) di essere messe in cache, potete decidere
anche di non farlo, dal momento che il browser non
le richieder nuovamente fino al timeout. Se non pensate
di effettuare grosse modifiche, tuttavia, pu risultare
vantaggioso. Potete provare anche lestensione Yslow
per Firefox, se usata assieme a Firebug vi suggerir
come migliorare le impostando i permessi a 0600:
chmod 600 /etc/ha.d/authkeys
A questo punto create un file ha.cf in entrambi i nodi.
Il codice sar il medesimo: potete usare il codice
sottostante con gli hostname che avete scelto:
vi ha.cf
logfacility local0 # istruisce heartbeat sul dispositivo di
logging da usare
keepalive 2 # intervallo in secondi tra i pacchetti
heartbeat
deadtime 5 # timeout prima che il secondo nodo prenda
il posto del primo
udpport 694 # la porta su cui heartbeat ascolta i
broadcast
bcast eth0 # la scheda per il broadcast
node raspberrypi # hostname del nodo 1
node raspberrypi2 # hostname del nodo 2
auto_failback on # importante per il failover automatico
Assicuratevi che il servizio Apache sia avviato in entrambe
le macchine e (ri)avviate il servizio Heartbeat con service
heartbeat start.

Stare in piedi e far backup!


Ora che avete irrobustito il server e tutto funziona
a meraviglia lo vorreste mantenere cos, giusto?

Linux pro 142

LXP_142_76_79_LXF183.tut_server 78

26/05/14 17:35

LAMP Tutorial

Yslow vi aiuta a migliorare le performance di caricamento mostrandovi le debolezze nel codice front-end e nel file .htaccess

Alcuni modi per assicurarvene sono controllare


che Apache sia configurato per avviarsi al boot, quindi
far girare un job di cron in unaltra macchina Linux
per fare un ping al sito Web e inviare un avviso se il ping
non riesce. Se utilizzate DHCP, poi, rischiate che il router
gli assegni un indirizzo diverso a ogni reboot finendo
per non sapere pi qual lindirizzo giusto: lidea
usarne uno statico in modo da sfruttare sempre
il medesimo. Una volta messo in piedi il server avete
bisogno anche di un piano di backup. Il vostro backup
potrebbe essere anche un semplice tarball che create
periodicamente, un cronjob che copi con rsync i file
in un altro disco, oppure un secondo disco clonato
con il comando dd. Con dd potete impostare al boot
luso del pendrive USB come disco. Questo metodo
molto veloce e pu essere usato per sostituire un disco
malfunzionante con una copia nuova e funzionante.
Se decidete di intraprendere questa via potete usare
Clonezilla per fare copie identiche. Dopo questa rapida

carrellata sui possibili setup di Heartbeat, Varnish


e compagni dovreste avere uninfarinatura per cominciare
a servire file su Internet in maniera veloce e sicura.
Anche se un server casalingo economico
e relativamente facile da impostare, non offre hardware
veloce e le velocit di rete che hanno i pacchetti
di hosting. Se sentite che il vostro sito cresciuto troppo,
potete sempre trovare pacchetti di hosting che abbiano
le risorse a voi necessarie. Velocit e affidabilit possono
essere ottenute con del buon codice, impostazioni
dellhosting e hardware potente. Con soluzioni di hosting
esterno beneficerete anche di pannelli amministrativi
come Cpanel o Plesk che possono rendervi la vita
davvero molto pi semplice; inoltre le abilit acquisite
da riga di comando vi torneranno sempre utili. Infine,
se vi trovate bene con il terminale, FTP e SSH nel
vostro server, avete tutti gli strumenti necessari
per costruire e gestire piccoli e grandi quantit di codice
da qualsiasi posizione. LXP

Opzioni di setup per lhosting


Se decidete di costruirvi un server Web
casalingo potete usare praticamente qualsiasi
media in cui si possa installare una distribuzione
Linux standard, anche schede SD e penne USB.
Se avete un vecchio portatile o desktop, oppure
ne trovate uno dismesso per qualche soldo,
potete cominciare da quello. In effetti potreste
anche sfruttare qualche computer con parti
rotte e magari un disco malfunzionante:

in questo caso vi basta semplicemente


impostare il boot via USB dal BIOS e questo
vi permetter di lanciare un sistema Linux
su una penna USB da 5. Se preferite
un equipaggiamento nuovo unopzione
economica la sorprendente Raspberry Pi.
Tutto quello che serve (alimentatore, scheda
SD, cavo Ethernet, wireless USB) assieme alla
scheda stessa acquistabile per meno di 60;

per sapere quali accessori sono compatibili


date unocchiata su eLinux.org. Infine,
se vi serve una configurazione di test da avviare
una volta ogni tanto, potete usare un sistema
persistente su drive USB in qualsiasi computer
possa effettuare boot da USB. Per un utilizzo
a lungo termine, la Raspberry Pi sicuramente
unottima scelta visti i ridotti consumo
di energia e dimensioni.

Linux pro 142

LXP_142_76_79_LXF183.tut_server 79

79

26/05/14 17:35

TutorialElettronica
Xxxx

embedded Impariamo
a costruire circuiti con una breadboard

Divertiamoci con i circuiti


Con Shrimping.it possibile scoprire come funzionano i microcontrollori
divertendosi e far parte della nuova generazione di maker

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

1416MHz
15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

12

13

11

12

10

CP2102 UART

intermedio

orecambe, nel Lancashire, stata a lungo famosa


per le sue tradizioni culinarie, in particolare per
i gamberetti in vaso, aromatizzati con noce moscata
e pepe di Cayenna. Adesso sembra che la citt sia destinata
a diventare famosa grazie a un tipo completamente differente
di crostaceo. Questo particolare tipo di gamberetto (shrimp
in inglese) un po meno appetitoso, del genere elettronico,
dato che si tratta di una breadboard. Se esaminate
attentamente la scheda di prototipazione Arduino Uno
scoprirete che si tratta in pratica di un microcontrollore Atmel
Atmega con un bootloader, un regolatore di tensione,
una UART e poco altro. Il kit Shrimp (http://shrimping.it)
offre qualcosa di simile a un costo inferiore: una semplice
scheda compatibile Arduino da montare su una breadboard.
Shrimp permette anche di aggiungere un bridge USB-UART
CP2102 che consente di collegare un computer e iniziare
a programmare la scheda, senza che il prezzo aumenti molto.
E bastano solo uno o due CP2102 per programmarne
un intero arsenale, permettendo a chiunque di avere
un circuito funzionante per meno del costo di un caff.
Non solo un problema di costo: sicuramente il basso prezzo
lo rende uno strumento ideale per i progetti educativi,
ma tutto ci che ragazzi o adulti impareranno
sperimentando e realizzando il loro progetto che costituisce
il vero valore aggiunto dellintero processo. Abbiamo molta
ammirazione per Arduino Uno, ma il suo funzionamento
risulta un po oscuro: si fa fatica persino a vedere
le connessioni dei piedini sulla scheda. Aggiungeteci gli shield
gi pronti, che sono molto comodi per chi gi conosce
il funzionamento dei microcontrollori e sa come usarli,

I
H
G
F

DTR

ATMEGA328
E

104

11

10

104

RXD

TXD

5V

CTS

GND

104 104

Con Shrimp dovete iniziare maneggiando e montando sulla breadboard i componenti


della scheda, cosa che garantisce un sicuro apprendimento del funzionamento del circuito

80

e il principiante non ha nessuna possibilit di capire cosa sta


succedendo. Questo circuito diverso: si presenta come
una manciata di componenti da montare su una breadboard.

Per cominciare
Per prima cosa avete bisogno di montarlo. Il costo dei
componenti della versione base, specialmente se potete
acquistarli in grande quantit, quasi trascurabile, come
si vede dalla lista qui sotto (presa da http://shrimping.it/
blog/bill-of-materials/):
1 ATMEGA328-PU.................................................................................................. 1,40
2 2 condensatori da 22pF.................................................................................0,02
3 4 condensatori da 100nF...............................................................................0,05
4 1 condensatore da 1F...................................................................................0,02
5 1 resistore da 10K ...........................................................................................0,01
6 1 quarzo da 16 MHz..........................................................................................0,08
7 1 pulsante...................................................................................................................0,04
8 fili e ponticelli colorati.........................................................................................0,06
9 1 LED e 1 resistore adatto..............................................................................0,03
10 connettore a 9 piedini........................................................................................0,02
Costo totale:......................................................................................................................1,73
Se invece volete comperare un kit gi pronto meglio andare
su http://shrimping.it/blog/kits/: la versione base costa circa
5 euro, esclusa la breadboard, che pu essere acquistata
a parte e che invece fornita con i kit pi complessi.
Pu darsi che il primo problema che vi troverete ad affrontare
consister nellinserire il microcontrollore nella breadboard:
noi abbiamo dovuto sistemare i piedini del nostro,
che risultavano leggermente divaricati, schiacciandoli
delicatamente tra la superficie del tavolo e il retro della
breadboard. Linserimento degli altri componenti risulta invece
molto semplice. Sul blog ufficiale del progetto (http://
shrimping.it/blog/blink) troverete istruzioni passo passo
per il montaggio. Limmagine qui a sinistra mostra come
si dovrebbe presentare la breadboard a montaggio ultimato.
Il collegamento con il bridge USB-UART CP2102 va eseguito
con cavi dei seguenti colori: rosso nel piedino 5V, arancione
nel piedino RXD, giallo in TXD, verde in GND e per finire
marrone in DTR. Siete ora pronti per installare lIDE
di Arduino ed eseguire il vostro primo programma, o sketch,
come viene chiamato nellambiente Arduino. Ci sono
parecchie cose che potete fare col vostro nuovo Shrimp.
La compatibilit con Arduino Uno vi d accesso a migliaia
di sketch e circuiti e anche sul sito ufficiale Shrimping.it
cominciano a comparire alcuni progetti interessanti.
Il box Cose da fare col vostro Shrimp descrive anche
un clone di uno dei giochi pi famosi degli anni 70, Simon.
Per mantenere alto linteresse dei pi piccoli utile riuscire
a controllare gli ingressi e le uscite del circuito direttamente
dalla console, senza bisogno di scrivere un programma.
La libreria PyFirmata permette di farlo e costituisce anche
un ponte verso Scratch, un linguaggio particolarmente adatto
ai pi giovani. Happy Shrimping!

Linux pro 142

LXP_142_80_81_LXF183.tut_shrimp 80

26/05/14 17:35

Shrimp Tutorial

Le origini
Cefn Hoile stava tenendo un laboratorio
per bambini dedicato ad Arduino durante
un Raspberry Jam, ma non era soddisfatto:
i partecipanti non avevano nulla da portare a casa
e non imparavano niente, dato che erano costretti
a seguire listruttore che scriveva il codice sul suo
portatile. Laula era infatti piena di inaccessibili PC
con Windows. Dalle stanze vicine invece uscivano
bambini con delle Fignition (http://bit.
ly/1fTyx86) appena montate e con videogiochi

Hama Bead. Shrimp nato da questo senso


di frustrazione, come scheda a basso costo
Arduino compatibile in kit con tutte le cose
buone che hanno Fignition e Hama Bead dice
Hoile. Il circuito pensato per incrementare
le capacit di realizzazione di prototipi (la prima fase
di progetto, quando viene costruito il circuito sulla
breadboard). Attualmente la scheda utilizzata
localmente per trasformare Morecambe in una
Maker Town con laiuto del consiglio comunale,

che ha regalato la scheda a tutti i bambini


che vogliono provarla. Questo, dice Hoile,
ha a che fare con la creativit e la ricerca
di identit attraverso lespressione creativa.
Ora i bambini del laboratorio di Hoile si impegnano
nella realizzazione di interessanti giocattoli che poi
si porteranno via, come per esempio il circuito
persistenza della visione (http://shrimping.it/
blog/persistence-of-vision/), costruito
e programmato da loro stessi.

Passo passo Cose da fare col vostro Shrimp

Il primo progetto

Quelli del progetto Shrimp usano il circuito Blink


allinizio dei loro laboratori per mostrare che tutto
funziona prima di aggiungere moduli e funzioni pi
complicate. Se comperate un kit avrete a disposizione
qualche condensatore e qualche resistore in pi
di quelli mostrati qui (http://bit.ly/1cPehqz).

Divertimenti ottici

Rimandando alla scrittura di lettere nellaria con fuochi


dartificio, il kit Persistence of Vision replica il trucco
con un circuito. Una colonna di LED viene fatta
lampeggiare in una sequenza temporizzata
per simulare colonne consecutive e creare caratteri
o forme (http://bit.ly/1fC5x3I).

Aggiungere Arduino

La piena compatibilit con Arduino Uno vi consente


di installare lIDE che trovate su http://arduino.cc/.
Dal menu caricate File D Esempi D 01.Basics D Blink
e poi cliccate sulla freccia orizzontale che si trova nella barra
degli strumenti per inviare il codice al vostro Shrimp. Il LED
lampeggiante indicher che loperazione ha avuto successo.

Liberate la breadboard

Saldare la versione base di Shrimp su una scheda


millefori vi permetter di usare la breadboard per altri
circuiti. Occorre uno zoccolo DIP per circuiti integrati
a 28 piedini, che vi consentir di usare il medesimo
microcontrollore Atmel su circuiti diversi
(http://bit.ly/1bLRT2X).

Simon

Negli anni 70, epoca ante-ZX81, non esistevano ancora


gli home computer, ma cera Simon. Pensate a un Boppit
senza voce n movimento. Dovete premere i pulsanti
nellordine in cui hanno lampeggiato. Ogni giro aggiunge
un passo in pi, finch non commettete un errore (http://
bit.ly/1ejWl8J).

Lavorare insieme

Speriamo di avervi trasmesso la nostra passione


per Shrimp: la migliore fonte di ispirazione rimane
comunque lavorare insieme ad altri. Su Twitter
@ShrimpingIt informa sui workshop dedicatigli;
potete anche portare la vostra scheda agli
eventi Arduino. LXP

Linux pro 142

LXP_142_80_81_LXF183.tut_shrimp 81

81

26/05/14 17:35

OCaml

La potenza di OCaml
Linux Pro vi mostra come disegnare grafici con questo linguaggio
di programmazione funzionale, flessibile e dalle elevate prestazioni

Caml (ovvero Objective Caml) la principale


implementazione di Caml, che a sua volta un
discendente del linguaggio ML degli anni 70, il quale
ha ispirato e fatto nascere molti altri linguaggi. Come ML,
anche Caml un linguaggio funzionale, staticamente
tipizzato, il che vantaggioso sia in termini di performance
sia perch permette di evitare tutto un certo insieme di bug.
Questo software aggiunge di suo un po di nuove funzionalit,
come la struttura a oggetti, le unit funzionali e la
programmazione imperativa e orientata agli oggetti.
Tutte queste caratteristiche rendono OCaml un linguaggio
molto flessibile. La giusta enfasi stata rivolta anche alle
prestazioni, infatti esistono un compilatore ottimizzato

e una implementazione particolarmente buona per certi


tipi di funzioni (come lunione di insiemi); infine
il fatto che si basi su librerie, rende semplice lo sviluppo
di nuove applicazioni. Dato che questo un linguaggio
funzionale, vi dar le conoscenze base della programmazione
funzionale, ovvero di concetti che potete trovare anche
in altri linguaggi come Haskell e che, dopotutto,
vi renderanno dei programmatori migliori. I pattern funzionali
stanno assumendo sempre pi importanza nei problemi
moderni di programmazione, come anche la gestione
del parallelismo e della concorrenza. OCaml un cavallo
da corsa a tutto campo, lo potete persino usare come
linguaggio di scripting. Si parte!

Installare OCaml
OCaml ha un proprio gestore di pacchetti, OPAM, il quale
funziona bene su Linux ed probabilmente la scelta migliore
per installare e gestire il software e le sue librerie.
Potete anche installarlo tramite il gestore dei pacchetti
che utilizzate sul vostro sistema (sia su Debian che su Fedora
il pacchetto base si chiama ocaml). Se si possiede una
connessione ad alta velocit installare OPAM un processo
piuttosto rapido:
wget http://www.ocamlpro.com/pub/opam_installer.sh
sh ./opam_installer.sh /usr/local/bin
eval `opam config env`
Potete, ovviamente, eseguire linstallazione in un percorso
diverso da /usr/local/bin se preferite. Lultima linea

Ciao Mondo! Vim ha una configurazione di default per evidenziare in maniera


accurata la sintassi dei programmi OCaml

82

va aggiunta al vostro file .bashrc o, in alternativa, dovrete


eseguirla manualmente su ogni terminale altrimenti non
sarete in grado di usare ocamlc. Una volta installato, potete
provare il vostro primo codice OCaml utilizzando il prompt
interattivo. Digitate il comando ocaml per accedere
al prompt, quindi provate il codice che segue:
# print_endline Ciao Mondo;;
Ciao Mondo
- : unit = ()
# exit 0;;
Le istruzioni di alto livello terminano con ;; mentre le funzioni,
come spesso avviene nei linguaggi funzionali, non
racchiudono i propri argomenti tra parentesi. Per uscire
dallinterprete dovete fornire il codice di ritorno come
argomento (in questo caso 0 significa successo) della
funzione exit. Appena eseguite unistruzione, linterprete
vi restituisce il risultato e il tipo del risultato. In questo caso,
il risultato di print_endline unit, il cui unico valore ().
Questo un po quello che void nel linguaggio C,
ed usato quando il valore non ha alcuna importanza.
Qui la parte importante della funzione il suo effetto
collaterale (stampare la stringa) e non il valore restituito.
La linea di comando interattiva, ma probabilmente vorrete
eseguire il vostro programma da un file. Create il file
hello.ml:
print_endline Ciao Mondo;;
ed eseguitelo tramite il comando ocaml hello.ml come
script. Per compilarlo usate il comando ocamlc -o hello
hello.ml (quindi eseguite il codice compilato con ./hello).
Solitamente vorrete quasi sempre compilare il vostro codice
per poi eseguirlo. Il codice compilato pi veloce, potete
facilmente organizzare il programma con pi file sorgenti,
ed comodo usare librerie che non sono parte
dellinstallazione base di OCaml.

Linux pro 142

LXP_142_82_85_LXF182_code_ocaml 82

26/05/14 17:35

OCaml
Moduli
Ogni pezzo di codice OCaml parte di un modulo.
Il codice descritto in questo articolo e salvato nel file
miografico.ml, fa automaticamente parte di un nuovo
modulo definito come Miografico. Quindi possibile,
per esempio, chiamare qualunque funzione usando
Miografico.gtkwindow(). Come gi discusso, se
volete utilizzare la funzione gtkwindow senza per
forza dover usare il nome completo, potete utilizzare

open Miografico allinizio del file. Questo metodo


funziona solamente se le funzioni nel modulo
non hanno nomi che possono confondersi con altri:
altrimenti dovrete comunque specificare il nome
completo. I nomi o i metodi in List, per esempio, sono
spesso usati anche in altri moduli, quindi solitamente
non si usa open List. La libreria predefinita di OCaml
piuttosto piccola, consiste solo dei tipi base,

le eccezioni e il modulo Pervasive che contiene le


operazioni. La libreria standard (che automaticamente
linkata; non serve specificare il file del modulo)
leggermente pi grande e contiene cose come
gli array, le mappe, le liste, e le operazioni di output.
Tutto il resto va installato, solitamente usando opam
e linkando esplicitamente sulla linea di comando come
viene mostrato negli esempi di questo tutorial.

Disegnare un grafico
Nel resto di questo tutorial, svilupperete un programma che disegna
grafici, usando un paio di librerie grafiche di OCaml. Esistono
varie librerie molto solide, quindi consigliato usarle quando
possibile. Cominciate con lutilizzare le basi della libreria grafica
disegnando una serie di cerchi:
open Graphics;;
open_graph 640x480;;
for i = 12 downto 1 do
let raggio = 20 in
set_color blue;
fill_circle (i * 30) (i * 25) raggio
done;;
read_line ();;
Per far ci occorre utilizzare la libreria Graphics che risiede allinterno
del file graphics.cma. In OCaml il nome del file che contiene
la libreria identico al nome della libreria a eccezione della prima
lettera che risulta minuscola mentre nel nome della libreria
maiuscola. open_graph una funzione contenuta nella libreria.
Nel codice qui sopra usata per connettersi al display predefinito
e creare una finestra di dimensioni 640x480. Le coordinate standard
sono quelle matematiche: lorigine posizionata nellangolo in basso
a destra della finestra; la y cresce verso lalto mentre la x cresce verso
destra. In OCaml esistono due versioni del ciclo for. Questo, for...
donwnto...do...done;; conta a ritroso. Per contare in maniera
crescente dovete usare to invece di downto, e specificare gli
opportuni valori di inizio e fine. Il corpo del ciclo si trova tra do
e done;; let nome = expression in unistruzione molto comune
in OCaml. Definisce una variabile allinterno del contesto di visibilit
corrente. Quindi, in questo caso, raggio definito nel resto del blocco
di codice (fino al successivo ;; cio alla fine del ciclo for).
In OCaml, le variabili sono solitamente immutabili: non possono essere
cambiate o riassegnate. Questo comportamento normale nella
programmazione funzionale. Limpossibilit di cambiare il valore delle
variabili permette di evitare tutta una classe di bug. Infine, set_color
e fill_circle sono altre due funzioni della libreria grafica Graphics,
che fanno quello che ci aspetta: impostare il colore e disegnare
un cerchio riempito con il colore appena selezionato. Provate
a utilizzare anche draw_circle per vedere cosa cambia. La funzione
read_line aspetta un input dallo standard input; in questo caso
inserita solo per fare in modo che il grafico resti aperto. Altrimenti
il programma terminerebbe e la finestra con il grafico sparirebbe
immediatamente. Per compilare questo codice, dovete includere
il riferimento alla libreria grafica:
ocamlc graphics.cma miografico.ml -o miografico
Compilate ed eseguite il programma; vedrete una serie di cerchi.
Invece di disegnare un cerchio predefinito interessante provare
a leggere qualche input da parte dellutente e disegnare un grafico.

open Graphics;;
print_endline Inserisci il valore a (intero) ;;
let a = int_of_string(read_line ());;
print_endline Inserisci il valore b (intero) ;;
let b = int_of_string(read_line ());;
open_graph 640x480;;
for x = 0 to 639 do
set_color red;
let y = (a * x) + b in
plot x y
done;;
read_line ();;
Inizialmente vengono chiesti allutente un paio di valori. Questa volta
la funzione read_line usata proprio per il suo scopo: leggere linput
dallo standard input. Dato che read_line() restituisce una stringa
e che OCaml non converte automaticamente le stringhe, dovete
pensare a eseguire la conversione a intero usando la funzione
int_of_string() (esistono anche altre funzioni di conversione tra i tipi
di base, come float_of_string(), string_of_int()). A questo punto
viene aperta la finestra grafica per disegnare i vari punti. Il ciclo for
viene eseguito per ognuno dei possibili valori di x (per una finestra
larga 640 pixel), e per ognuno imposta il colore, definisce y come
ax + b, e disegna il punto di coordinate (x,y). Siccome listruzione
let y allinterno del ciclo for, y esiste solo durante literazione di un
ciclo e pu essere definita alliterazione successiva senza il bisogno
di ricorrere alle variabili referenziate perch il valore di y non cambia
mai; si tratta di una nuova variabile. La successiva read_line() serve
solamente a mantenere aperta la finestra con il grafico.

Tip
Se volete provare
OCaml senza
installarlo, andate
su http://try.
ocamlpro.com.
Potrete scrivere
codice OCaml
direttamente
nel browser.

Cerchi. Provate a modificare il raggio al variare di i, per variare


un po il tipo di disegno (per es: let radius = i * 20 in)

Linux pro 142

LXP_142_82_85_LXF182_code_ocaml 83

83

26/05/14 17:35

OCaml

Tip

Definire una funzione

In OCaml
i commenti
cominciano
con (* e finiscono
con *). Possono
essere su pi
linee.

OCaml un linguaggio di programmazione funzionale; quindi come


si definisce una nuova funzione? Per far pratica utile provare
a riscrivere il codice del programma precedente di modo che utilizzi
le funzioni, e inoltre verranno usati e gestiti anche i numeri in virgola
mobile (che verranno introdotti meglio tra poco):
open Graphics;;
print_endline Inserisci il valore a ;;
let a = float_of_string(read_line());;
print_endline Inserisci il valore b ;;
let b = float_of_string(read_line());;
let draw_graph = fun() ->
for x = 0 to 639 do
set_color red;
let y = (a *. float_of_int(x)) +. b in
plot x (int_of_float(y))
done;
;;
open_graph 640x480;;
draw_graph();;
read_line();;
In questo esempio i parametri di ingresso hanno cambiato di tipo,
da interi (int) a numeri in virgola mobile (float). Quindi viene utilizzato
let per attribuire un nome a una funzione. La struttura funzione
parametri -> [corpo della funzione];; definisce una funzione.
In questo caso, non essendoci parametri, viene semplicemente scritto
(). Il corpo della funzione praticamente uguale a quello usato
nel caso precedente, con la sola eccezione che vengono utilizzati
i numeri float sia per linput che per il calcolo delle coordinate.
Tuttavia, siccome la funzione plot accetta come parametri solo degli
interi, necessario operare qualche conversione dei tipi numerici.
Per poter eseguire le operazioni in virgola mobile con gli input a e b
bisogna convertire a float x, usando la funzione float_of_int.
Si noti che x rimane comunque un intero, il valore in virgola mobile
temporaneo e usato solo durante il calcolo di y. Alla linea successiva
quindi possibile usare la variabile x come parametro della funzione
plot ma per il secondo parametro necessario creare
un valore intero a partire da quello in virgola mobile di y. Avrete
sicuramente notato che sono stati usati gli operatori *. e +. invece
di * e +. In OCaml, le operazioni aritmetiche (+ - * /) si applicano solo
agli interi e non possono essere usati su altri tipi. Se volete usare
le operazioni equivalenti su altri tipi di numeri (o altri tipi di oggetti)
dovete usare le +. -. *. /.. Per finire vengono invocate le funzioni.
Si pu fare in modo che draw_graph divenga un po pi di uso

Potete
sperimentare
disegnando una
linea pi spessa,
pixel per pixel
oppure usando
altre opzioni
disponibili nel
modulo Graphics

84

generale facendole gestire i parametri di input:


let draw_graph = fun a b ->
for x = 0 to 639 do
set_color red;
let y = (a *. float_of_int(x)) +. b in
plot x (int_of_float(y))
done;
;;
draw_graph a b;;
Per far ci sufficiente dichiarare i parametri dopo la parola chiave
fun. Si preoccuper OCaml di gestirne il tipo. Noterete che cos
facendo la funzione draw_graph sovrascrive le variabili globali a e b.
Anche se cos facendo non ci sono problemi e il programma funziona,
per avere un codice pi chiaro e pulito sarebbe meglio salvare linput
dellutente in variabili con un nome differente. Sarebbe utile fare
in modo che anche la gestione dellinput dellutente stia in una
funzione separata, ma per far ci bisogna utilizzare una vera variabile:
cio unarea di memoria che possa essere assegnata e modificata.
Fino a ora avete utilizzato solamente listruzione let per assegnare un
nome alle variabili. Nella pratica let non crea una variabile, ma si limita
ad assegnare unetichetta. Non potete riassegnare un valore al nome
dichiarato con let, quindi non si tratta per niente di una vera e propria
variabile. Allo scopo bisogna invece usare la parola chiave ref:
let input_a = ref 0.0
let input_b = ref 0.0
let get_user_input = fun() ->
(* Gestisce linput dellutente *)
print_endline;;
print_endline Inserisci il valore a ;;
input_a := float_of_string(read_line());
print_endline Inserisci il valore b ;;
input_b := float_of_string(read_line())
;;
get_user_input();;
open_graph 640x480;;
draw_graph !input_a !input_b;;
read_line();;
Anche in questo caso viene usata listruzione let per creare
le etichette (input_a e input_b). Tuttavia, usando ref 0.0, invece
di assegnare letichetta al valore, il nome viene assegnato
al riferimento. Ha pi o meno la stessa valenza del puntatore
nel linguaggio C; letichetta ora punta a qualunque cosa sia
memorizzata in una particolare locazione di memoria. Per riassegnare
un valore a un riferimento non basta usare = ma necessario
utilizzare loperatore :=. Il motivo consiste nel fatto che input_a
una locazione di memoria e lo scopo che si vuole ottenere
modificarne il contenuto. Inoltre, per estrarre il valore
di un riferimento (cio per dereferenziare unarea di memoria),
bisogna usare !input_a e !input_b. Ancora una volta, se avete mai
avuto a che fare con del codice C, oppure usato i puntatori in un
qualunque altro linguaggio, questo tipo di gestione vi risulter familiare.
Si noti infine che lultima linea di get_user_input non termina con
un punto-e-virgola, e che anche le due linee let iniziali non finiscono
con lo stesso ;;. Potete infatti tralasciare il punto-e-virgola sullultima
linea di una funzione o alla fine di una linea quando la successiva
comincia con let, open o type.

Linux pro 142

LXP_142_82_85_LXF182_code_ocaml 84

26/05/14 17:35

OCaml
Usare GTK
Invece di richiedere linput allutente tramite linterfaccia testuale, verr
ora introdotto luso della libreria GTK per generare uninterfaccia
grafica che gestisca le stesse informazioni. La libreria grafica GTK
di OCaml, lablgtk, piuttosto buona. Installatela con OPAM usando
il comando opam install lablgtk. Cominciate con il definire la finestra
in un nuovo file miografico2.ml.
open GMain
open GdkKeysyms
let gtkwindow () =
let window = GWindow.window ~width:320 ~height:240
~title:valori () in
let vbox = GPack.vbox ~packing:window#add () in
window#connect#destroy ~callback:Main.quit;
let entry_a_label = GMisc.label ~packing:vbox#pack () in entry_a_
label#set_text Inserisci il valore di a;
let entry_a = GEdit.entry ~max_length:10 ~packing:vbox#pack () in
entry_a#connect#activate ~callback:(get_value_a entry_a);
entry_a#connect#changed ~callback:(get_value_a entry_a);
let entry_b_label = GMisc.label ~packing:vbox#pack () in entry_b_
label#set_text Inserisci il valore di b;
let entry_b = GEdit.entry ~max_length:10 ~packing:vbox#pack () in
entry_b#connect#activate ~callback:(get_value_b entry_b);
entry_b#connect#changed ~callback:(get_value_b entry_b);
let button = GButton.button ~label: Disegna il grafico!
~packing:vbox#add () in button#connect#clicked ~callback:(Main.
quit);
window#show ();
Main.main ()
;;
gtkwindow ();;
open_graph 640x480;;
draw_graph !input_a !input_b;;
read_line ();;
Noterete che sono state introdotte due nuove notazioni: il carattere #
e il carattere ~. Con # in OCaml si gestisce la programmazione
orientata agli oggetti. entry#connect#activate un po come
chiamare in Java entry.connect().activate(). Partendo dalloggetto
entry, gli viene applicata la funzione connect a cui poi si applica
la funzione activate. E per quanto riguarda ~? Questo carattere
vi permette di referenziare per nome gli argomenti di una funzione.
Quindi nella seguente linea:
let window = GWindow.window ~width:320 ~height:240
~title:Valori ()
vengono passati gli argomenti width, height, e title al metodo
window nel modulo GWindow. Nominare gli argomenti in questo
modo utile perch non serve preoccuparsi dellordine in cui
vengono passati e inoltre rende il codice pi leggibile. Gi a una prima
lettura di queste linee di codice, avete sicuramente intuito quale fosse
lo scopo del programma, giusto? Allo stesso modo, la linea che segue
serve a passare largomento callback:
entry_a#connect#activate ~callback:(get_value_a entry_a);
In questo modo la funzione di callback verr associata alla funzione
(evento) activate. Nel codice sopra prima viene creata la finestra GTK
window quindi un box verticale vbox al suo interno; inoltre viene
aggiunta una callback alla finestra di modo che quando questa viene
distrutta, anche il ciclo Main di GTK venga terminato. Il ciclo Main
di GTK gestisce tutti gli aspetti del ciclo di vita di una finestra GTK.
Successivamente vengono create unetichetta, a cui viene impostato
il testo, e una casella di input testuale (GEdit), sia per linput a che per
linput b. inoltre presente un pulsante che permette di disegnare
il grafico. Sia le caselle di input che il pulsante sono fornite di callback,

perch proprio l che si svolge il lavoro vero. Alla fine del processo
viene mostrata la finestra e lanciato il ciclo Main di GTK per gestire
il tutto. Il valore di callback la funzione che viene chiamata quando
avviene un particolare evento. Quindi, per le caselle di testo, viene
impostata una callback allattivazione e una che gestisce la modifica.
Inoltre, changed viene usata anche per gestire il caso in cui lutente
clicchi al di fuori della casella senza premere Invio e quindi senza
scatenare levento activate. Per quanto riguarda il pulsante, viene
impostata la funzione Main.quit. Significa che il codice terminer
la funzione gtkwindow per passare alle istruzioni successive.
Quello che rimane da fare impostare le funzioni di callback.
let get_value_a entry () =
let text = entry#text in
input_a := float_of_string(text);
(* prerr_endline text *)
;;
Viene passato entry (la casella di testo) come parametro. Ricordatevi
che limpostazione della callback era come segue:
~callback:(get_value_a entry_a);
che quindi specifica la funzione da chiamare e i suoi eventuali
parametri. Con entry#text viene recuperato il valore della stringa
della casella di testo, che poi viene convertito in un float e assegnato
alla variabile globale input_a. La riga commentata stampa sullo
standard error; utile per il debug mentre sviluppate ma non proprio
in produzione. Dato che la funzione get_value_b identica (lunica
differenza assegnare il valore a input_b) possibile fare cos:
let gtkwindow () =
(* come prima *)
entry_a#connect#activate ~callback:(get_value input_a entry_a);
entry_a#connect#changed ~callback:(get_value input_a entry_a);
(* analoghi cambiamenti per entry_b; il resto rimane come prima *)
;;
let get_value value entry () =
let text = entry#text in
value := float_of_string(text);
;;
Dovrebbe risultare tutto autoesplicativo. Lunica cosa da rimarcare
che bisogna passare input_a come riferimento, cio senza usare
il carattere ! per dereferenziarlo. Il valore viene poi assegnato allinterno
della funzione get_value. Per compilare questo sorgente usate:
ocamlc -I +../lablgtk2 lablgtk.cma graphics.cma gtkInit.cmo -o
miografico miografico.ml
A questo punto eseguite e ammirate la nuova interfaccia. Ovviamente
questi non sono che gli aspetti base del linguaggio di programmazione
OCaml; c molto altro che vale la pena esplorare e imparare.
Dato che si tratta di un linguaggio funzionale OCaml fa uso delle
closure (funzioni che possono accedere a parte del contesto in cui
sono state definite), che sono un buon argomento da investigare.
C da dire che alcuni aspetti della documentazione di OCaml lasciano
un po a desiderare, tuttavia su http://ocaml.org esistono alcuni utili
tutorial da consultare. Buon divertimento! LXP

Tip
Un approccio
diverso rispetto
a quello descritto
nel tutorial
potrebbe essere
quello di creare
una struttura
che contenga
i valori degli input
testuali, quindi
scrivere un
metodo da usare
sulla callback del
pulsante, che
usi tale struttura
per compiere
gli opportuni
assegnamenti
alle variabili
globali input_a
e input_b.

Lultima
versione
del programma
provvista
di uninterfaccia
grafica GTK,
semplice
ma completa

Linux pro 142

LXP_142_82_85_LXF182_code_ocaml 85

85

26/05/14 17:35

HTML5

Il lettore come lo vuoi tu


Lo staff di Linux Pro vi mostrer come utilizzare le API di HTML5 per costruire
un player con uninterfaccia grafica che rimanga invariata in tutti i browser attuali

risaputo che lHTML5 permette di riprodurre file audio


e video direttamente nel browser senza la necessit
di utilizzare plug-in di terze parti, utilizzando gli elementi
<audio> e <video>. Ma dato che le specifiche non descrivono
laspetto che dovrebbero avere i comandi per gestire
la riproduzione, ogni produttore di browser ha disegnato la propria
interfaccia, il che ovviamente significa che ogni browser offre
unesperienza utente personale. Se volete offrire uninterfaccia
personalizzata per i vostri file multimediali, potete costruire il vostro
player custom, utilizzando una combinazione di HTML, CSS
e le API di HTML5.

Costruire il lettore multimediale


Per iniziare, tutto ci di cui avete bisogno di un editor HTML,
Gedit o Kate dovrebbero essere sufficienti per quasi tutti.
Se volete, potete sedervi e disegnare il player in anticipo,
ma dato che non siamo disegnatori, non lo faremo. Per prima
cosa, abbiamo bisogno di una semplice pagina HTML per contenere
il nostro player:
<!DOCTYPE html>
<html lang=it>
<head>
<meta charset=utf-8 />
<title>Media Player in HTML5</title>
<link href=media-player.css rel=stylesheet />
<script src=media-player.js></script>
</head>
<body>
<div id=media-player>
<video id=player-video controls>
<source src=pappagalli.mp4 type=video/mp4>
<source src=pappagalli.webm type=video/webm>
</video>

Il pulsante di stop interrompe la riproduzione e riporta il video allinizio

86

<div id=player-controlli></div>
</div> 
</body>
</html>
Come potete vedere abbiamo incluso un file CSS, che conterr
gli stili del nostro media player, e un file JavaScript, che includer
il codice per controllare il player. Durante larticolo non vedremo
il CSS contenuto nellapposito file ma potete scaricare lintera
demo allURL https://db.tt/DhIxirNn. Troviamo poi un elemento
di tipo video, in cui abbiamo definito due sorgenti: il nostro video
di test in formato MP4 e WebM. Abbiamo impostato anche
lattributo controls al nostro video (che abilita i controlli automatici
del browser), anche se vogliamo definire il nostro set personale
di controlli. meglio disattivare i controlli automatici via JavaScript
in modo che il tutto funzioni anche nel caso in cui lutente abbia
JavaScript disabilitato. Il div con id player-controlli andr
a contenere i nostri controlli. Per prima cosa dobbiamo inizializzare
il nostro player e lo faremo tramite JavaScript. Allinterno del nostro
file JavaScript andiamo a definire una funzione chiamata
inizializzaMediaPlayer() che dobbiamo chiamare quando
il documento viene caricato. Per fare ci aggiungiamo un listener
allevento DOMContentLoaded:
document.addEventListener(DOMContentLoaded, function() {
inizializzaMediaPlayer(); }, false);
In aggiunta, dobbiamo definire una variabile globale per gestire
il nostro media player:
var mediaPlayer;
La nostra funzione inizializzaMediaPlayer si limiter
semplicemente a ottenere loggetto del nostro MediaPlayer
e a nascondere i controlli:
function inizializzaMediaPlayer() {

mediaPlayer = document.getElementById(playervideo);

mediaPlayer.controls = false;
}
Nota: stiamo utilizzando lattributo booleano controls delle API
per nascondere il set di comandi di default del browser.
Ora vedremo come aggiungere i pulsanti, per cominciare il pulsante

I pulsanti + e - permettono di variare il volume di riproduzione

Linux pro 142

LXP_142_86_89_LXF183_code_HTML5 86

26/05/14 17:35

HTML5
Cosa ne pensano i browser
Una cosa che spesso mette in difficolt scoprire
quali tipi di file sono supportati da quali browser
e di conseguenza in quale formato bisogna
codificare i propri file audio e video perch
vengano riprodotti nativamente dallHTML5:
Video
Firefox: Theora e WebM
Chrome: Theora, MP4 e WebM
Opera: Theora e WebM
Safari: MP4
IE9+: MP4 e WebM (tramite plug-in)
Per assicurarvi che il vostro video sia visualizzabile
dal maggior numero possibile di visitatori quindi
dovreste offrire il formato MP4 accompagnato
da entrambi i formati aperti: Theora e WebM.

Audio
Firefox: Ogg Vorbis e WAV
Chrome: Ogg Vorbis, MP3, MP4 e AAC
Opera: Ogg Vorbis e WAV
Safari: MP3, AAC e MP4
IE9+: MP3, AAC e MP4
Per coprire tutti i nuovi browser quindi
sufficiente distribuire i file audio in Ogg Vorbis
ed MP3.
Codifica
Di solito si hanno a disposizione i propri file
multimediali in un solo formato e potrebbe essere
uno di quelli non supportati da alcun browser.
Quindi come possiamo convertirli? Esistono

moltissimi tool gratuiti in giro che rendono questo


lavoro estremamente semplice. Miro Video
Converter (www.mirovideoconverter.com)
uno dei migliori, ma potete utilizzare anche
dei servizi online come Online Converter
(www.online-convert.com) per convertire i file
direttamente online. Per finire, se il vostro file MP4
non inizia la riproduzione prima di aver completato
interamente il download, probabilmente le
informazioni del file (contenute allinterno del suo
indice) si trovano alla fine del file anzich allinizio,
e quindi il browser deve attendere di scaricare
tutto il file per poterle leggere e riprodurre il file;
potete risolvere questo problema utilizzando
QTIndexSwapper (http://bit.ly/MyvXwk).

di riproduzione che sicuramente il pi importante. Dato che molti


player utilizzano un pulsante solo per alternare le funzioni di play
e pausa anche noi faremo cos. Per definirlo, aggiungete:
<div id=player-controlli>
<button id=pulsante-play-pausa class=play title=play onclick
=togglePlayPausa();>Play</button>
</div>

Aggiungere i pulsanti
Questo codice crea un pulsante Play/Pausa con degli attributi.
Quando ci si clicca sopra viene invocata una funzione JavaScript
chiamata togglePlayPausa();. La classe CSS play definisce
laspetto del pulsante. Ovviamente questultimo non far molto
finch non definiremo la funzione togglePlayPausa() che
si occuper di impostare il pulsante alternativamente come play
e pausa. La funzione abbastanza semplice, vediamo come
si presenta per poi analizzarla:
function togglePlayPausa() {
var btn = document.getElementById(pulsante-play-pausa);
if (mediaPlayer.paused || mediaPlayer.ended) {
btn.title = pausa;
btn.innerHTML = pausa;
btn.className = pausa;
mediaPlayer.play();
} else {
btn.title = play;
btn.innerHTML = play;
btn.className = play;
mediaPlayer.pause();
}
}
Per prima cosa otteniamo un puntatore al nostro pulsante Play/
Pausa da utilizzare allinterno della funzione. Poi controlliamo
gli attributi paused ed ended del nostro media player per vedere
se il filmato in pausa oppure finito. Se cos, dobbiamo avviare
la riproduzione e modificare il pulsante in modo che serva per
mettere in pausa, perci cambiamo il suo titolo, il testo e la classe
CSS e infine chiamiamo il metodo play() del nostro media player.
Se il player non in pausa e non ha concluso lesecuzione
possiamo assumere che stia riproducendo il video, quindi
lo mettiamo in pausa e impostiamo il pulsante come play; in questo
caso chiamiamo il metodo pause() del player stesso. Siccome
vogliamo cambiare titolo, testo e classe di diversi pulsanti nel nostro
codice, definiamo una funzione che lo faccia per noi:

cambiaTipoPulsante(), che useremo da adesso in poi:


function cambiaTipoPulsante(btn, valore) {
btn.title = valore;
btn.innerHTML = valore;
btn.className = valore;
}
Ora vediamo di aggiungere un pulsante di Stop:
<button id=pulsante-stop class=stop title=stop
onclick=stopPlayer();>Stop</button>
Le API non offrono un metodo specifico per lo stop, perch non c
una vera differenza tra mettere in pausa e fermare un video o un
file audio. Per noi vogliamo che il pulsante di stop non solo termini
lesecuzione ma riporti il filmato allinizio, per questo la nostra
funzione stopPlayer() oltre che mettere in pausa lesecuzione,
andr anche a impostare a 0 lattributo currentTime e ripristinare
il pulsante di play, per riportare il file multimediale allinizio:
function stopPlayer() {
mediaPlayer.pause();
mediaPlayer.currentTime = 0;
cambiaTipoPulsante(document.getElementById(pulsante-playpausa),play);
}
Aggiungiamo due pulsanti separati per aumentare e diminuire
il volume:
<button id=pulsante-volume-piu class=volume-piu
title=Aumenta volume onclick=cambiaVolume(+);>Aumenta
volume</button>

Il nostro lettore
con la barra di
avanzamento,
il pulsante per
tornare allinizio
e per togliere
il volume

Linux pro 142

LXP_142_86_89_LXF183_code_HTML5 87

87

26/05/14 17:35

HTML5
<button id=pulsante-volume-meno class=volume-meno
title=Diminuisci volume
onclick=cambiaVolume(-);>Diminuisci volume</button>
Quando un pulsante viene cliccato chiamiamo la funzione
cambiaVolume() con un parametro che indica la direzione
(utilizziamo i segni pi e meno):
function cambiaVolume(direzione) {
if (direzione === +) mediaPlayer.volume += mediaPlayer.
volume == 1 ? 0 : 0.1;
else mediaPlayer.volume -= (mediaPlayer.volume == 0 ? 0 :
0.1);
mediaPlayer.volume = parseFloat(mediaPlayer.volume).
toFixed(1);
}
Questa funzione testa il parametro e modifica il valore dellattributo
volume del player. Lattributo ha un range che va da 0 a 1
e gli incrementi e decrementi sono fatti a passi di 0.1, controlliamo
anche di non superare il minimo o il massimo. Utilizziamo
parseFloat() e toFixed() per impostare il valore. Ora, vediamo
di aggiungere un pulsante di Muto:
<button id=pulsante-muto class=muto title=muto 
onclick=toggleMuto();>Muto</button>
E ovviamente una funzione toggleMuto():
function toggleMuto() {
var btn = document.getElementById(pulsante-muto);
if (mediaPlayer.muted) {
cambiaTipoPulsante(btn, muto);

mediaPlayer.muted = false;
} else {
cambiaTipoPulsante(btn, toglimuto);

mediaPlayer.muted = true;
}
}
Questa funzione assomiglia a togglePlayPausa() perch anchessa
controlla un attributo del player, in questo caso muted.
Se impostato, il pulsante diventa un pulsante di muto e al player
viene ripristinato laudio, altrimenti, il pulsante diventa un pulsante
che toglie il muto e il player viene zittito. Per finire aggiungiamo
un pulsante per far ripartire lesecuzione dallinizio. Mettiamo questo
pulsante come primo della lista nella nostra barra di controllo:
<button id=pulsante-ricomincia class=ricomincia
title=ricomincia

onclick=ricominciaEsecuzione();>Ricomincia</button>
Il JavaScript per ricominciaEsecuzione() molto semplice:
function ricominciaEsecuzione() {
resettaPlayer();
mediaPlayer.play();
}
Tutto ci che dobbiamo fare resettare il player. La funzione
resettaPlayer() fatta cos:
function resettaPlayer() {
mediaPlayer.currentTime = 0;
cambiaTipoPulsante(document.getElementById(pulsante-playpausa),pausa);
}
Questa funzione resetta la posizione del Player utilizzando lattributo
currentTime e reimposta il pulsante di Play/Pausa avvisandolo che
lesecuzione iniziata. I player multimediali di solito hanno anche
una barra di avanzamento che indica quale percentuale di video
abbiamo visto. Per fare ci andremo a sfruttare le barre
di avanzamento dellHTML5 che sono supportate in tutte le versioni
pi recenti dei browser e quindi utilizzabili senza remore.

88

<progress id=barra-avanzamento min=0 max=100


value=0>0% eseguito</progress>
Per tenere traccia del video mentre viene eseguito e aggiornare
la barra di progresso, dobbiamo utilizzare levento timeupdate,
che viene invocato quando il file multimediale in esecuzione.
Ogni volta che questo evento viene chiamato, possiamo
aggiornare la nostra barra di avanzamento. Quindi allinterno
della funzione inizializzaMediaPlayer() dobbiamo aspettare
e lavorare su questo evento:
mediaPlayer.addEventListener(timeupdate,
aggiornaBarraAvanzamento, false);
Ora, quando levento timeupdate viene invocato, sar richiamata
la funzione aggiornaBarraAvanzamento(), che definiamo
come segue:
function aggiornaBarraAvanzamento() {
var barra = document.getElementById(barra-avanzamento);
var percentuale = Math.floor((100 / mediaPlayer.duration) *
mediaPlayer.currentTime); *
barra.value = percentuale;
barra.innerHTML = percentuale + % eseguito;
}
In questo modo la nostra barra di avanzamento ci mostrer
che percentuale del video abbiamo visto. Calcoliamo la percentuale
utilizzando lattributo currentTime che ci dice in che momento
siamo e duration che ci dice lintera durata del file, dopo di che
impostiamo il valore della nostra barra alla percentuale calcolata.
Aggiorniamo anche lHTML al suo interno nel caso in cui il browser
non dovesse supportare le barre di avanzamento. Non necessario
andare a modificare le nostre funzioni resettaPlayer()
e stopPlayer() perch il browser si occupa da solo di invocare
la nostra funzione aggiornaBarraAvanzamento() con il valore 0.

Gestire i controlli di default


Anche se abbiamo disabilitato i comandi di default del
browser, gli utenti possono comunque continuare a utilizzarli:
in Firefox per esempio sufficiente cliccare con il tasto destro
sul media player. Se un utente controlla il file in questo modo
alcuni dei nostri pulsanti perderanno di coerenza. Possiamo
sanare questo piccolo problema ponendoci in ascolto dei vari
eventi che vengono chiamati dal browser quando un utente
interagisce col media player. Per i pulsanti Play e Pausa, tutto
ci che dobbiamo fare ascoltare gli eventi play e pause
e modificare il testo del pulsante:
mediaPlayer.addEventListener(play, function() {
var btn = document.getElementById(pulsante-playpausa);
cambiaTipoPulsante(btn, pausa);

}, false);
mediaPlayer.addEventListener(pause, function() {
var btn = document.getElementById(pulsante-playpausa);
cambiaTipoPulsante(btn, play);

}, false);
In modo simile per il pulsante di Muto, dobbiamo monitorare
levento volumechange, che viene invocato sia quando
il player viene impostato a muto sia quando cambia il volume,
e in base a questo impostare il pulsante Muto:
mediaPlayer.addEventListener(volumechange, function(e) {
var btn = document.getElementById(pulsante-muto);
if (mediaPlayer.muted) cambiaTipoPulsante(btn,
toglimuto); 
else cambiaTipoPulsante(btn, muto);


Linux pro 142

LXP_142_86_89_LXF183_code_HTML5 88

26/05/14 17:35

HTML5
Altri lettori multimediali
Esistono moltissimi lettori multimediali gi pronti
che potete utilizzare. Questi player utilizzano
le API di HTML5 e offrono uninterfaccia grafica
personalizzata che rimane uguale in tutti
i browser. In pi, alcuni di essi visualizzano
i contenuti in Flash nei browser che non

supportano lHTML5 o il formato offerto. Alcuni


di essi supportano anche i sottotitoli nel formato
WebVTT (Web Video Text Tracks).
Ecco alcuni ottimi esempi:
MediaElement.js www.mediaelementjs.
com

jPlayer www.jplayer.org
Playr www.delphiki.com/html5/playr
Video.js www.videojs.com.
Potete trovare una tabella comparativa
delle funzionalit dei vari player allindirizzo
http://praegnanz.de/html5video

Il lettore finito,
completo della
playlist dei video
disponibili

}, false);
Ora i nostri controlli personalizzati resteranno sincronizzati
anche se un utente decide di utilizzare quelli di default
del proprio browser.

Implementare una playlist


Per concludere il nostro media player vediamo come
aggiungere una playlist. Per prima cosa, abbiamo bisogno
di un elenco di oggetti che vogliamo aggiungere alla nostra
playlist:
<div id=player-play-list>
<h2>Play list</h2>
<ul id=play-list>
<li>
<span class=link-video onclick=caricaVideo(pappa
galli.webm, pappagalli.mp4);>Pappagallini</span>
</li>
<li>
<span class=link-video onclick=caricaVideo(ruotapiroscafo.webm, ruota-piroscafo.mp4);>Ruota di un
piroscafo</span>
</li>
<li>
<span class=link-video onclick=caricaVideo(erba.
webm, erba.mp4);>Erba al vento</span>
</li>
</ul>
</div>
Come per il video che abbiamo definito allinizio anche
per gli altri definiamo sia il formato MP4 che quello WebM.
Quando un utente clicca su di un elemento, questi dati
vengono passati alla funzione caricaVideo(), che ovviamente
dobbiamo definire:
function caricaVideo() {
for (var i = 0; i < arguments.length; i++) {
var file = arguments[i].split(.);
var estensione = file[file.length - 1];
if (possoEseguireVideo(estensione)) {
mediaPlayer.src = arguments[i];
mediaPlayer.load();
resettaPlayer();
break;
}
}
}
Per prima cosa, andiamo a controllare quali argomenti
ci sono arrivati (potremmo aver impostato soltanto una
sorgente video, oppure anche pi di due). Per ogni file video,
recuperiamo lestensione perch dobbiamo controllare
che il browser sia in grado di riprodurre quel tipo di file,
quindi definiamo una nuova funzione possoEseguireVideo(),

che fa proprio quello:


function possoEseguireVideo(estensione) {
var eseguibile = mediaPlayer.canPlayType(video/ +
estensione);
if (eseguibile == ) return false;
else return true;
}
Questa funzione chiama semplicemente il metodo
canPlayType() delle API; se il risultato una stringa vuota
assumiamo che il browser non sia in grado di riprodurre
quel file; altrimenti ipotizziamo che lo sia. Se la funzione
possoEseguireVideo() ci dice che quel file video pu essere
eseguito, carichiamo il nuovo file nel player cambiando il suo
src e chiamiamo il metodo load() del player stesso; dopo
di che provvediamo a resettare la nostra interfaccia
chiamando la funzione resettaPlayer(). Ora il nuovo video
pronto per essere riprodotto. Vi ricordiamo che lintera
demo disponibile online se volete scaricarla fate riferimento
al link indicato prima. Questo tutorial sulle funzionalit
multimediali dellHTML5 copre soltanto le basi di ci che
potete fare utilizzando le potentissime API. Potete fare
moltissime altre cose oltre a creare un set custom di controlli
per il media player dellHTML5. Noi ci siamo concentrati sui
video ma il codice qui proposto pu essere facilmente
adattato a supportare file audio al posto o insieme ai file
video. Avremmo potuto anche aggiungere controlli pi
avanzati, come visualizzare il tempo di riproduzione, pulsanti
per muoversi avanti o indietro nel video o la possibilit di
cliccare sulla barra di avanzamento per saltare a un certo
punto del video. Queste API offrono moltissime funzionalit
e opportunit, quindi perch non visitare la documentazione
online (http://www.w3.org/TR/html5/) per vedere cosa
potete aggiungere al vostro nuovo player multimediale? LXP
Linux pro 142

LXP_142_86_89_LXF183_code_HTML5 89

89

26/05/14 17:35

JavaScript

Migliorare i processi JS
Lo staff di Linux Pro vi mostrer come Grunt possa semplificare le attivit
quotidiane di sviluppo e automatizzare i lavori ripetitivi

l lavoro quotidiano degli sviluppatori Web rimasto


praticamente invariato nel corso degli anni: si gestiscono
manualmentei processi, si scrive il codice e poi lo si testa
sul browser. Esistono dei tool per controllare la qualit
del codice e semplificare certe operazioni, ma devono essere
eseguiti manualmente e, di conseguenza, tendono a finire
nel dimenticatoio. I programmatori, comunque, sono abituati
a seguire un processo di costruzione di qualche tipo quando
vogliono rilasciare del codice. Dopo aver compilato il proprio
codice per ottenere loutput, tipicamente controllano le sue
performance con qualche benchmark, eseguono dei test
su ogni funzione sviluppata ed eseguono altri processi
automatizzati necessari per il rilascio. Non tutti hanno
un trascorso da programmatore e per alcuni di voi lo sviluppo
Web potrebbe essere solo un passatempo, ma andremo
a mostrarvi come semplificare il vostro lavoro e migliorare
la qualit del vostro codice applicando questo principio
al vostro lavoro utilizzando Grunt (http://gruntjs.com/),
un task runner JavaScript. Questo programma utile per tutti
quegli sviluppatori che vogliono automatizzare dei task sul
proprio codice, per esempio un controllo sui file JavaScript
per cercare errori di sintassi o codice inefficiente, test di
robustezza delle proprie funzioni (guardate il box Grunt Unit
Test per approfondimenti) la minificazione (cio la rimozione
di tutti i caratteri non necessari dal vostro codice), la
compilazione Sass dei CSS o operazioni di integrazione con
altri sistemi. Se state lavorando in un team, potete salvare
la vostra configurazione del progetto Grunt con il resto del
codice, permettendo a tutti di condividere lo stesso insieme
di task. In effetti, questa applicazione utilizzata da molte
compagnie e team di sviluppo in giro per il mondo, inclusi
Adobe, Twitter e jQuery. Per iniziare a utilizzarla dobbiamo
installare la sua unica dipendenza, Node.js (http://nodejs.
org). Node una piattaforma per eseguire applicazioni
JavaScript su un server o da riga di comando, dato che,
come avrete immaginato, questo strumento interamente
in JavaScript. I pacchetti per Node vengono installati tramite

Esistono moltissime risorse che possono aiutarvi a muovere i primi passi


con Grunt, una di queste sicuramente il sito ufficiale (http://gruntjs.com)

90

il tool da riga di comando Node Package Manager (NPM)


(https://npmjs.org). Grunt uno di questi pacchetti, come
lo sono i suoi task. Prima di iniziare a utilizzarlo dovete
installare la sua interfaccia da riga di comando, che d
accesso al tool di Grunt dallintero sistema. Aprite
un terminale; dovete installare prima NPM e poi la CLI
di Grunt, eseguendo questi comandi:
sudo apt-get install npm
sudo npm install -g grunt-cli

Aggiungere Grunt al progetto


Immaginiamo di avere un piccolo progetto su cui stiamo
lavorando e che contiene un file HTML, unimmagine, un file
JavaScript e un file CSS, organizzati in una cartella strutturata
come potete vedere qui sotto. Il contenuto di questi file
irrilevante ai fini del tutorial:
index.html
img/logo.png
js/mio-progetto.js
css/mio-progetto.css
Per abilitare lo strumento allesecuzione su questo progetto,
dobbiamo creare due file nella cartella principale: un file
pacchetto di Node e uno di configurazione di Grunt. Un file
di Node un file di testo contenente le propriet del progetto
insieme alla lista di pacchetti node richiesti dal progetto stesso
(nel nostro caso uno di questi sar Grunt), il tutto in formato
JSON. Questo file deve assolutamente chiamarsi package.
json e avere le propriet impostate come da specifiche npm
(https://npmjs.org/doc/json.html), il che significa che
il progetto associato pu essere installato insieme alle
sue dipendenze in modo simile agli altri pacchetti Node.
Ora, creiamo un nuovo file di testo allinterno della root
del progetto, chiamato package.json e impostiamo
le seguenti propriet in formato JSON. Se state utilizzando
un sistema di controllo dei sorgenti, come GitHub, assicuratevi
di fare il commit di questo file dato che servir a tutti gli
sviluppatori che stanno lavorando al vostro progetto.
title: Mio progetto,

name: mio-progetto,

Lapplicazione Node.js scritta utilizzando lengine JavaScript


V8 di Google (https://code.google.com/p/v8/)

Linux pro 142

LXP_142_90_93_LXF183_code_java 90

26/05/14 17:35

JavaScript
Grunt Unit Test
Noi incoraggiamo sempre gli sviluppatori nel
nostro team a scrivere degli unit test per il loro
codice JavaScript. In sostanza una serie di piccole
funzioni che chiamano le funzioni principali
del codice JavaScript originale con input diversi
e testano se loutput corrisponde a quello previsto.
La teoria che, se viene fatta una modifica alla
funzione originale, questi test possono isolare
quella funzione e assicurarsi che il resto del
codice che si basa su di essa non subisca
ripercussioni. Se il test trova un errore, la funzione
originale dovrebbe essere modificata affinch
lo superi. Il nostro framework di unit testing
preferito in JavaScript si chiama Jasmine
(http://jasmine.github.io) perch il formato

in cui sono scritti i test molto semplice da


leggere, sono raggruppati logicamente, e non
richiedono altre librerie per funzionare. Come
immaginerete, c un plug-in di Grunt (http://bit.
ly/1eKW66O) per eseguire i test di Jasmine
come task, semplice da usare e potente. Nella
configurazione gli dite il posto in cui si trovano
i file JavaScript da testare e il file che contiene
gli unit test che avete preparato, e lui li esegue,
fermando lesecuzione di Grunt se anche un solo
test dovesse fallire. Questo vi aiuta a essere certi
che il codice sia testato e corretto prima di
effettuare il commit sul repository. I test sono
eseguiti in PhantomJS (http://phantomjs.org),
che conosciuto come headless browser (browser


version: 0.1.0
}
In questo modo assegniamo un titolo facilmente leggibile
per questo pacchetto Node, un nome interno per la macchina
e un numero di versione in accordo con la semantica ufficiale
(http://semver.org). Queste ultime due propriet sono
necessarie per un pacchetto Node quindi assicuratevi
di non dimenticarle. Quello che manca ora di specificare
quali dipendenze sono richieste dal nostro progetto.
La pi importante di queste per noi Grunt. Il modo
pi semplice per definire una dipendenza e scaricarla
allo stesso tempo di eseguire quanto segue nella riga
di comando allinterno della directory del vostro progetto,
sostituendo <pacchetto> con il nome della dipendenza.
Lopzione --save-dev indica che il pacchetto deve
essere aggiornato cos come che la dipendenza deve
essere installata in locale.
npm install <pacchetto> --save-dev
Vogliamo definire Grunt come dipendenza per il nostro piccolo
progetto quindi facciamolo eseguendo il comando qui sotto:
npm install grunt --save-dev
Verranno scaricati molti file che andranno a finire in una
nuova cartella chiamata node_modules allinterno di quella
del vostro progetto. Se aprite ora il file del vostro pacchetto
vedrete che in automatico stato aggiunto un pezzo alla
struttura JSON.
devDependencies: {
grunt: ~0.4.4
}
Questo specifica un numero di versione per Grunt nel file
del progetto, quindi potete utilizzare diverse versioni dello
strumento di build per diversi progetti. Ora abbiamo creato
il nostro file del pacchetto, se avete un nuovo sviluppatore
da inserire nel vostro progetto, chiedetegli di scaricare Node
e Grunt CLI cos come la directory del progetto nella propria
macchina. Poi, dite al nuovo sviluppatore di andare nella
cartella del progetto da riga di comando ed eseguire
npm install
Node scaricher in automatico tutte le dipendenze nella
versione specificata nel file di pacchetto e le metter
allinterno della cartella node_modules. Semplicissimo!
Un piccolo avviso: evitate di fare il commit di questa cartella;
lasciate che ogni sviluppatore si scarichi i file in locale nella
propria macchina utilizzando npm e il file di pacchetto.

senza testa). Il suo nome deriva dal fatto che


esegue le stesse cose che vengono eseguite
da un browser ma da riga di comando e non ha
uninterfaccia visibile dagli utenti. Questo permette
agli unit test JavaScript di essere eseguiti allinterno
di unambiente DOM simulato senza alcun output
visibile. Loutput viene inviato a Jasmine, che
determina i risultati. Il plug-in Jasmin supporta
ulteriori plug-in, che aumentano le sue funzionalit.
Il nostro favorito Istanbul (http://bit.
ly/1eKVKwZ), che produce un report dettagliando
anche quale percentuale del vostro codice stata
eseguita durante questi test. bello vedere questo
numero arrivare a 100% con la consapevolezza
che tutto il nostro codice stato testato.

Installare JSHint
Tutti i task di Grunt sono dei pacchetti Node, proprio come
il software stesso, quindi dobbiamo specificare ogni task come
una dipendenza per renderla disponibile nel nostro progetto.
Assumiamo di voler utilizzare JSHint (www.jshint.com)
per fare delle analisi sul JavaScript del nostro progetto,
controllando possibili errori e inserendo delle convenzioni
di sviluppo allinterno dei nostri file JavaScript per tutti
gli sviluppatori che ci stanno lavorando. Questo un lavoro
perfetto per Grunt, e un task chiamato grunt-contrib-jshint
esiste come pacchetto Node, pronto per essere utilizzato
da noi. Un piccolo trucco: se cercate in Internet Grunt JSHint
troverete questo task con una semplicit maggiore di quella
che potete ottenere cercando nei registri di npm stesso.
Installare questo task e aggiungerlo come dipendenza
al vostro file di pacchetto tanto semplice quanto eseguire
questo comando:
npm install grunt-contrib-jshint --save-dev
I file di questo pacchetto verranno scaricati e noi siamo pronti
per passare alla configurazione. Con il nostro file di pacchetto
pronto, vediamo come creare il secondo dei due file che ci
servono perch i nostri task funzionino con il nostro progetto:
il file di configurazione di Grunt. Create un nuovo file nella
directory del vostro progetto e chiamatelo GruntFile.js.
Questo il nome specifico del file JavaScript che Grunt cerca
per sapere quali task deve eseguire e come. Il file
di configurazione ha la stessa struttura di base per tutti

NPM offre oltre


68.000 moduli
che potete
utilizzare
con Node.js

Linux pro 142

LXP_142_90_93_LXF183_code_java 91

91

26/05/14 17:36

JavaScript
i progetti. Aggiungete la funzione qui di seguito al vostro nuovo
file, che conterr tutte le impostazioni dei task di Grunt.
module.exports = function(grunt) {
// Configurazione
// Plug-ins
// Task
};
Come potete vedere dalla sintassi della dichiarazione della
funzione module.exports questo file in formato CommonJS
(http://wiki.commonjs.org/wiki/Modules), adottato da Node.
Non preoccupatevi troppo di questo. Come potete vedere
alla funzione viene passato un argomento Grunt, che un
oggetto che rappresenta le API Grunt (http://gruntjs.com/api/
grunt) e che contiene i metodi e le propriet per lavorare
con esso allinterno delle tre sezioni presenti nel resto del file:
la configurazione, i plug-in e i task.

Creare il file di configurazione


Saltiamo la parte di configurazione per il momento e passiamo
a quella dei plug-in. Qui dove dobbiamo registrare i task
che abbiamo aggiunto prima come dipendenze nel nostro file
di pacchetto per renderle disponibili in Grunt. La riga di codice
che segue va aggiunta alla sezione plug-in e dice alle API
di registrare il task JSHint.
grunt.loadNpmTasks(grunt-contrib-jshint);
Secondo la documentazione di JSHint, il plug-in registra
un task dentro a Grunt utilizzando come nome interno jshint.
Questo il nome che utilizzeremo nel nostro file per riferirci
a esso. Continuando a procedere, la sezione task permette
di raggruppare diversi task in un unico lavoro personalizzato,
che permette di eseguire tutto ci che vogliamo con ununica
esecuzione di Grunt. Per registrare un task personale chiamato
default, che lancia il task JShint, aggiungiamo la seguente
chiamata alle API allinterno della sezione task del nostro file.
Per aggiungere altri task in seguito ci baster aggiungere il loro
nome allarray.
grunt.registerTask(default, [jshint]);
Torniamo indietro nel file, la sezione di configurazione rappresenta
linsieme delle impostazioni per personalizzare i vari task e la loro
esecuzione allinterno del nostro progetto. Aggiungiamo
il seguente codice alla sezione di configurazione del file,
che configura JSHint utilizzando una chiamata alle API di Grunt.

grunt.initConfig({

pkg: grunt.file.readJSON(package.json),

jshint: {

options: {
strict: true
},

all: [GruntFile.js,js/<%= pkg.name
%>.js]
}
});
Iniziamo la configurazione definendo una property chiamata
pkg nella quale carichiamo le propriet dal file di pacchetto
come oggetto JavaScript. Questo ci d accesso al nome
del progetto, al numero di versione e a tutte le altre propriet
senza dover duplicare queste informazioni in entrambi i file.
Aggiungiamo poi la configurazione per il task JSHint con una
property chiamata come il nome interno del task. La prima
parte della configurazione serve per impostare le opzioni
interne di JSHint. In questo caso sovrascriviamo lopzione
strict di JSHint, imponendo a tutte le funzioni di controllo
di aderire al modo strict ECMAScript 5 (http://mzl.
la/1c0roHf). La propriet rimasta, all, specifica lobiettivo
del task (i file su cui verr eseguito JSHint). Scegliamo
di controllare due file quando il task viene eseguito: il file
di configurazione stesso e un altro file il cui nome viene
generato in tempo reale utilizzando il codice compreso
tra <%= e %>. Questo codice utilizza il nome del progetto
dal file di pacchetto, che abbiamo salvato in pkg per generare
dinamicamente il nome del file mio-progetto.js. Tutti i task
di Grunt possono essere costruiti come multi-task, il che
significa che possono avere diverse configurazioni, conosciute
come bersagli, per essere utilizzati in circostanze diverse
su file differenti. Questo aumenta molto la flessibilit,
e significa, per esempio, che potete avere regole diverse
di sviluppo nella vostra macchina e applicare quelle
del gruppo di lavoro soltanto quando caricate il codice
sul server di produzione. Nel nostro bersaglio elenchiamo
due file sui quali JSHint va eseguito utilizzando le opzioni
specificate. Possiamo sostituirli con un oggetto contenente
lelenco dei file insieme a un set di opzioni per JSHint
che sovrascrive il set iniziale. A seconda di ci che desiderate
fare, potete aggiungere un bersaglio successivo con un set

Qualcuno ci guarda
Una volta che sarete diventati degli affezionati
di Grunt e avrete ottimizzato il vostro workflow
di produzione alla perfezione, vi ritroverete
a cercare altri modi per ottimizzare i vostri
tempi. Il tempo che impiegate per salvare
il codice, aprire il prompt per eseguire Grunt
e poi tornare alleditor una volta che ha finito
potrebbe sembrare uneternit. In questo
caso date unocchiata al plug-in grunt-contribwatch (http://bit-ly/1pU2BZ8) e al suo
task watch. Questo plug-in permette di eseguire
altri task ogni volta che uno specifico file,
o un file appartenente a un gruppo, viene
aggiunto, modificato o cancellato. Per esempio,
immaginiamo di avere una cartella piena di file
JavaScript e di volere eseguire JSHint su di loro
ogni volta che ne viene salvato uno, invece

92

di tornare al prompt per lanciare Grunt ogni


volta. Installiamo il plug-in come al solito
e configuriamolo in questo modo:
grunt.initConfig({
watch: {

files: [js/*.js],

tasks: [jshint]
}
});
Ora, eseguendo Grunt, questo tool eseguir
il task watch, che rester in attesa e monitorer
i cambiamenti dei file JavaScript. Non appena
viene eseguita una modifica, o un file viene
aggiunto, dir a JSHint di eseguirsi.
La configurazione pu diventare anche
molto pi avanzata, con set differenti di task
per i diversi tipi di file. Per esempio, un task

Smush.it (www.smushit.com) potrebbe essere


avviato quando viene cambiato un file allinterno
di una directory che contiene immagini. Il tool
Smush.it elimina tutti i dati non necessari
da ogni immagine per assicurarci che siano
ottimizzati per la pubblicazione su Web. Oppure
dei file Sass potrebbero essere compilati come
CSS quando un file con estensione SCSS viene
modificato. Il task watch si integra anche
con LiveReload (http://livereload.com)
per semplificare ulteriormente il vostro workflow
di sviluppo. Mentre il task watch osserva
i cambiamenti ed esegue altri task, pu dire
a LiveReload di ricaricare la pagina associata
a quel codice nel vostro browser. Tutto
da solo, lunica cosa che dovete fare voi
premere Salva!

Linux pro 142

LXP_142_90_93_LXF183_code_java 92

26/05/14 17:36

JavaScript
di opzioni diverso, che pu essere eseguito sugli stessi file
o su altri. La flessibilit offerta dallautomazione dei task
e dalla possibilit di utilizzare bersagli multipli ci che rende
effettivamente Grunt cos potente.

Il primo avvio
Ora che abbiamo configurato lo strumento in modo
da eseguire JSHint su due file JavaScript, dobbiamo dirgli
di lanciare il task personalizzato che abbiamo chiamato default.
Dalla riga di comando, digitate quanto segue allinterno della
cartella del vostro progetto:
grunt default
In realt il nome del nostro task non proprio casuale,
quello che utilizza Grunt per il task predefinito, quindi
possiamo eseguire lo stesso comando senza bisogno
di specificare il nome del task
grunt
Grunt esegue JSHint sul file di configurazione e sul file
JavaScript del progetto e mostra i risultati nel modo seguente:
Running jshint:all (jshint) task
GruntFile.js
3 | grunt.initConfig({
^ Missing use strict statement.
>> 1 error in 2 files
Warning: Task jshint:all failed. Use --force to continue.

Aborted due to warnings.


Grunt esegue JSHint prima sul file di configurazione e, siccome
quel file non risponde ai requisiti imposti, blocca lesecuzione
in quel punto, ignorando i successivi file o task. La riga
e il punto esatto che ha causato il problema scritto
nelloutput e ci permette di sapere esattamente cosa dobbiamo
fare per risolvere il problema. Ora, modifichiamo il file
di configurazione e aggiungiamo la seguente riga in testa
alla funzione (subito prima di // Configurazione), impostando
lo strict mode ECMAScript 5
use strict;
Eseguiamo nuovamente Grunt e questa volta loutput sar:
Running jshint:all (jshint) task
>> 2 files lint free.
Done, without errors.
In un colpo solo possiamo assicurarci che tutti i nostri file
JavaScript, anche in un progetto grandissimo, seguano
le stesse regole, migliorando la qualit e la manutenibilit
del codice. Essenzialmente abbiamo messo le basi per un tool
di produzione che, con qualche altra piccola configurazione
e task, potrebbe rifiutarsi di farci fare il commit del nostro
codice finch non conforme alle regole imposte dal team.
Questi controlli possono essere automatizzati per essere
eseguiti automaticamente durante il processo di produzione,
assicurandovi che soltanto il codice che risponde ai vostri
requisiti di qualit venga caricato nel vostro sito o nella vostra
app. Il grosso del lavoro stato fatto, ora aggiungere dei task
extra relativamente semplice. Per provare ci, vediamo
di aggiungere un paio di task a Grunt: uno per minificare
i file JavaScript nel progetto utilizzando il plug-in gruntcontrib-uglify (https://github.com/gruntjs/grunt-contribuglify), e un altro task per togliere i byte inutili dalle immagini

PNG e JPG utilizzando il servizio Yahoo! Smush.it


(http://ypoWeb-01.experf.bf1.yahoo.com/ysmush.it/)
e il plug-in grunt-smushit (https://github.com/heldr/gruntsmushit). Scarichiamoli e salviamoli come dipendenze
nel nostro progetto:
npm install grunt-contrib-uglify --save-dev
npm install grunt-smushit --save-dev
Registriamo i task, i cui nomi nomi interni saranno,
rispettivamente, uglify e smushit inserendo quanto
segue nel file di configurazione.
grunt.loadNpmTasks(grunt-contrib-uglify);
grunt.loadNpmTasks(grunt-smushit);
Aggiungiamo i task alla lista del nostro task custom.
grunt.registerTask(default,[jshint, uglify, smushit]);
Per finire, inseriamo anche le impostazioni del task allinterno
della configurazione nello stesso file. Dobbiamo dire a Uglify
che vogliamo ci produca un nuovo file JavaScript chiamato
mio-progetto.min.js e a Smush.it dobbiamo specificare
la directory che contiene le immagini da comprimere. 
uglify: {

all: {

files: {

js/<%= pkg.name %>.min.js:
js/<%= pkg.name %>.js
}
}
},
smushit: {

path: {

src: img/
}
} 
Ecco fatto! Se ora eseguiamo nuovamente Grunt verificher
che il nostro JavaScript sia scritto correttamente, ne produrr
una versione minificata (che possiamo utilizzare al posto
delloriginale), ed effettuer anche una compressione delle
immagini eliminando i byte inutili al loro interno. Grunt
un ottimo tool per lavorare con progetti basati su tecnologie
Web. Speriamo che siate riusciti a cogliere le motivazioni
per cui moltissime aziende e team di sviluppo lo utilizzano
quotidianamente nel loro workflow di processo, risparmiando
tempo e con la sicurezza di produrre sempre il miglior codice
possibile per offrire ai loro utenti unesperienza superiore.
Vi invitiamo caldamente ad approfondire largomento,
ci vi permetter di capire in che modo automatizzare
i lavori ripetitivi e come migliorare la qualit del codice
che producete, per voi stessi e per il vostro team. Grazie
a Grunt e alla sua vasta libreria di task. Buona fortuna! LXP

Il plug-in gruntcontrib-jshint
aggiunge un task
per eseguire JSHint
sui file JS

Linux pro 142

LXP_142_90_93_LXF183_code_java 93

93

26/05/14 17:36

Leco dei LUG

Leco dei LUG


I Lug
I LUG
rappresentano
da sempre il punto
di riferimento per
chiunque voglia
conoscere GNU/
Linux. Ogni mese
dedicheremo loro
questo spazio per
la comunicazione
di nuovi progetti
e appuntamenti.
Se hai qualcosa
da segnalarci scrivi
a ecodeilug@
linuxpro.it

abruzzo
AnxaLUG - Lanciano
www.anxalug.org
Il Pinguino - Teramo
Non disponibile
MarsicaLUG - Marsica
www.marsicalug.it
OpenLUG - LAquila
Non disponibile
Pescara LUG
www.pescaralug.org
Pineto LUG
www.pinetolug.org
Pollinux LUG - Pollutri
Non disponibile
SSVLUG - San Salvo, Vasto, Termoli
www.ssvlug.org
SulmonaLUG
http://sulmonalug.it
TeateLUG - Chieti
Non disponibile
TeLUG - Teramo
www.telug.it
User Group Valle Roveto
http://linuxvalley-os4.blogspot.com/
basilicata
Basilicata LUG - Potenza e Matera
www.baslug.org
calabria
3BYLug - Trebisacce
www.3bylug.tk
Bogomips - Bisignano
www.blug.it
CastroLUG
http://castrolug.altervista.org
Cosenza Hack Laboratory
http://hacklab.cosenzainrete.it/
CSLUG - Cosenza
http://cslug.linux.it
CzLug
Non disponibile
HackLab Catanzaro
http://hacklab.cz
Piana LUG - Piana di Gioia Tauro
Non disponibile
Reggio Calabria LUG
http://rclug.linux.it
Revolutionary Mind
www.revolutionarymind.org
spixLug - Spezzano Albanese
Non disponibile
Campania
AFR@Linux LUG
www.afralinux.netsons.org
Afralug - Afragola
www.afralug.com
CasertaLUG
www.casertaglug.org
Hackaserta 81100
www.81100.eu.org
HackMeetNaples Napoli HackLab
www1.autistici.org/hmn
IGLUG - Napoli e provincia

www.iglug.org
IRLUG - Irpinia
www.irlug.it
LUG-Ischia
www.lug-ischia.org
NALUG - Napoli
www.nalug.net
Neapolis Hacklab
www.officina99.org/hacklab.html
Padulug - Paduli (BN)
http://linux.paduli.com
SCALUG - Scafati (SA)
http://xoomer.alice.it/scalug/
Tuxway.org - Provincia di Napoli
www.tuxway.org
VaLug - Vallo Linux User Group
www.valug.it
XALUG - Salerno
http://xalug.tuxlab.org
emilia romagna
ALFLUG - Alfonsine
www.alflug.it
Borgotaro LUG - Val Taro
http://btlug.it/
ConoscereLinux - Modena
www.conoscerelinux.it
ERLUG
http://erlug.linux.it
Ferrara LUG
www.ferrara.linux.it
FoLUG - Forl
http://folug.linux.it
ImoLUG - Imola
www.imolug.org
LUGPiacenza
www.lugpiacenza.org
PANLUG - Vignola
Non disponibile
PLUG - Parma
http://parma.linux.it
RavennaLUG
www.ravennalug.org
RELug - Reggio Emilia e provincia
http://relug.linux.it
RiminiLug
www.riminilug.it
S.P.R.I.Te
http://sprite.csr.unibo.it
UIELinux - Valle del Rubicone
www.uielinux.org
Friuli venezia giulia
GOLUG - Gorizia
www.golug.it
IGLU - Udine
http://iglu.cc.uniud.it
LUG Pordenone
www.pordenone.linux.it
LugTrieste
http://trieste.linux.it
LUG[A][L][P] - Aquileia
www.alproject.org
lazio
CiLUG - Frosinone
www.cilug.org

CLUG - Cassino
http://cassino.linux.it/
GioveLUG - Terracina
www.giovelug.org
La Sapienza LUG
www.lslug.org
Latina LUG
www.llg.it
LUG Privernum Volsca - Priverno (LT)
www.pvlug.org
LUGRoma
www.lugroma.org
LUGRoma 3
www.lugroma3.org
TorLUG - Universit Tor Vergata - Roma
http://lug.uniroma2.it/
V.I.S.C.O.S.A. - Ciampino
www.viscosa.org
liguria
Genuense Lug - Genova e dintorni
http://genova.linux.it
GinLug - Genova Sampierdarena
www.sennaweb.org
Govonis GNU/LUG - Provincia di Savona
www.govonis.org
SLIMP - Software Libero Imperia
http://slimp.it/
TLug-TSL - Tigullio Ligure
http://tlug.linux.it/
lombardia
BGLug - Bergamo e provincia
www.bglug.it
BGLug Valle Seriana - Valle Seriana
http://bglugvs.web3king.com/
GL-Como - Como
www.gl-como.it
GLUX - Lecco e provincia
www.lecco.linux.it
GULLP - Gruppo Utenti Linux Lonate Pozzolo
www.gullp.it
IspraLUG - Ispra
http://ispralug.eu/
LIFO - Varese
www.lifolab.org
LIFOS - Cinisello Balsamo
www.lifos.org
Linux Var - Varese
www.linuxvar.it
LoLug - Lodi e provincia
www.lolug.org
Lug Bocconi - Milano
www.lug-bocconi.org
LugBS - Brescia e provincia
http://lugbs.linux.it/
Lug Castegnato - Castegnato
www.kenparker.eu/LugCastegnato
LugCR - Cremona e provincia
www.lugcr.it
Lug Crema - Crema
http://filibusta.crema.unimi.it/
LUGDucale - Vigevano
www.lugducale.it
LugMan - Mantova e provincia
www.lugman.org

94 Linux pro 142

LXP_142_94_95_lug 94

26/05/14 17:36

Leco dei LUG


LugOB - Cologne e ovest bresciano
www.lugob.org
MoBLUG - Monza e Brianza
www.bubblesfactory.it
OpenLabs - Milano
www.openlabs.it
POuL - Milano
www.poul.org
TiLug - Pavia
http://pavia.linux.it
ViGLug - Vignate
www.viglug.org
marche
Ascolinux LUG/FSUG Ascoli
http://marche.linux.it/ascoli/
CameLUG - Camerino
www.camelug.it
CMlug
www.cmlug.org
Egloo
www.egloo.org
FanoLUG
www.fanolug.org
Fermo LUG
www.linuxfm.org/fermolug/
GLM - Macerata
www.gruppolinuxmc.it/start/index.php
LUG Ancona
www.egloo.org
LUG Jesi
www.lugjesi.net
LUG Marche
http://marche.linux.it
PDP Free Software User Group
http://pdp.linux.it
Picenix - Piceno
http://picenix.altervista.org
SenaLug - Senigallia
www.lug.senigallia.biz
molise
Campobasso LUG
http://cb.linux.it/
FrenterLUG - Larino
non disponibile
SmaLUG - San Martino
www.smalug.org
piemonte
ABC Lug - Alba/Bra/Carmagnola
http://abc.linux.it/
AlLug - Alessandria e provincia
www.allug.it
BiLUG - Provincia di Biella
www.bilug.linux.it
FASoLi - Alessandria e provincia
http://softwarelibero.al.it/
Gallug - Galliate
www.gallug.it
GlugTO - Torino e provincia
www.torino.linux.it
IvLug - Ivrea Linux User Group
www.ivlug.it
SLIP - Pinerolo
http://pinerolo.linux.it/
ValSusinux - Val Susa e Val Sangone
www.valsusinux.it
puglia
BriLUG - Brindisi
www.brilug.it
CapitanLUG - Capitanata
www.capitanlug.it
LATLUG - Latiano Linux User Group
www.latlug.org
LUGargano

www.lugargano.it
LUGBari - Bari e provincia
www.lugbari.org
MurgiaLug - Santeramo in Colle
www.open-pc.eu/index.php/murgialug/
SaLUG! - Salento
http://salug.it
Talug - Taranto
www.talug.it
sardegna
GNUraghe - Oristano
www.gnuraghe.org
GULCh - Cagliari
www.gulch.it
PLUGS - Sassari
www.plugs.it
sicilia
CefaLug - Cefal
http://cefalug.linux.it
cLUG - Caltanissetta
www.clug.it
EnnaLUG
www.ennalug.org
FreakNet MediaLab - Catania
www.freaknet.org
Leonforte LUG
http://leonforte.linux.it
LUG Catania
www.catania.linux.it
LUGSR - Siracusa
www.siracusa.linux.it
MELUG - Messina
non disponibile
Norp LUG - Noto, Pachino, Rosolini
non disponibile
PALUG - Palermo
http://palermo.linux.it
RgLUG - Ragusa e provincia
http://ragusa.linux.it
VPLUG Linux Planet - Provincia Caltanisetta
www.vplug.it
SputniX - Palermo
www.sputnix.it
toscana
ACROS - Versilia, Lucca, Massa Carrara
www.lug-acros.org
Elbalinux
non disponibile
ElsaGLUG - Val dElsa
www.elsaglug.org
FLUG - Firenze
www.firenze.linux.it
GOLEM - Empoli, Valdelsa
http://golem.linux.it
GroLUG - Grosseto
www.grolug.org
G.U.L.LI - Livorno
www.livorno.linux.it
GulP! Piombino
http://gulp.perlmonk.org
GULP Pisa
www.gulp.linux.it
GuruAtWork - Grosseto e provincia
www.guruatwork.com
IPIOS - Bibbiena e valle del Casentino
www.ipios.org
Lucca LUG
http://luccalug.it
L.U.G.A.R - Arezzo
non disponibile

PLUG - Prato e provincia


www.prato.linux.it
PtLug - Pistoia e provincia
www.ptlug.org
SLUG - Siena e provincia
www.siena.linux.it
trentino alto adige
LinuxTrent - Trento
http://linuxtrent.it
LugBz - Bolzano
www.lugbz.org
umbria
OrvietoLUG
www.orvietolug.it
LUG Perugia
www.perugiagnulug.org
TerniLUG
www.ternignulug.org
Valle daosta
SLAG - Aosta
www.slag.it
veneto
0421ug - Provincia di Venezia
www.0421ug.org
BLUG - Belluno
http://belluno.linux.it
Faber Libertatis - Padova
http://faberlibertatis.org
GrappaLUG - Bassano del Grappa
http://grappalug.homelinux.net/
ILC - Informatica Libera Cittadellese - FSUG
http://ilc.pd.it
LegnagoLUG
non disponibile
Linux Ludus - Villafranca (VR)
www.linuxludus.it
LugAnegA
www.luganega.org
lugSF - San Fidenzio
non disponibile
LUG Vicenza
www.vicenza.linux.it
LugVR - Verona
www.verona.linux.it
MontelLUG - Montebelluna
www.montellug.it
FSUG Padova
www.fsugpadova.org
RoLUG - Rovigo
http://rovigo.linux.it
TVLUG - Treviso
www.tvlug.it
VELug - Venezia
www.velug.it
AViLUG Schio
http://www.avilug.it/doku.php
NAZIONALI
FSUGitalia
www.fsugitalia.org
Gentoo Channel Italia
www.gechi.it
MajaGLUG
www.majaglug.net
SkyLUG
http://tech.groups.yahoo.com/group/skylug/

Linux pro 142

LXP_142_94_95_lug 95

95

26/05/14 17:36

In edicola il 15 luglio

Nel prossimo numero

Hai un argomento da proporci?


Scrivi a prossimamente@linux.it

PER UN SISTEMA
SOTTO CONTROLLo
Ecco i programmi e i metodi migliori per monitorare le risorse di sistema,
prevenire i problemi e ottimizzare ogni goccia della vostra Linux box

E inoltre:
Ciao ciao XP

Ritorna il Basic

Che panorama!

Avete amici ancora affezionati


alla antica versione di Windows?
Ecco come traslocare dal dinosauro
Microsoft a una snella e moderna
distro Linux full optional!

Ebbene s, possibile creare


unapplicazione grafica usando
una versione object-oriented di quello
che probabilmente il pi famoso
compilatore al mondo...

Creare immagini panoramiche


il modo ideale per conservare
gli emozionanti ricordi estivi: ecco
come realizzarne di perfetti grazie
a Hugin e ai nostri consigli

LINUX

Pro

Mensile - Giugno 2014 - 5,90 euro - 13,60 CHF


Direttore Responsabile:
Luca Sprea - direttore@linuxpro.it
Coordinatore redazionale: Massimiliano Zagaglia

Trovi lofferta speciale di questo mese allindirizzo


www.myabb.it/linuxpro oppure scrivi ad abbonamenti@
myabb.it; puoi anche abbonarti via fax allo 02 700537672,
per telefono allo 02 87168074 dal luned al venerd dalle
ore 9 alle ore 18. Il costo della chiamata da linea fissa
pari a una normale chiamata su rete nazionale in Italia. Da
telefono cellulare il costo dipende dal piano tariffario in uso.
Arretrati
Si sottoscrivono online allindirizzo:
www.spreastore.it/linuxpro
Per informazioni o richieste: arretrati@linuxpro.it
oppure al fax 02.70.05.37.67.2

Redazione: redazione@linuxpro.it
Ambra Palermi (segreteria)
Riccardo Reccagni (Supervisor grafico)

Stampa: Arti Grafiche Boccia S.p.A. - Salerno

Realizzazione editoriale: Ventidodici

Via Torino, 51
20063 Cernusco Sul Naviglio (MI)
Tel (+39) 02.92432.1
Fax (+39) 02.92.43.22.36
www.sprea.it - info@sprea.it

Iconografia e fotografie: iStockphoto


Contenuti tratti da Linux Format - Future Publishing
Limited Plc., Bath (UK)

Sprea Editori S.p.A.


Socio unico Sprea Holding S.p.A.

Pubblicit: pubblicita@sprea.it - Tel 02-92432275

Consiglio di amministrazione:
Luca Sprea (Presidente),
Mario Sprea (Consigliere)

Abbonamenti (disponibili solo in versione con DVD)


Si sottoscrivono in 2 minuti con 2 click via Web.

Collegio sindacale: Roberto Bosa (Presidente),


Susj Castenetti, Ivo Costa

LXP_142_96_prossimamente 1

Amministrazione: Anna Nese - amministrazione@sprea.it


Foreign rights: Gabriella Re - international@sprea.it
Marketing: Walter Longo
marketing@sprea.it
Distributore per lItalia e per lEstero:
Press-Di Distribuzione Stampa e Multimedia S.r.l.
20134 Milano
LINUX PRO
Pubblicazione mensile registrata al Tribunale di Milano
il 08.02.2003 con il n. 74 - Tariffa R.O.C. - Poste Italiane
Spa - Sped. In Abb. Post. - D.L. 353/2003 (conv. In
L. 27/02/2004 n. 46) art. 1, comma 1, S/NA
ISSN: 1722-6163
Copyright Sprea Editori S.p.A.
La Sprea Editori titolare esclusiva della testata Linux Pro
e di tutti i diritti di pubblicazione e diffusione in Italia. I contenuti
sono adattati e tradotti dai contenuti inglesi della pubblicazione
Linux Format, edita da Future Publishing Limited Plc., con
sede in Bath (UK). Lutilizzo da parte di terzi di testi, fotografie
e disegni, anche parziale, vietato. LEditore si dichiara
pienamente disponibile a valutare - e se del caso regolare
- le eventuali spettanze di terzi per la pubblicazione di
immagini di cui non sia stato eventualmente possibile reperire
la fonte. Informativa e Consenso in materia di trattamento dei
dati personali (Codice Privacy d.lgs. 196/03). Nel vigore del
D.Lgs 196/03 il Titolare del trattamento dei dati personali,
ex art. 28 D.Lgs. 196/03, Sprea Editori S.p.A. (di seguito

anche Sprea), con sede legale in via Gramsci 17, 26100


Cremona. La stessa La informa che i Suoi dati, eventualmente
da Lei trasmessi alla Sprea, verranno raccolti, trattati e
conservati nel rispetto del decreto legislativo ora enunciato
anche per attivit connesse allazienda. La avvisiamo, inoltre,
che i Suoi dati potranno essere comunicati e/o trattati (sempre
nel rispetto della legge), anche allestero, da societ e/o
persone che prestano servizi in favore della Sprea. In ogni
momento Lei potr chiedere la modifica, la correzione e/o
la cancellazione dei Suoi dati ovvero esercitare tutti i diritti
previsti dagli artt. 7 e ss. del D.Lgs. 196/03 mediante
comunicazione scritta alla Sprea e/o direttamente al personale
Incaricato preposto al trattamento dei dati. La lettura della
presente informativa deve intendersi quale presa visione
dellInformativa ex art. 13 D.Lgs. 196/03 e linvio dei Suoi dati
personali alla Sprea varr quale consenso espresso
al trattamento dei dati personali secondo quanto sopra
specificato. Linvio di materiale (testi, fotografie, disegni, etc.)
alla Sprea Editori S.p.A. deve intendersi quale espressa
autorizzazione alla loro libera utilizzazione da parte di Sprea
Editori S.p.A. per qualsiasi fine e a titolo gratuito, e comunque,
a titolo di esempio, alla pubblicazione gratuita su qualsiasi
supporto cartaceo e non, su qualsiasi pubblicazione (anche
non della Sprea Editori S.p.A.), in qualsiasi canale di vendita
e Paese del mondo. Il materiale inviato alla redazione
non potr essere restituito.

26/05/14 17:36

A
L
O
C
I
D
E
N
I

min_SpecRITRATTI_207x285.indd 1

26/05/14 16:03