Sei sulla pagina 1di 100

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

Pro

Raspberry Pi
Streaming audio
e video in casa

programmare!
L'Accademia del Codice
ti svela tutti i misteri
dell'arte del coding
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

Cambia desktop!
Scegli lambiente grafico giusto
per look e funzionalit!

Libert pura
Scopri Trisquel, la distro pi fedele
ai dettami del Free Software

Il database perfetto
Le applicazioni Web sono pi veloci,
scalabili e sicure se usi MariaDB

lightworks

Effetti speciali e strumenti per lediting


professionale a tua disposizione

Inoltre
AVM Fritz!Box 3390
6 antenne per la massima velocit wireless
a 2,4 e 5 GHz in contemporanea

Tizen
Il futuro dei dispositivi
mobili sempre
pi Open Source

gnome 3

Accedi alle opzioni avanzate


con Frippery e Gnome Tweak Tool

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

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

Diventa protagonista nel mondo Linux

NUOVI ORIZZONTI CON I NUOVI

DOMINI
Scegli subito tra oltre 700 nuovi domini di primo livello il tuo indirizzo web
facile da memorizzare e ideale per la tua attivit, come ad esempio bianchi.shop,
evento.roma o rimini.hotel. Oppure assicurati ulteriori estensioni per i domini
gi a tua disposizione per essere trovato ancora pi facilmente su internet.
Con oltre 20 milioni di domini ospitati, 1&1 il leader di mercato in Europa per
la registrazione di domini. Grazie ad una integrata funzione di trasferimento,
gli indirizzi web registrati presso 1&1 possono essere velocemente e facilmente
collegati a qualsiasi sito, indipendentemente dal provider che lo ospita.
Per maggiori informazioni visita il sito 1and1.it

NOVIT!
PRENOTA
SENZA COSTI E

SENZA IMPEGNO!*

DOMINIO | MAIL | HOSTING | SERVER

1and1.it

* La prenotazione del nome di dominio senza costi e non vincolante e precede la fase di effettiva registrazione, il cui esito non rientra nelle responsabilit di 1&1 bens in quelle del Registro
competente. In caso di effettiva registrazione si applicano i termini e condizioni del Registro e di 1&1.

Editoriale

Trentanni di GNU
Ci siamo quasi. Levento dedicato a GNU/
Linux pi importante dellanno, il Linux Day,
a breve distanza, i preparativi fervono e noi, per
tenervi aggiornati, abbiamo intervistato Italo Vignoli,
fondatore e consigliere di The Document Foundation,
lorganizzazione che cura lo sviluppo di LibreOffice.
Potrete leggere le parole di un Italo scatenato,
che senza peli sulla lingua ci dice cosa pensa di Linux,
dellOpen Source, delle aziende che portano avanti
sistemi chiusi e altro ancora. Trovate larticolo a pagina
20, se possiamo darvi un consiglio, correte a leggerla
subito e poi tornate qui... Fatto? Bene. Rimanendo
sui contenuti di questo numero, trovate un test
approfondito dei principali ambienti grafici
in circolazione al momento: se siete stanchi del desktop
che usate da tempo e volete cambiare, troverete
tutte le informazioni per fare una scelta corretta.
Se invece, come noi, avreste sempre voluto ricostruire
lalbero genealogico della vostra famiglia ma non
lavete mai fatto per pigrizia o mancanza di tempo,
dopo aver letto larticolo su Gramps cambierete idea.
Certo, il compito non facile, ma con questo tool
Open Source alla portata di tutti. Per soddisfare chi ci
continua a chiedere di riservare spazio alle distribuzioni
che rinunciano al pi piccolo software proprietario per
garantire la massima libert allutente, questo mese

Innovazione.
Di tutti. Per tutti.

abbiamo raddoppiato quanto fatto nei numeri scorsi


pubblicando un ricco articolo su Trisquel, dopo averle
dedicato dello spazio nel DVD tempo fa, mettendo poi
nel supporto ottico di questo numero la nuova release,
uscita da pochissimo, di gNewSense. Queste sono
due tra le migliori bandiere di GNU/Linux e difatti
sono sostenute dalla Free Software Foundation.
A proposito: sapete che il progetto GNU nasceva
30 anni fa? Il 27 settembre 1983, difatti, Richard
Stallman annunci ufficialmente il progetto con
un messaggio che potete rileggere a questo indirizzo:
http://www.gnu.org/gnu/initial-announcement.
html. Che dire? Buon compleanno GNU, speriamo
di ritrovarci qui tra altri trentanni ancor pi numerosi!
Ora vi lasciamo alla lettura del numero, chiedendovi
come al solito di inviare in redazione i vostri commenti
e suggerimenti (per le critiche fate con calma).
Non ci rimane che augurarvi buona lettura.

26 ottobre 2013

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 133

Sommario

Sommario
LINUX PRO 133

LINUX

PRO

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

In primo piano

UN DESKTOP TUTTO

NUOVO

Qual lambiente grafico che fa davvero per voi? Abbiamo


selezionato gli ambienti desktop pi popolari e alcuni di quelli
pi singolari: a voi la scelta del pi adatto alle vostre esigenze...

08

16 Trisquel Open Source puro


2

LINUX PRO 133

24 Genealogia fai da te

24 Intervista a Italo Vignoli

Sommario
04 Newsdesk

Le novit del mondo Open Source

06 FAQ: Tizen

O
IL PROOSESSICM
E IL
NUMER

Tutorial
56 LibreOffice

Un sistema operativo per smartphone

Sfruttare le funzionalit avanzate


di questa suite

Approfondimenti

58 GNOME 3

08 Un desktop tutto nuovo

60 Lightworks

Pro e contro dei migliori ambienti desktop

16 Trisquel libera
La distro campionessa dellOpen Source

Piegato il nuovo GNOME al vostro volere


Create un video ed esportate il vostro
primo film con questo tool professionale

64 Raspberry Pi

20 Intervista

Diffondete musica e video in tutta la casa


con il potente SqueezePlug

Italo Vignoli di The Document Foundation


ci racconta il Linux Day 2013

68 Nas

24 Genealogia fai da te
Create un albero genealogico con Gramps

28 Trucchi per sysadmin


Tutto su proxy e stack LAMP

Android

Ecco come lavorare al meglio con iSCSI


e gestire il vostro NAS

72 MariaDB

Replicate il database per evitare


interruzioni dei vostri servizi Web

Accademia
76 Concetti di base

34 News

Scrivete un programma in Python con


i suggerimenti dello staff di Linux Pro

36 LG Optimus G Pro

78 Ruby on Rails

Uno smartphone grande in tutti i sensi

Un nuovo tutorial sul robusto framework


Web Ruby on Rails

37 Sony Xperia Tablet Z

82 Firefox OS

Tutte le novit sul sistema di Google

Un tablet leggero, potente e affascinante

Recensioni
39 I test del mese

Le novit pratiche del sistema


operativo per smartphone di Mozilla

86 Android

Touchscreen e texture con OpenGL

Prison Architect, Gizmo Explorer Kit,


AVM Fritz!Box 3390, Buffalo LinkStation
LS420, In libreria

92 Leco dei LUG

46 Confronto

94 Guida software

Le cinque migliori derivate di Ubuntu

La mappa dei LUG italiani

Guida al software presente nel DVD

22 OTTOBRE

IL DVD IN BREVE
LATO A
DISTRIBUZIONI
DESKTOP
Sabayon
Fedora 19GNOME
Mednafen
(32
0.9.28
bit)13.08
Parcellite 1.1.3
DISTRIBUZIONI
Mageia 3 (32 bit)
Sophos UTM

Untangle
LATO
B 9.4 (32 e 64 bit)
GIOCHI
DISTRIBUZIONI
PokerTH
Deft 8 1.0.1
IPFire

INTERNET
2.13
Firefox
Salix Xfce
Macpup
21
5.5
14.0.1

ProFTPD
GIOCHI1.3.4d

PROGRAMMAZIONE
Ayon
LATO
B

RIVISTA 1.60.1
CPPCheck
DISTRIBUZIONI
GNewSense
Codice desempio
GTKDialog
0.8.3
3.0 Android
LiteIDE
Codice

RIVISTA
NetRunner
desempio
13.06 Raspberry
Codice
Ardour3desempio
3.2 Avogadro
Ruby 1.1.0
Codice desempio
tutorial Android
Sysadmin
BurgerSpace
Codice tutorial
1.9.2
Ruby

FatRat
NetHogs
RIVISTA
Erebus
0.8.0 1.2.0 beta2
OCRFeeder
Xowa
Safe-rm0.0.
irrlamb
11
. 00.7.
1
0.6.2
PushOver
Raspbian
Plan 91.2.4
Mosh
0.0.5
QMMP
Arch Linux
MP3Split
0.7.2.6
1RP
QNetWalk
Risc OS
Android RP1.4
Tiled 0.9.1
LATO B
DISTRIBUZIONI
Linux Mint 15 Cinnamon
Linux Mint 15 Mate
Parted Magic
Quando trovi
questo bollo
negli articoli,
cerca
il software
nel DVD

PRO
dentro il

ABBONATI ALLA

VERSIONE DIGITALE
SOLO PER PC E MAC

A SOLI

14,90

DURATA ABBONAMENTO 1 ANNO

40 Prison Architect

www.sprea.it/digital
LINUX PRO 133

Newsdesk

Ogni mese tutte le novit dal mondo delle aziende e della comunit Open Source

Web hosting

I nuovi servizi di 1&1


per aziende allavanguardia
Un portale per i gTLD

1&1 Cloud Server Dinamico offre il massimo della flessibilit,


grazie alle sue risorse modificabili dinamicamente

ggigiorno chi fa impresa,


anche di piccole dimensioni
non pu pi prescindere
dal Web e dai servizi
che offre. Non ha importanza
la dimensione dellazienda, poich
troveremo sempre qualcosa che
si adatta alle nostre esigenze e che,
se ben sfruttato, potr migliorarne
lefficienza e la presenza sul mercato.
Se dovessimo tradurre tutto ci in una
parola, questa sarebbe flessibilit
ed proprio la flessibilit una delle
principali linee guida che si fissata
1&1 Internet (www.1and1.it),
azienda di hosting che gestisce circa
11 milioni di domini. Lo dimostrano
i due nuovi servizi, varati lo scorso luglio,
che rappresentano un ulteriore passo
avanti nelluso della Rete e delle sue
potenzialit e che tornano molto utili.

LINUX PRO 133

Il primo servizio cavalca londa di una


rivoluzione imminente che coinvolge
uno degli aspetti pi noti di Internet,
cio il generic top-level domain, o gTLD.
Accanto ai notissimi .com, .org, .it e cos
via, apparir un gran numero di nuove
estensioni, molto pi chiare ed esplicite,
come .sport, .ristorante, .web, eccetera.
Entro i prossimi tre anni, questi nuovi
domini ammonteranno a pi di 1.000
quindi, per non farsi prendere
in contropiede, 1&1 ha messo
a disposizione degli utenti un nuovo
portale dedicato (www.1and1.it/
nuove-estensioni-di-dominio).
Tanto per cominciare, qui troveremo
moltissimi consigli e informazioni
utili su questa novit del Web. Potremo
cos farci unidea molto pi chiara
dellimportanza di questo evento.
Inoltre ci viene data la possibilit
di esprimere il nostro interesse nella
registrazione di questo o quel tipo
di dominio. Ma soprattutto possiamo
prenotare fin da subito quello
che meglio identifica il nostro sito
Web, anche in base alle conoscenze
e allesperienza che 1&1 ci mette
a disposizione. Sebbene la prenotazione
non garantisca che un dominio venga
acquistato, rappresenta comunque

un passo fondamentale nellanalisi


delle opzioni che abbiamo allinterno
di questo nuovo scenario nellambito
di Internet. Un ulteriore chiarimento
sullimportanza di questa operazione
arriva dalle parole di Robert Hoffmann,
CEO Hosting di 1&1, il quale afferma
che si tratta di una vera e propria nuova
era di indirizzi Web che promette
grandi opportunit per qualunque
business online. Oltretutto sottolinea
il fatto che: Una ricerca diffusa
lo scorso marzo segnala per che
la maggior parte delle PMI ancora
ignara del lancio delle nuove estensioni
gTLD. Da questo chiara limportanza
delloperazione compiuta da 1&1.
altres fondamentale sapere che gli
stessi motori di ricerca stanno gi
modificando i propri algoritmi per
indicizzare i nuovi gTLD al pari di quelli
classici. Inoltre, se uno dei nuovi domini
rimander al contenuto del sito,
lo stesso topic diventer un elemento
chiave delle nostre ricerche.

Un cloud flessibilissimo
La seconda novit, che 1&1 Internet
propone, riguarda invece uno degli
strumenti che sta incontrando
maggiore diffusione in ambito
informatico, cio luso del Cloud

Grazie al nuovo portale creato


da 1&1 possiamo gi prenotare
i nuovi gTLD, cio gli indirizzi
Internet di ultima generazione

Newsdesk
Computing. In questo caso specifico,
lobiettivo che lazienda si prefissa
quello di fornire un servizio flessibile,
efficiente, senza limitazioni e a prezzi
vantaggiosi. Infatti, il Cloud Server
Dinamico di 1&1 si distingue per
le risorse che possiamo modificare
dinamicamente in qualsiasi momento,
sia un upgrade, sia in downgrade,
ottimizzando cos i costi, poich
paghiamo solo per le risorse che
sfruttiamo. Tra laltro, viene introdotta
la funzione di standby, che permette
di congelare le risorse e usarle solo
quando necessario. Questo tipo
di prodotto si rivolge principalmente
a chi ha esigenze di uso del Cloud
Computing che cambiano di continuo
oppure a chi non ancora in grado
di stabilire con esattezza di quanta

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

Diventa protagonista nel mondo Linux

Pro

Trisquel

Scroprite come usare Gramps per creare un albero


genealogico e ricostruire la storia della vostra famiglia

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

Ubuntu libero?

Cambia desktop!
Scegli lambiente grafico giusto
per look e funzionalit!

Scopri Trisquel, la distro pi fedele


ai dettami del Free Software

Il database perfetto
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
AVM Fritz!Box 3390
6 antenne per la massima velocit wireless
a 2,4 e 5 GHz in contemporanea

Tizen
Il futuro dei dispositivi
mobili sempre
pi Open Source

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

gnome 3

Accedi alle opzioni avanzate


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

Gramps

Genealogia fai da te

Trisquel

L'Accademia del Codice


ti svela tutti i misteri
dell'arte del coding

Libert pura

a notizia giunge come


un fulmine a ciel sereno
ed una diretta conseguenza
di quanto emerso di recente
dalle denunce fatte da Edward
Snowden sullo spionaggio illegale
condotto dalla NSA degli Stati Uniti.
Vittima illustre Groklaw
(www.groklaw.net), un blog fondato
dallassistente legale newyorkese
Pamela Jones, che dal 2003
si occupato in modo puntuale
e professionale degli aspetti del diritto
riguardante la tecnologia, spesso
facendo rivelazioni esclusive.
Tra gli argomenti affrontati, ricordiamo
la causa antitrust europea contro
Microsoft e lo scontro legale tra Apple
e Samsung. Groklaw diventato uno
dei pi importanti blog legali al mondo
ed forse proprio per il rispetto
dellimmagine costruita, che
la fondatrice ha deciso di annunciare
la chiusura con un ultimo messaggio
in cui, tra laltro, si legge: Ho deciso
che me ne star fuori da Internet il pi
possibile. Sono una persona qualunque,
ma dopo una seria riflessione, ho
concluso che non posso restare online
senza perdere la mia umanit, ora
che so che la privacy una chimera.
Non ho mai voluto essere una celebrit
ed per questo che mi sono sempre
battuta per la mia e la vostra privacy.
Parole che hanno fatto il giro del Web,
suscitando reazioni e dimostrando
quanto il rispetto per la riservatezza sia
un pilastro della nostra libert. LXP

Gramps

Streaming audio
e video in casa

programmare!

Chiuso
per privacy

Prova la tua rivista anche in dioitale


digitale

Raspberry Pi

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

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

AccAdemiA
del codice

Internet

potenza di calcolo ha bisogno. I server


a nostra disposizione sono nella
configurazione Linux Standard
o Business, oppure Windows Web
o Standard 2008 & 2012. Oltretutto
possiamo passare da un sistema
allaltro in qualsiasi momento. 1&1
Cloud Server Dinamico si basa sulla pi
recente piattaforma di virtualizzazione
Xen con una connettivit di rete di 300
Gbit al secondo.
Inoltre 1&1 garantisce un livello
di sicurezza fail-safe grazie a core
e storage ridondanti e a una serie
di misure di sicurezza specifiche,
che proteggono il sistema
da interruzioni di corrente, perdita
di dati e attacchi di hacker.
Infine, da notare che i server sono
tutti alimentati da energie rinnovabili.

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
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.

I primi passi

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

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


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,
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,
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
ella maggior parte dei casi,
e dare luogo a malfunzionamenti. Detto questo,
le conoscenze
non vanno oltre
noi non abbiamo
avuto problemifamiliari
a far lavorare
Trisquel sulle qualche
nostre macchine,
grado riscontrando
di parentela. Quando
un notevole miglioramento nel panorama
per si inizia a scavare alla ricerca degli avi
dei driver free. Linstaller, infine, una versione
pi lontani
o che
di parenti
hanno trovato
modificata
di quello
trovate suche
Ubuntu.
La sua
particolarit
di essere
dei sistemipassate,
fortuna
in altri
paesiuno
in epoche
dinstallazione pi semplici da usare per chi
le cose si complicano non poco. Quali
proviene dal mondo desktop ne ha fatto
sono leprincipale
origini della
famiglia?
Dove
il candidato
per luso
in Trisquel.

vivevano? Da dove deriva il vostro


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

24

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.

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


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
innovazione tecnologica,
di riferimento per linnovazione
ancora molta
nella vita quotidiana c
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,
opportunit quasi
che in Italia sono ancora unopportunit
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
edazione@linuxpro.it
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

LINUx PRO 133

LINUX PRO 133

25

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 llemail - 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

21

FAQ Tizen

Tizen

Alcune
domande su...

Linux Pro presenta il prossimo sistema operativo mobile basato su Linux


che si prepara a sbarcare sugli smartphone
un po di Tizen. Il nome fa pensare
Chi c quindi dietro Tizen? Chi lo controlla di LiMo Foundation e della piattaforma
D aParlami
Bada/Wave di Samsung, come minimo.
una bibita rossa frizzante super-zuccherata D effettivamente?
popolare tra i ragazzini degli anni 80...
il progetto Tizen ospitato dalla Linux
R Foundation. poi esiste una Tizen Association Dunque sar possibile aggiornare a Tizen
Tizen (www.tizen.org) un sistema
R operativo
D i telefoni Wave?
che si occupa di marketing e formazione
open Source e una piattaforma
e gestisce la raccolta delle risorse e altri aspetti;
software per ogni tipo di computer,
Le applicazioni Bada verranno convertite
R per
le decisioni pi importanti vengono prese
in particolare per i dispositivi mobili.
Tizen ma Samsung ha dichiarato che gli

D
R

Che cosa intendi con in particolare


per i dispositivi mobili?
Voglio dire che Tizen mira a offrire uno
stesso ambiente e le stesse applicazioni
per netbook, smart TV e auto. gi in fase
di lavorazione una piattaforma Tizen in-Vehicle
infotainment (https://wiki.tizen.org/wiki/IVI)
che dovrebbe rendere disponibili le applicazioni
Tizen su automobili, autobus e aerei.

Linux pro 133

da un Technical Steering Group. i due membri


pi importanti sono intel e Samsung. Tra gli altri
partner di Tizen figurano case produttrici come
panasonic e Fujitsu e operatori di telefonia
mobile come nTT Docomo, Sprint e Vodafone.

D
R

Tizen non la prima piattaforma Linux


per cellulari a parte Android, giusto?
Giusto. per farla breve, Tizen , o mira
a essere, il successore di Maemo, di Moblin,

utenti di telefoni Wave dovranno effettuare la


transizione a un servizio migliore, il che tradotto
dal linguaggio del marketing significa
compratevi un telefono Tizen e tante grazie.
Chiaro. Lasciando da parte Bada, per,
D abbiamo
veramente bisogno di un altro
sistema operativo basato su Linux?
La variet una cosa positiva: noi
sostenitori del Software Libero non

Tizen FAQ
facciamo che ripeterlo, no? Principi a parte,
potrei darti una risposta pi pratica. Fino allanno
scorso cerano quattro operatori principali
(che fornivano sia dispositivi sia software) nel
mercato degli smartphone: Apple, che produce
internamente sia il suo sistema operativo sia
i suoi dispositivi; Nokia e Microsoft; Google
e HTC; Samsung, che otteneva risultati come
minimo paragonabili a quelli degli altri ma solo
grazie ad Android. Per quel che ne capiamo
(ed solo una nostra teoria personale),
Google non avrebbe alcun interesse a rendere
pi difficile per Samsung luso di Android
e considerati gli ottimi risultati della linea Galaxy
di Samsung, abbandonare Android nellimmediato
sarebbe una vera follia. Tuttavia, per come stanno
le cose in questo momento, il fatto che Samsung
non possa fare a meno di Google non pu certo
rendere felici i suoi dirigenti. Per lazienda

Certo. OpenMobile tratta direttamente


R con
i produttori OEM e con gli operatori
di telefonia mobile e il suo modello di business
consiste nellinserire lACL nei telefoni prima
della vendita. Detto questo, OpenMobile
offre unapp ACL gratuita, un AppMall online
per gli utenti di ACL e unaltra app per
il suo utilizzo. LAppMall riunisce 10 negozi
in un singolo catalogo che comprende oltre
250.000 app Android.
Sembra promettente, almeno
D per
ora. Ok, puoi dirmi qualcosa
di pi sul funzionamento di Tizen?
Si potrebbe dire che Tizen stato
sviluppato sulla base di due presupposti:
il primo la possibilit di ricompilare le app
Android o di utilizzarle semplicemente tramite
ACL; il secondo che il futuro appartiene

Per Samsung, Tizen una sorta


di assicurazione, che le permette
di aumentare il suo potere contrattuale
nei confronti di Google
coreana, Tizen rappresenta una sorta
di assicurazione che le permette di aumentare
il suo potere contrattuale nei confronti di Google,
senza per cos dire arrendersi a Microsoft.
Diversamente da Nokia o da HTC, Samsung
abbastanza grande e ha un successo sufficiente
per permettere a Tizen di sfondare, almeno
sui telefoni di fascia bassa; o almeno, questo
ci di cui convinta.
sia giusta o meno, sta
D diChefattola tuacheteoria
il valore di uno smartphone
sta nelle sue applicazioni; Tizen pu vantare
un numero di applicazioni paragonabile a quello
di Android e, ci che pi conta, sar possibile
utilizzare le applicazioni Android sui device Tizen?
Di fatto, in aggiunta ai software Bada
precedenti, ai nuovi programmi in HTML5
e agli altre eventuali applicazioni che verranno
convertite, ci sar come minimo un modo
per utilizzare app originali Android con Tizen
Il merito tutto dellAndroid Application
Compatibility Layer (ACL, www.
openmobileww.com/products.php)
di OpenMobile. Stando a quanto affermato,
la sua libreria offre gi una compatibilit del
100% per tutte le app Android su numerosi
sistemi operativi e dispositivi, senza alcun
compromesso in termini di prestazioni.

Senza alcun compromesso mi sembra


D unaffermazione
un po ardita ma mi
interessa di pi un altro aspetto. Potremo
installare questo ACL?

alle applicazioni basate su HTML5, perci


Tizen doveva essere ottimizzato in funzione
di queste ultime.
Comunque il cuore di Tizen rimane
D effettivamente
Linux, giusto?
S. Lo stack di Tizen parte da un kernel
R Linux modificato e da un set di driver per

il sistema di comunicazione in tempo reale


basato sul browser (di cui ci siamo gi occupati
su queste pagine) e le librerie grafiche EFL
di Enlightenment.
Ne deduco che esiste gi una nuova
D versione
stabile
S. Tizen 2.0, noto anche come Magnolia,
R arrivato allinizio del 2013. Ha introdotto
diverse applicazioni native e nuove API
per i dispositivi, con supporto per Bluetooth
e NFC. Gli sviluppatori possono accedere
direttamente ai sottosistemi del device relativi
alla cronologia delle chiamate, al calendario
e ai messaggi. Tizen 2 pu utilizzare app native,
app HTML5 e app che si servono di entrambe
le interfacce. Supporta inoltre la sintesi da testo
a voce e luso di applicazioni in background.
che cosa avr bisogno chi decidesse
D diDi sviluppare
software Tizen in Linux?
Per cominciare, di un computer con
R installati (dati del marzo 2013) Ubuntu
11.10 o 12.04 e Oracle Java (non OpenJDK)
versione 6 o successiva. Dovrebbe quindi
scaricare il kit per lo sviluppo dei programmi
e il codice sorgente da https://developer.
tizen.org/. Inoltre, avrebbe effettivamente
bisogno dei dispositivi giusti.
Dispositivi giusti? Che cosa intendi?
D Servono
device specifici?
Intendo che per poter testare le tue app
R nel modo pi rapido e realistico possibile,

i dispositivi. A questi si aggiungono, partendo


dal basso, il cosiddetto Core, un framework
Native e un framework Web. Il sottosistema Core
composto da librerie e API Open Source di base.

avrai bisogno di una scheda grafica e di una


webcam che figurino tra i modelli supportati
(o compatibili) sul sito di Tizen. Inoltre,
potrebbe essere utile un processore Intel
con supporto Intel VT, in modo da poter
sfruttare lHAXM.

ruolo ha quindi in questo progetto


D ilCheframework
Native?
un altro pacchetto di servizi di sistema
R e librerie, raggruppati in namespace.

Fermo, fermo, HAX-che? Puoi darmi


D qualche
informazione in pi?
LHardware Accelerated eXecution Manager
R un motore di virtualizzazione che accelera

Ci sono namespace per grafica, supporto


della localizzazione, sicurezza e molto altro.
Nel complesso, i namespace forniscono
migliaia di interfacce su cui possibile costruire
applicazioni native.

lemulatore di Tizen incluso nel kit per


lo sviluppo dei software. Richiede per,
come dicevo, il giusto tipo di processore.

Che cosa rimane da fare allora


D per
il framework Web?
lultima tessera del puzzle, che fornisce
R il supporto HTML5 e lintegrazione con tutti
i servizi essenziali, dalla riproduzione audio
e video alla geolocazione e ai messaggi.
male, si direbbe; a che punto
D Niente
il progetto?
La prima versione stabile stata pubblicata
R nel
2012. Tra laltro offriva WebRTC,

tratta di un ambiente solo a riga


D diSi comando?
No. Esiste gi un ambiente di progettazione
R WYSIWYG
nativo, con uno strumento
di collaudo grafico, un wizard per i progetti,
un sistema di visualizzazione del log e altro ancora.
domanda: tu, personalmente,
D loUnultima
vorresti uno smartphone Tizen?
Se questo significasse avere un telefono
R aperto
da poter modificare a piacimento,
certo che s! Diversamente, non saprei. Questa
per solo la mia opinione personale LXP
Linux pro 133

Ambienti desktop

Un desktop
tutto nuovo!
Come ottenere le funzioni, laspetto
e la libert degli ultimi ambienti grafici

inux una questione di scelta e niente


lo dimostra pi della sovrabbondanza
di ambienti grafici disponibili.
La maggior parte delle distribuzioni
hanno almeno cinque ambienti grafici nei loro
archivi software, e alcune offrono un numero
di scelte a due cifre. Ma perch? Qual
lo scopo di tutto questo? Sicuramente non
questione di avere molti ambienti, ma di
averne solo uno che funzioni correttamente.
Beh, forse. Questo quello su cui
siamo qui a indagare. Vedremo alcuni
dei pi popolari e dei pi singolari
ambienti per scoprire quale dovreste
usare. Ma prima di andare oltre,
dobbiamo capire che cosa stiamo

per vedere. La parola ambiente grafico


notoriamente evasiva. Assumeremo il punto
di vista che un ambiente grafico una raccolta
di cose: il gestore di finestre pi una serie di
strumenti utili. Pu avere la forma di pacchetto
preassemblato, come GNOME o KDE,
o pu essere assemblato da chi mantiene
la distribuzione, come Openbox di CrunchBang
o JWM di Puppy. Naturalmente, anche quando
arriva in un pacchetto preassemblato, varia tra

le distribuzioni. KDE, in particolare, pu


sembrare un ambiente diverso in ogni
distribuzione. Lultima cosa che dobbiamo
dire prima di iniziare come abbiamo fatto
le valutazioni. In breve, cosa dovrebbe fare un
buon ambiente? Potremmo essere tecnici qui,
ma in verit non pensiamo che allutente finale
medio importi cos tanto dei tecnicismi di quello
che accade dietro le quinte. Perci, diremo
che un buon ambiente quello che rende
semplice e divertente luso del
computer. Questa la cartina di
tornasole a cui faremo riferimento
quando decideremo cos buono e
cosa non lo . Basta parlare di quello
che faremo. Portate gli ambienti!

Un buon ambiente quello


che rende divertente e
semplice luso del computer

LINUX PRO 133

Ambienti desktop

GNOME 3

Pu lex-ambiente pi popolare recuperare gli utenti perduti?

NOME era una volta lambiente grafico pi popolare


per Linux. Potrebbe ancora essere cos, ma difficile
esserne sicuri ora. Quando GNOME 3 fu lanciato
nellaprile del 2011, pass da un ambiente tradizionale
a uno nuovo, spogliato e minimalista, e gli utenti ricorsero
a Internet per chiedere che ritornasse sulla sua vecchia
strada altrimenti lo avrebbero abbandonato. Gli sviluppatori
sono andati avanti con il nuovo stile mentre alcuni utenti
sicuramente lo hanno abbandonato, ma non a frotte come
i critici avevano predetto. In realt ora pi comune sentire
gli utenti dire che preferiscono la nuova versione. Questo
nuovo stile arriva per concessione di Gnome Shell, la parte
di GNOME che crea lo spazio di lavoro. una rottura drastica
con le precedenti versioni che presentavano una barra con
i Menu, lElenco delle finestre e lArea delle notifiche,
elementi comuni alla maggior parte degli ambienti grafici
di Linux da quando esistono. Per spiegare la loro decisione
di progettazione, da GNOME dicono: La Shell progettata
per ridurre al minimo le distrazioni e le interruzioni e per
consentire agli utenti di concentrarsi sul compito che stanno
svolgendo. Un elenco delle finestre o un pannello permanenti
interferirebbero con questo scopo, servendo da tentazione
continua a cambiare obiettivo. La mancanza di un elenco di
finestre o di un pannello, inoltre, riduce la quantit di spazio
sullo schermo occupato dalla Shell, perci la rende adatta
ai dispositivi con schermi pi piccoli. Questa filosofia
proprio alla base di GNOME 3. Riguarda la semplificazione
dellesperienza duso del computer fino al suo minimo
essenziale, cos da aiutare lutente a concentrarsi su
un solo compito. Questa semplificazione continua anche
nelle applicazioni di GNOME ed stata un motivo di attrito
continuo. Man mano che GNOME 3 maturato, gli
sviluppatori hanno semplificato le applicazioni principali,
Nautilus in particolare, e rimosso alcune funzioni. Questo,
in perfetto stile informatico, pu essere visto come una
funzione o un baco, a seconda del vostro punto di vista.
Data la concentrazione di GNOME sulla semplicit, potreste
pensare che le cose vadano bene per questo concorrente.
Beh, non necessariamente. Abbiamo detto che un buon
ambiente grafico dovrebbe rendere luso del computer
semplice, che non lo stessa cosa che rendere lambiente
grafico semplice. Per esempio, se dovete copiare file tra
le cartelle in un gestore di file, spesso pi semplice usare

La storia di GNOME
I lavori iniziarono sul Gnu Network
Object Model Environment (Ambiente
Gnu di rete con modello a oggetti, ora
chiamato solo GNOME) nel 1997, perch
KDE si basava sul toolkit proprietario Qt
e perci, anche se era Open Source, non
era veramente libero. Il gruppo annunci
la versione 1 in occasione del Linux World

Expo del 1999. Quello fu anche levento


in cui si form la fondazione GNOME
e Sun, HP e IBM accettarono tutte di
supportare il nuovo ambiente. I progressi
continuarono e GNOME 2 fu lanciato nel
2002. Ha continuato a definire lambiente
di Linux per quasi un decennio prima
del controverso rilascio di GNOME 3.

Gnome Tweak
Tool vi permette
di regolare
finemente
lesperienza
con GNOME 3.
Imparate
come fare nella
nostra guida

una vista divisa che vi permette di vedere entrambe


le cartelle contemporaneamente. Questa opzione, tuttavia,
stata rimossa quando Nautilus stato semplificato.
Nellultima versione di GNOME, gli sviluppatori hanno
ceduto leggermente e introdotto GNOME Classic.
Si tratta di una serie di estensioni che fanno apparire
GNOME 3 come GNOME 2. Ora si pone a met strada
avendo laspetto di GNOME 2, ma ogni cosa ha ancora
laria minimalista di GNOME 3. Come tale, troviamo difficile
consigliarlo adesso, ma ai suoi primi passi e le versioni
successive potrebbero migliorarlo.

Verdetto
Il migliore per .....................................................Minimalismo
Evitatelo se......Vi piace vedere cosa sta accadendo
Provatelo su......................................................................Fedora
In poche parole........................................Di meno di pi

In GNOME 3,
quasi ogni cosa
stata tolta dallo
spazio di lavoro
(sinistra) e messa
nellanteprima
(destra)

LINUX PRO 133

Ambienti desktop

KDE

Come si valuta una cosa sempre mutevole?

l problema nella valutazione di KDE che sembra essere


diverso ogni volta che lo vediamo. C il KDE di base
che ottenete se lo installate su di una distribuzione non-KDE,
ma molte distro specializzate in KDE (Mageia, ROSA,
OpenSUSE, ecc.) hanno uno spazio di lavoro personalizzato.
La maggior parte degli utenti avanzati di KDE hanno
impostazioni personali che hanno ottimizzato nel corso degli
anni e spesso forniscono un ambiente grafico radicalmente
diverso da quello che otterreste appena dopo uninstallazione.
Nei fatti, le differenze tra due installazioni di KDE sono spesso
cos grandi, che qualcuno non abituato a Linux dovrebbe
sforzarsi per riconoscere lo stesso ambiente grafico. Per questo,
ci sbilanceremo e diremo che KDE non un affatto un
ambiente grafico, ma una struttura allinterno della quale potete
costruire un ambiente grafico. Le impostazioni predefinite
nel KDE di base sono, a nostro umile parere, pessime.
Appare piatto e non sfrutta la potenza di KDE. Ci sono
alcune distribuzioni fornite con impostazioni migliori,
in particolare le tre menzionate prima, ma sono tutte un po
conservatrici. La vera potenza di KDE si rivela quando vi
ci immergete e lo personalizzate voi stessi. Per la maggior parte,
questo si fa tramite componenti (widget). Sebbene molti
ambienti permettano le estensioni di terze parti in qualche
forma, nessun altro li adotta quanto KDE. Di fatto, la maggior
parte di KDE fatta di questi componenti. Alcuni sono distribuiti
come parte del pacchetto principale di KDE, mentre altri
possono essere ricavati da vari sviluppatori, ma tutti hanno
ugualmente accesso ai meccanismi interni dellambiente grafico.
Uno schermo sovraccarico, pieno di componenti graficamente
attraenti che mostra tutti i tipi di informazioni, per la maggior
parte inutili, il segno caratteristico di un nuovo utente di KDE.

facile lasciarsi
trasportare
dai componenti
di KDE,
ma con un po
di riflessione e di
sperimentazione,
possono rendervi
la vita pi
semplice

La storia di KDE
Lincoerenza delle applicazioni di UNIX
preoccupava Matthias Ellrich. Egli non voleva
solo un ambiente grafico, ma un intero
ecosistema di applicazioni che condividessero
lo stesso aspetto. Pubblic su Usenet
la proposta di un Kool Desktop Environment
(ora chiamato KDE) e la prima versione usc
nel luglio del 1998. Tuttavia, molti sostenitori
del Software Libero erano preoccupati che

10

LINUX PRO 133

dipendesse da Qt, che non era Open Source.


Trolltech, la proprietaria di Qt, infine spost
Qt sotto GPL nel settembre 2000.
Il progetto continu senza intoppi attraverso
la versione 2 nel 2000 e la 3 nel 2002, fino
a KDE 4 nel 2008, che gli utenti trovarono
instabile e non rifinito. Sebbene il software
sia stato migliorato, KDE 4 continua a essere
guardato con sospetto da molte persone.

Qui vedete unattivit che ci aiuta a gestire la nostra presenza


in Rete. Questo ci permette di tornare indietro facilmente
a uno spazio di lavoro normale quando abbiamo finito

Con il tempo e lesperienza, la maggior parte dei veterani di KDE


si ritaglia la propria strada fino ad appena pochi componenti che gli
forniscono quello di cui ha bisogno. Per esempio, noi abbiamo due
viste di cartelle (per le cartelle Documenti e Download), una previsione
del tempo (essenziale per chi si sposta in bicicletta) e yuake (un
terminale che scende dallalto dello schermo quando si preme F12).
Questo d la nostra idea del perfetto equilibrio tra intasamento
e informazione. Il vostro, naturalmente, pu essere diverso.

Morte per personalizzazione


La seconda area principale che potete personalizzare in KDE
sono le attivit. In un certo senso queste sono spazi di lavoro
virtuali molto pi personalizzabili. Permettono agli utenti
di passare tra viste altamente customizzabili quando eseguono
diverse attivit sui loro computer. Come per la maggior parte
di KDE, per essere utile, dovete passare del tempo
a modificare le vostre procedure e i casi duso. Per molte
persone, questo richiede un po troppo sforzo ed una
funzione usata raramente. Naturalmente, un ambiente
grafico, come abbiamo detto allinizio, un pacchetto completo
che comprende parecchi strumenti utili. Mentre molti degli altri
ambienti che studiamo in questo articolo usano strumenti simili
di GTK, KDE usa quelli basati su Qt In generale, questi
continuano la filosofia di KDE della configurabilit estrema.
Ce ne sono abbastanza da poterci plausibilmente fare tutto
il vostro lavoro al computer nelle applicazioni di KDE,
dallemulatore di terminale Konsole al pacchetto Calligra
Office Suite, a Konqueror, il browser. Questo significa che
avete una serie completa di applicazioni che condividono tutte
gli stessi principi di progettazione e hanno lo stesso aspetto.
In teoria questo dovrebbe significare avere uno spazio di lavoro
coerente, per non funziona sempre tanto bene.

Verdetto
Il migliore per.....................................Personalizzazione
Evitatelo se .......................................................Vi piace GTK
Provatelo su .................OpenSUSE, Rosa o Mageia
In poche parole .......Il paradiso degli ottimizzatori

Ambienti desktop

Unity

Il nuovo concorrente si fatto amici e nemici

opo la scomparsa di GNOME 2, il suo team di sviluppo,


come abbiamo visto, cre GNOME 3 con un ambiente
grafico completamente riprogettato. Ubuntu,
precedentemente la distribuzione di GNOME principale, decise
di non usare la nuova versione, ma di creare il suo proprio
ambiente e lo chiam Unity. Ci sono state lamentele perch
era quasi identico a GNOME 3, ma questo sembra dovuto
alla prospettiva superficiale del pannello inferiore mancante
con la maggior parte dellazione che accade nellangolo in alto
a sinistra. Unity non ha la stessa filosofia di massima
semplificazione e i due ambienti sono di fatto piuttosto diversi
da usare. Lo spazio di lavoro di Unity, sebbene ordinato, pi
impegnato che in GNOME 3. Ci sono un Lanciatore e un Elenco
di finestre sullo spazio di lavoro, perci non dovete passare
a una nuova schermata per accedere alle funzioni di base.
Forse la cosa pi insolita del Lanciatore che potete
appendervi sia applicazioni Web sia applicazioni native.
Gli scettici sostengono che questi sono poco pi che
collegamenti a un indirizzo Web, disponibili in altri ambienti
grafici da anni. Questi scettici hanno ragione, ma quel
poco pi pu essere importante. Per esempio, permette
alle applicazioni Web di accedere allarea delle notifiche.
Sebbene non tutti si sentano a proprio agio a usare la nuvola,
questo rende cose come la Webmail un po pi agevole da
usare per quelli che lo fanno.

Il tema della forte funzionalit


Forse il grande confronto finale tra GNOME 3 e Unity
nellAnteprima contro la Dash. Questi sono grossomodo
equivalenti ai menu negli ambienti grafici tradizionali. Posti dove
potete lanciare le applicazioni (che non sono nel lanciatore)
e cercare le cose. Come lAnteprima di GNOME 3, la Dash
di Unity accessibile tramite langolo in alto a sinistra.
Diversamente da GNOME 3, per, non ha un Elenco di finestre
o una barra dei preferiti, poich queste cose sono incluse
nello spazio di lavoro principale. Ancora una volta, vediamo
attraverso questo le differenze tra le diverse filosofie. GNOME
3 il pi semplice possibile, mentre Unity ha pi funzioni.
In modo predefinito, permette allutente di cercare nelle

Ignorate le somiglianze superficiali, Unity e GNOME 3 sono molto diversi da usare

applicazioni, nei file archiviati localmente e tra i prodotti


su Amazon. Lidea creare un solo punto dove lutente pu
cercare qualunque cosa: basta aprire la Dash e digitare quello
che si vuole. Linclusione dei risultati in Rete ha irritato alcuni
sostenitori della riservatezza ed possibile disattivarli nel
pannello Impostazioni. La pi grande funzione della Dash
di Unity che assente nella versione di GNOME sono le lenti.
Queste permettono di concentrare la ricerca su di un area
in particolare. Per esempio, la lente video vi permette di
ricercare i video in Rete. C anche una lente di Wikipedia
per aiutarvi a trovare rapidamente gli articoli sullenciclopedia
online. Vediamo un potenziale reale in queste lenti, ma per
il momento sembrano un po sotto utilizzate. La lente video,
per esempio, non cerca in un ampio raggio di fonti. Se fornisse
un solo punto dove poter cercare tutte le fonti di video a cui
avete accesso, allora sarebbe unottima funzione. Cos com,
pensiamo che difficilmente la useremo. Abbiamo scoperto
che ci vuole un po di tempo per abituarsi a Unity, ma ora non
ricordiamo perch mai usavamo i menu delle applicazioni.

Verdetto
Il migliore per..Icone grandi e applicazioni del Web
Evitatelo se................Vi piacciono i menu e i pannelli
Provatelo su .....................................................................Ubuntu
In poche parole......................................Innovativo e forte

Dispositivi

LHead-Up Display (HUD) di Unity declassa leggermente


il mouse, permettendovi di usare il menu di unapplicazione
senza dover togliere le mani dalla tastiera

Unity progettato non solo come ambiente


per PC, ma anche per funzionare su tablet,
telefoni e persino TV. Canonical, lazienda
dietro a Ubuntu, sta seriamente inseguendo
il mercato dellelettronica di consumo
e se i loro piani avranno successo, sarete
presto in grado di avere questo ambiente
su tutti i vostri aggeggi. Comunque, finora
la sua strategia non ha funzionato, e non

troverete niente nei negozi. Canonical


rimane fiduciosa per e sostiene di avere
un po di supporto almeno dalle societ
di telefoni. Qui alla redazione di Linux Pro,
per, non
crediamo
nellhardware
finch non lo
vediamo.

LINUX PRO 133

11

Ambienti desktop

Mate e Cinnamon
La storia di due diramazioni di GNOME

uando GNOME e Unity hanno fatto cambiamenti radicali ai loro ambienti,


sono emersi due ambienti grafici che hanno cercato di fornire una casa
confortevole agli utenti disillusi. Entrambi sono stati costruiti sul codice
di GNOME, ed entrambi hanno mirato a ricreare un aspetto familiare, ma hanno
preso strade diverse verso quellobiettivo. Qui vedremo Mate e Cinnamon.
Se avviate uno qualsiasi di essi, vi si presenter uno schermo simile. C uno
spazio di lavoro dove i file possono essere depositati, un pannello in basso
che mostra le notifiche, un elenco di finestre aperte e un menu applicazioni
nellangolo in basso a sinistra. Ai fini di questo articolo, ci riferiremo a questo
come allo spazio di lavoro tradizionale. stato il modo in cui molti di noi hanno
interagito con i propri computer per almeno due decenni e la maggior parte
delle persone lo trova facile da usare. Le differenze tra i due ambienti grafici
si riducono al pedigree.
Mate una continuazione di
GNOME 2, mentre Cinnamon
un fork di GNOME 3, che
progettato per conservare
la struttura di GNOME 2.
La differenza pi evidente tra
i due che Cinnamon sfrutta
lhardware moderno per
fornire grafica fluida, mentre Mate gira pi efficientemente su hardware pi
vecchio. La potenza extra di Cinnamon usata per fornire cose come una
panoramica (passate il mouse sullangolo in alto a sinistra e vi mostrer una
panoramica delle finestre aperte). Gli utenti meno abili, per, possono trovarlo
fastidioso quando cercano il menu File un po troppo aggressivamente e
improvvisamente scoprono che lo spazio di lavoro scompare. Nellultima versione
di Cinnamon (1.8), sono stati introdotti i desklet. Questi vi permettono di mettere
oggetti dinamici sullo spazio di lavoro. Per esempio orologi o visualizzatori
di fumetti che si aggiornano automaticamente. Questi sono simili ai widget che
si trovano in KDE, per non sono altrettanto invadenti. Poich sono una nuova

Costruiti sul codice


di GNOME, miravano
a ricreare un
aspetto familiare

Cinnamon partito come estensione per semplificare luso


di GNOME 3, ma diventato un fork dopo che divenne chiaro
che i due progetti stavano andando in direzioni incompatibili

funzione, non sappiamo ancora se diventeranno altrettanto


potenti quanto i widget di KDE o se aggiungeranno soltanto
un po di stile allo spazio di lavoro di Cinnamon.

Scegliete il vostro GTK


La seconda grande differenza che Cinnamon basato
sul toolkit GTK 3, mentre Mate costruito su GTK 2.
Questo significa che i due appaiono leggermente diversi
e corrispondono a diverse serie di applicazioni. Naturalmente,
usare un ambiente che adotta GTK 2 non significa
che non si possa utilizzare software che impiega GTK 3
e viceversa, ma non unesperienza facile. Per come
stanno le cose attualmente, quasi tutte le applicazioni
che non sono parte del progetto GNOME hanno una
versione di GTK 2. Comunque, questo probabilmente
cambier in futuro quando gli sviluppatori inizieranno
a sfruttare le funzioni pi nuove di GTK 3. Troviamo
che ci sia poco a differenziare i due e agli utenti a cui
piace uno probabilmente piacer anche laltro. Forse,
con il passar del tempo, i due ambienti si allontaneranno
per indirizzarsi a specifiche basi di utenti, ma questa
pura speculazione. Sappiamo, per, che questi
due giovani ambienti sono diventati rapidamente
le pi popolari interfacce per Linux. Lo hanno fatto
ascoltando gli utenti e dandogli ci che volevano.

Verdetto: Mate
Il migliore per........................I computer pi vecchi
Evitatelo se .............................................Vi piace GTK 3
Provatelo su ....................................................................Mint
In poche parole ............................GNOME 2 vivo!

Verdetto: Cinnamon
Uno dei vantaggi dellOpen Source che gli utenti possono tenere un progetto
in vita dopo che gli sviluppatori lo abbandonano, come successo tempo fa
con GNOME 2 che diventato Mate

12

LINUX PRO 133

Il migliore per.......................................................Gli hippy


Evitatelo se .............Avete una vecchia macchina
Provatelo su ....................................................................Mint
In poche parole .......... Un ambiente tradizionale

Ambienti desktop

Xfce

Il primo rifugio da GNOME 3

olte persone hanno visto Xfce come rifugio naturale


per gli utenti di GNOME 2 quando uscito GNOME 3.
un ambiente grafico basato su GTK e ha un layout
grossomodo simile. Tuttavia, molte delle persone che inizialmente
lo hanno adottato dopo aver lasciato GNOME 2, da allora se ne sono
allontanati, compreso Linus. Questo perch i due ambienti sono stati
progettati per utenti diversi. La grafica e gli effetti di Thunar, il gestore
di file, pi semplice di quelli nelle piattaforme pi grandi, ma
perfettamente funzionale per la maggior parte degli utenti. Tutto
questo deriva da prima di GNOME 3, quando Xfce si ricavava una
nicchia come ambiente simile a GNOME 2 scarno per macchine
di bassa potenza. Ha funzioni che alcuni degli ambienti anche
di minor potenza (come LXDE) non hanno, come i pannelli lanciatori,
ma questi non sono graficamente gradevoli come negli ambienti pi
potenti. Nellultimo paio danni altri ambienti sono arrivati a riempire
la nicchia di GNOME 2, mentre Xfce ha continuato a fare quello che
ha sempre fatto bene: un semplice ambiente Linux di bassa potenza.
Non saremmo completamente corretti nel descriverlo come senza
fronzoli, ma certamente ne ha un numero molto limitato.
Che ne abbia abbastanza o meno una questione di gusti personali.

Lo scopo
di Xfce
di essere pulito,
semplice
ma anche
funzionale
e noi pensiamo
che ci riesca

Verdetto
Il migliore per........................................Minimalismo non troppo minimalista
Evitatelo se......................................Vi piace un alto livello di configurabilit
Provatelo su...................................................................................Xubuntu, Debian
In poche parole.............................Mira a essere semplice, ma non troppo

LXDE

Il peso piuma che sa colpire duro

i sono fondamentalmente due modi di progettare un


ambiente desktop. Uno di chiedervi quanto possiamo dare
allutente?, laltro chiedervi qual il minimo che possiamo
dare allutente?. LXDE progettato con questultimo modo
in mente. Il gestore di finestre semplice, cos come il gestore di file.
In breve, non c fuffa. Niente di cui non abbiate bisogno. Il risultato
uninterfaccia pulita piacevolmente priva di interferenze. un
bicchiere dacqua fresca dopo aver bevuto una bibita gassata. Alcuni
potrebbero dire che noioso e avrebbero ragione, ma importa
veramente? Il vostro ambiente grafico dovrebbe essere emozionante
o dovrebbe stare fuori dai piedi e lasciarvi stare con quello che state
facendo con il minimo di fronzoli? Se siete di questultima opinione
allora LXDE potrebbe fare per voi. Sta godendo di una certa rinascita
al momento, dovuta allessere lambiente grafico pi popolare
sulla Raspberry Pi. I due progetti stanno bene insieme perch sono
entrambi basati sul principio che lavorare al computer questione
di funzionalit, non di forma. Naturalmente, un po anche di forma,
e pensiamo che lincarnazione di LXDE in Lubuntu abbia il miglior
tema e impostazione, perci un buon punto da cui iniziare
per le persone nuove a questo ambiente.

La natura
di peso leggero
di LXDE ne ha
fatto la scelta
perfetta per
Raspbian,
la distribuzione
raccomandata
per Raspberry Pi

Verdetto: LXDE
Il migliore................................................................................................... Basso uso di risorse
Evitatelo se..............................................................................Vi piacciono gli effetti grafici
Provatelo su.........................................................................................................................Lubuntu
In poche parole..............................Un ottimo ambiente per macchine vecchie

Come si comporta il sistema su macchine di bassa potenza

Pi lento Pi veloce
GNOME 3 Cinnamon Unity KDE Mate Xfce LXDE

Nota: Questo
dipende dalla
macchina e dalle
impostazioni
usate

LINUX PRO 133

13

Ambienti desktop

Soluzioni meno usate


Enlightenment

on c modo di nascondere
il fatto che Enlightenment
portato a deliziare locchio.
Le cose si dissolvono, appaiono e brillano
allegramente ogni volta che fate
qualcosa. Alcune persone trovano che
tutte queste distrazioni e condimenti (sic)
delle finestre siano un po troppo, ma
per altri aggiunge un po di buon umore
alluso del computer. Enlightenment
si descrive come un interfaccia grafica,
il che significa un ambiente grafico senza

Sugar

uando Nicholas Negroponte


fond One Laptop Per Child,
il progetto part con hardware
estremamente limitato, perci gli
sviluppatori iniziarono a creare un
ambiente grafico che fosse molto leggero
sulle risorse e molto a misura di bambino.
Dato che la maggior parte dei loro utenti
obiettivo non aveva mai visto prima

alcuna applicazione fornita. Poich lo


stile cos diverso dagli altri ambienti
(dai quali dovrete prendere il software)
questo si traduce in un sistema
che appare incoerente. Tuttavia,
se vi piacciono gli effetti dellinterfaccia,
ma non vi piace KDE, Enlightenment
pu fare per voi.
Enlightenment uno dei pi vecchi
ambienti di Linux, precedente
sia a KDE sia a GNOME

un computer, non parliamo di usarlo,


doveva anche essere facile da utilizzare.
Sugar il risultato di questo. un po
troppo semplicistico per la maggior parte
degli usi, ma eccellente per i bambini
con le sue icone a mattoncini e uno
schema di colori ad alto contrasto che lo
rende ottimo per i loro primi passi digitali.
Provate uninterpretazione di Fedora qui:
http://wiki.sugarlabs.org/go/
Sugar_on_a_Stick.

Openbox (CrunchBang)

bbiamo detto allinizio che un


ambiente grafico un cosa difficile
da definire. Openbox un
perfetto esempio del perch. Molti altri
ambienti grafici usano Openbox come
gestore di finestre preferito (come LXDE
e RazorQT). Tuttavia, con un po di
configurazione, pu essere trasformato
in un ambiente grafico a pieno titolo, ed
esattamente quello che gli sviluppatori

Puppy

uesta distribuzione ha costruito un


ambiente grafico intorno a JWM,
un semplice gestore di finestre
che non usato in molte altre installazioni.
Come potrete indovinare, progettato per
essere parco con le risorse. Il risultato finale
piacevole, sebbene non spettacolare
e funziona ammirevolmente su hardware

14

LINUX PRO 133

di CrunchBang hanno fatto. un ambiente


spoglio che forse ha qualcosa in comune
con GNOME 3, sebbene non proprio
a quellestremo. Il suo minimalismo lo ha
reso caro agli amministratori di sistema
e agli utenti avanzati che apprezzano la
mancanza di uno spazio di lavoro gonfiato.
Minimalista e amato dagli amministratori
di sistema, ma troppo oscuro per molti

vecchio. progettato in maniera tradizionale


e fa un buon lavoro proprio stando fuori
dai piedi. Pu sembrare un po datato se
paragonato ai suoi cugini pi impegnativi
per le risorse, ma per quante persone
lo trovano gradevole, altrettante lo trovano
fastidioso. Ottimo per macchine vetuste.
Non c da sorprendersi se questo
ambiente sommerso da immagini di
cuccioli di cane (puppy significa cucciolo)

Ai bambini piccoli potrebbe piacere, ma la maggior parte


degli utenti preferir un ambiente diverso

Ambienti desktop

Xmonad

e c un ambiente grafico che sta


al di fuori di tutti gli altri qui esaminati,
questo. Prima di iniziare a usarlo
meglio dimenticare tutto quello che pensate
di sapere su come un ambiente dovrebbe
funzionare. Bene, lavete fatto? Lo spazio
di lavoro in Xmonad diviso in tessere,
ognuna delle quali contiene unapplicazione.
Potete mischiare le tessere, cambiarne
la dimensione e lattivazione. Potete anche
usare il mouse allinterno delle tessere, ma
non per riordinare lo spazio di lavoro come

fareste con le finestre. Il risultato


ha un aspetto un po particolare,
ma sorprendentemente usabile
una volta abituati alla nuova disposizione.
Naturalmente, non adatta per tutti.
Trovate una visita guidata per iniziare qui:
www.xmonad.org/tour.html.
Xmonad degno di essere provato,
anche solo per avere una nuova
prospettiva su come potete interagire
con il computer

RazorQT

ome abbiamo visto, c unampia


gamma di ambienti leggeri per Linux.
Tuttavia, quasi tutti usano il toolkit
GTK che pu causare problemi poich lo
sviluppo passato al meno leggero GTK 3.
(LXDE ha iniziato a lavorare su una versione
Qt, ma potrebbe volerci del tempo prima
che sia pronta per luso generale). Molte
persone preferiscono anche laspetto di Qt.
RazorQT stato creato per riempire questo

particolare vuoto. costruito usando lo


stesso toolkit Qt di KDE, ma senza essere
gonfiato. Finora non ha molte applicazioni,
ma funziona con quelle di KDE. ancora
giovane se paragonato agli altri in questo
confronto, e ci aspettiamo che migliori e inizi
presto a sfidare gli altri ambienti leggeri.
un ambiente Qt, ma non come
quelli a cui siamo abituati

Conclusione
S

e chiedete a dieci utenti di computer cosa vogliono


da uninterfaccia, avrete dieci risposte diverse, quindi perch
dovrebbero tutti usare lo stesso ambiente grafico? La risposta
semplice: non dovrebbero. Perci, non ci limiteremo a un solo
ambiente migliore perch non pensiamo che ce ne sia uno, ma
non ci tireremo indietro completamente. Sceglieremo un desktop
ideale tra quattro categorie: tradizionale, nuovo stile, ottimizzabile
e fuoriserie. Crediamo che questo riconoscimento di stili diversi di uso
del computer sia diventato particolarmente importante negli ultimi
due anni, quando il numero di ambienti per Linux si diversificato
significativamente. C sempre stata una gamma di ambienti, ma ora,
pi che mai, c una gamma di buoni ambienti. Non tutti sono adatti
a chiunque, ma tutti, pensiamo, saranno in grado di trovare
un desktop che funzioni bene per loro.

Per i tradizionalisti
Dobbiamo dire che qui non ci sono cattive scelte nella categoria
al momento. Xfce, LXDE, Mate, Cinnamon e KDE sono tutti ottimi
ambienti. Tutti hanno buoni e cattivi argomenti, ma pensiamo che i pi
tradizionalisti sarebbero contenti di ognuno di loro. Comunque, deve
esserci un vincitore, e scegliamo Mate per il modo in cui continua
laspetto di GNOME 2 fino ad oggi.

Andremo con Unity come nostro primo ambiente per i pi coraggiosi


semplicemente perch non possiamo allinearci con laspetto spoglio di
GNOME. Abbiamo bisogno di un po pi di attivit sullo spazio di
lavoro. S, qualche volta ci distrae, ma non sempre una brutta cosa.

Per gli ottimizzatori


Siamo onesti, c sempre stato solo un possibile vincitore qui
ed KDE. Sebbene un menzione donore dovrebbe andare
a Cinnamon ora che comprende i desklet. Enlightenment
unaltra opzione, per crediamo che non raggiunga KDE
come ambiente grafico completo. Forse il prossimo anno
KDE avr uno sfidante.

Per i fuoriserie
Per questa categoria sceglieremo lambiente che aggiunge
di pi al mondo dei desktop per GNU/Linux. Cio quello che
ha pi funzionalit utili che non possono essere ottenute in qualsiasi
ambiente comune. Il vincitore offre un modo radicalmente
diverso di fare le cose che abbiamo scoperto sorprendentemente
usabile. Nei fatti siamo stati tentati di passare a questo.
Gi il cappello di fronte a Xmonad. LXP

Per il coraggioso che c in noi


Qui si riduce a GNOME 3 e Unity. Un sacco di gente li odia entrambi,
ma c sicuramente richiesta di progetti di ambiente molto pi decisi.
LINUX PRO 133

15

Trisquel

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

Trisquel

Ubuntu libero?
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

Usare Trisquel 6.0


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,
noi non abbiamo avuto problemi a far lavorare
Trisquel sulle nostre macchine, riscontrando
un notevole miglioramento nel panorama
dei driver free. Linstaller, infine, una versione
modificata di quello che trovate su Ubuntu.
La sua particolarit di essere uno dei sistemi
dinstallazione pi semplici da usare per chi
proviene dal mondo desktop ne ha fatto
il candidato principale per luso in Trisquel.

LINUX PRO 133

17

Trisquel
Libero dentro
Trisquel Linux disponibile in quattro edizioni. La principale
consiste in un LiveCD da 700 MB autoinstallante, che utilizza
un desktop GNOME. Poi c la versione Mini da 500 MB,
che invece sfrutta LXDE ed progettata per funzionare
a dovere sui netbook o su PC con hardware datato. C anche
la versione i18n da 1,2 GB, fornita con traduzioni in ben 50
lingue a cui poi si affianca ledizione NetInstall da 25 MB,
che scarica i pacchetti da Internet in fase di installazione. Tutte
le versioni sono disponibili con architettura a 32 e 64 bit.
In Trisquel, oltre al non plus ultra del Software Libero,
come LibreOffice e GNOME, ci sono altri componenti che
mantengono alta la qualit del prodotto finale. Due esempi
sono il browser e il kernel Linux-libre. Abrowser la versione
sbrandizzata di Mozilla Firefox e oltre a rimuovere il marchio,
il team di Trisquel lo ha modificato per suggerire solo Software
Libero e add-on che seguano la stessa filosofia. Allindirizzo
https://trisquel.info/en/browser, il progetto mette a
https://trisquel.info/en/browser
disposizione un nutrito elenco di estensioni, temi e traduzioni
rigorosamente free. Un ulteriore aspetto che i creatori
di Trisquel hanno dovuto tenere in considerazione la
compatibilit della distro con il resto del mondo Linux.
Per farlo hanno deciso di usare una versione modificata
di Ubuntu, che invece di
sfruttare il tradizionale
kernel vanilla, mette
allopera Linux-libre.
Prima di farlo, per,
gli sviluppatori hanno
dovuto rimuovere i blob
binari, utilizzando un apposito script di Linux-libre
che, pur compiendo il suo dovere, mantiene stabile
il sistema operativo. Ecco perch il team spiega
questa procedura, affermando che il risultato
non comporta la sola rimozione dei blob, ma
lassicurazione che ogni parte del nuovo kernel non richieda
luso di codice non free per lavorare correttamente.

Trisquel usa un browser sbrandizzato ripreso da Mozilla Firefox,


cui stato tolto il logo e qualsiasi richiamo a software non free

La forza di GNU
Mettere insieme una nuova versione di Trisquel non cosa
da poco. Prima di tutto si devono rispettare le linee guida per le
distro GNU con Software Libero. Il lavoro per una nuova release
inizia dopo il rilascio di quella per Ubuntu. Lintero processo di
purificazione ha una durata di circa sei mesi, alla fine dei quali
si annuncia il rilascio della nuova versione di Trisquel. Il primo
compito creare un repository
di pacchetti per lo sviluppo.
A questo punto gli sviluppatori
realizzano un mirror locale
dellultima release di Ubuntu,
che viene poi aggiornata ogni
notte con lo strumento
reprepro e alcuni script cron. I pacchetti sono poi ripuliti
seguendo una lista nera in cui sono contenuti i software non free.
Questo repository purificato, infine, diventa larchivio su cui
il team di Trisquel basa il proprio lavoro. Oltre ai pacchetti
di base, il repository contiene anche le sostituzioni di tutto
ci che stato rimosso. Una volta testato, se tutto funziona
a dovere, viene mandato ai repo ufficiali con rsync.

Ogni parte del nuovo


kernel non deve usare
codice non free

Che cos una distro libera?


Trisquel una distro completamente libera da
software proprietario, ma cosa significa in realt?
In base alle leggi sul diritto dautore, il creatore
di unopera lunica persona che gode di alcuni
diritti, come la possibilit di modificare o distribuire
il proprio lavoro. A titolo di una licenza software, i
programmi gratuiti forniscono a tutti gli stessi diritti
dei creatori, che sono riepilogabili in questi 4 punti:
1 Libert di utilizzarlo.
2 Libert di studiare il programma e apportare
le modifiche in base alle proprie esigenze.
quindi richiesto laccesso al codice sorgente.
3 Libert di distribuire copie dellapplicazione.
4 Libert di distribuire le copie della propria
versione modificata.
La licenza pi popolare nel panorama del Software
Libero la GNU GPL, che concede i quattro diritti
espressi poco sopra. Allopposto, se vi soffermate
un attimo a rileggere i punti elencati, non farete
fatica ad accorgervi che quando acquistate una
licenza di un software proprietario, lunico diritto

18

LINUX PRO 133

concesso il primo: quello di utilizzarlo.


Non potete per n studiare lapplicazione,
n apportare alcuna modifica, n tantomeno
farvi venire in mente di distribuirne una copia.
La pena una sanzione severissima. Partendo
dal presupposto che una distro libera deve essere
totalmente priva di software proprietario, non
dovr sconvolgervi pi di tanto se non sempre
cos. I programmi, infatti, non sono gli unici
elementi di cui si compone una distribuzione
e sebbene siano importanti, c molto altro. Ci sono
i font, la documentazione, i driver e cos via. Per
una distro, essere classificata come totalmente free,
significa che ogni componente di cui fa uso deve
dare libero accesso al proprio codice sorgente
ed essere messo a disposizione di chiunque voglia
consultarlo, modificarlo e ridistribuirlo a sua scelta.
Oltre a quanto detto, bisogna considerare che una
distro non fatta di soli elementi tecnici, ma anche
di una serie inimmaginabile di parti grafiche: menu,
barre degli strumenti, icone e molto altro ancora.

Tutti gli elementi che vanno al di l del semplice


terminale a riga di comando, rientrano
nellinterfaccia grafica che il sistema operativo
usa per accogliervi in modo semplice e funzionale.
Come per gli elementi tecnici, anche tutta la parte
grafica deve essere completamente libera da
clausole proprietarie. Se cos non , il suo utilizzo
precluso in una distro completamente free.
Un altro dei requisiti indispensabili per rientrare
a pieno titolo nelle distribuzioni libere il non
indirizzare gli utenti verso software, plug-in
o add-on che non rientrino nella medesima
filosofia di libert. Ecco perch Trisquel, prima
del rilascio di qualsiasi versione, intraprende
un periodo di intenso controllo in cui vengono
identificati e poi rimossi tutti gli elementi
dichiaratamente non free che appartengono alla
distro madre. Lesempio pi lampante Abrowser,
che pur basandosi su Mozilla Firefox, viene
sbrandizzato per eliminare il logo e ogni richiamo
a qualsiasi estensione di natura proprietaria.

Trisquel
Pacchetti personalizzati
La parte pi interessante del processo di sviluppo, in realt,
la creazione dei pacchetti personalizzati di Trisquel,
che viene realizzata sfruttando una serie di script chiamati
helper. Secondo Rodrguez, sono molto simili al Builder tool
creato dal team della distro gNewSense, vale a dire
unaltra distribuzione approvata dalla FSF. Trisquel utilizza
gli helper per modificare e compilare alcuni pacchetti del
repository di Ubuntu, che contengono software non free
e su cui gli sviluppatori puntano il dito per modificare la loro
attivit. In sostanza, gli helper non sono altro che piccoli
script Bash che contengono editor di flusso. Rodrguez
spiega nel dettaglio come funzionano. Supponiamo di voler
modificare un pacchetto per migliorarlo, magari eliminando
qualcosa che non dovrebbe esserci o che suggerisce di usare
programmi non free o, ancor peggio, richiama un concetto
di propriet intellettuale. In questo caso, lhelper recupera
il codice sorgente - solitamente da Ubuntu, ma anche da altre
fonti, come un PPA o un repository di Debian - e lo prepara
per le modifiche che lo sviluppatore eseguir, rendendolo
adatto alla fisolofia di Trisquel. Se si rende necessario,
continua Rodrguez, si ricostruisce anche tutto il sottosistema
di compilazione, generando nuove gabbie chroot per disporre
il codice allinterno e creare nuovi pacchetti da mettere in
sviluppo nel repository di Trisquel. Per costruire limmagine
ISO finale, Trisquel utilizza lo strumento Debootstrap
allinterno di uno script che installa un meta pacchetto
per costruire le diverse versioni della distro. Una volta fatto,
le comprime in unimmagine squashfs e
la rende avviabile con Isolinux. Il progetto,
inoltre, utilizza uno script personalizzato
chiamato makedistro, che crea un set
di codici per il DVD sorgente.

Cercasi volontari

dimostrato di essere un po problematico nellinterazione


con altre distro, la mancanza di unadeguata piattaforma
dedicata ai test. Secondo Rodrguez c bisogno di una lista
completa di prove da fare per ogni ISO di Trisquel che viene
messa in campo. Uno degli elementi che allo stato attuale
dimostra di dare
maggiori problematiche,
per esempio, il
fallback di GNOME 3,
che stato importato
da GNOME 2. Tutti gli
sviluppatori di Trisquel
stanno per lavorando al progetto GNOME per mantenere
intatta la modalit fallback, cos da non doverla escludere
dalla distro. Altri progetti hanno dovuto abbandonare GNOME
3 a causa della radicale diversit dellinterfaccia utente,
ma il motivo principale per cui Trisquel non lo utilizza
il non completo supporto per la navigazione tramite tastiera,
che va cos a influire sulluso della distro da parte dei soggetti
ipovedenti. Gnome Shell richiede poi laccelerazione 3D
e, allo stato attuale, la qualit dei driver grafici free lascia
ancora molto a desiderare. Per evitare di aggiungere
funzionalit che potrebbero minare la stabilit del sistema,
gli sviluppatori hanno quindi optato per la scelta di non
includerli. Per supportare la comunit di Trisquel, non
necessario essere per forza un programmatore. Potete
partecipare sia con un programma di membership, sia
facendo una donazione (http://trisquel.info). Rodrguez
dichiara che la campagna di abbonamenti iniziata non
appena la FSF ha dato ladesione alla distro ed inutile dire
come questo evento ci abbia reso immensamente orgogliosi.
In definitiva, Trisquel molto pi di una semplice distribuzione
completamente free, perch oltre a fornire tutte le comodit
a cui Ubuntu ha abituato, mette al centro dellattenzione
la vostra privacy e la completa libert che dovrebbe essere
sempre rispettata da qualsiasi software. Se poi ce ne fosse
ancora bisogno, dimostra come un sistema operativo
del tutto libero sia non solo possibile, ma anche e soprattutto
produttivo. Evviva la libert! LXP

In Trisquel
trovate la suite
LibreOffice 3.5
con Writer, Calc,
Impress e Draw

Il team sempre alla


ricerca di volontari che
aiutino il progetto

Come ogni progetto che si basa sul lavoro dei volontari, per
il team di Trisquel fondamentale andare sempre a caccia di
nuovi sviluppatori, intenzionati a contribuire al miglioramento
delle distro e alla risoluzione di eventuali bug che talvolta
vengono riscontrati. Uno dei punti critici del sistema, che ha

Il Package Manager di Trisquel permette di installare solo


software free. Per i programmi proprietari usate Synaptic

LINUX PRO 133

19

Intervista

il giorno
del pinguino
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

Linux pro 133

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,

Intervista
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 superiore
e un numero sempre pi ampio di server
al 10% in Italia (i dati sono stimati) e un ruolo
utilizzano Linux. Inoltre, non bisogna dimenticare
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
di sviluppo chiuso superiore, dopo che anche
la supervisione del budget. In questo modo,
IBM e Microsoft - la prima ha inventato
ho 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

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

21

Intervista
e personalizzazioni legate a chi presenta
LibreOffice - in tutte le sedi.
Questanno, credo che arriver un po lungo,
verso la met di ottobre.

Per informazioni sull'evento: www.linuxday.it

diamo a coloro che sono ancora incerti la forza


di intraprendere la migrazione a LibreOffice.
Ripeto, combattiamo contro nemici potenti,
che hanno budget importanti e puntano
al risultato, che per loro il lock in dellutente.
Purtroppo, queste aziende hanno avuto
la possibilit di operare senza controlli per troppi
anni, per cui il mercato imbevuto della loro
cultura. Quando un documento generato con
MS Office non si apre con LibreOffice, lutente
critica questultimo - che deve fare sforzi enormi
per emulare formati creati per impedire
linteroperabilit - e non critica Microsoft,
che nella realt la vera causa di tutti questi
problemi con i suoi formati proprietari o con
i suoi falsi formati standard, perch gli stato
insegnato che Microsoft lunico riferimento
valido. La battaglia per la libert lunga,
e si gioca sul piano delleducazione. Bisogna
ripetere fino allo sfinimento gli stessi concetti,
perch solo in questo modo gli utenti
cominceranno a domandarsi le stesse cose che
noi ci siamo chiesti quando abbiamo cominciato
a sostenere il Software Libero, e che ci hanno
portato a utilizzare sistemi operativi e software
che ci lasciano la libert di scegliere quello che
meglio per noi - anche in termini economici
- e non quello che meglio per lazienda.
LXP: Come si preparano la Document
Foundation e Italo Vignoli al Linux Day?
IV: Questanno decisamente particolare,
perch alla fine di settembre ci sar
lappuntamento della LibreOffice Conference
a Milano che non ci consentir di pensare
ad altro fino alla fine del mese. Il Linux Day,
peraltro, potr sfruttare i contenuti della
conferenza, in quanto tutti gli interventi che noi
proporremo in quella occasione - io sar
a Perugia e Terni - riprenderanno
le presentazioni delle diverse sessioni,
da quelle sullo sviluppo a quelle sulle migrazioni.
In genere, io preparo una presentazione che
metto a disposizione dei membri della comunit,
e viene utilizzata - con modifiche

22

Linux pro 133

LXP: LibreOffice, giunto alla versione 4.1.1,


vanta uninteroperabilit eccezionale.
Ne sentiremo parlare al Linux Day?
IV: Certamente, anche se LibreOffice 4.1.1 non
che una delle tappe di un percorso di crescita
che iniziato con il fork, e continuer con
le prossime versioni. In tre anni, siamo riusciti
a far compiere al software un passo in avanti
significativo, ma non siamo ancora arrivati
alla fine del lavoro. Linteroperabilit migliorata,
ma ricordo sempre che rappresenta uno sforzo
immane nei confronti di un target che si sposta
sempre pi avanti, poich Microsoft lavora
contro linteroperabilit anche in modo
abbastanza subdolo, come nel caso delle C-Font
introdotte con MS Office 2007 e fatte apposta
per impedire la riproduzione fedele dei
documenti. Microsoft difende linteroperabilit
cos come il boia difendeva lincolumit del
condannato a morte. Un formato interoperabile
rappresenterebbe per Microsoft un rischio
enorme, perch consentirebbe agli utenti
di migrare a LibreOffice - per esempio - senza
problemi. Per questo motivo, lazienda
di Redmond continua a studiare come limitare
linteroperabilit, senza darlo a vedere.
.
LXP: Come Document Foundation, oltre
allo sviluppo di LibreOffice, proporrete
anche altri progetti per la manifestazione?
IV: No, siamo focalizzati su LibreOffice,
che rappresenta gi un impegno enorme
per un gruppo di volontari.

tanto sugli aspetti etici - che non attraggono


lutente comune, soprattutto nella fase di studio
- quanto su quelli pratici. E deve presentare casi
di successo, perch solo cos possibile far
cadere le barriere dello scetticismo.
LXP: La manifestazione, proponendosi come
unintensa kermesse per far conoscere
anche ai profani il mondo del Free
Software, ha il sapore di una iniziativa
di marketing.
Quanto conta, a questo proposito,
la divulgazione user friendly?
IV: fondamentale. Il mondo del Software
Libero utilizza troppo spesso un linguaggio
per iniziati, che crea una barriera con lutente
comune. Bisogna sempre ricordare che
moltissimi utenti hanno un rapporto conflittuale
con il PC, perch ne comprendono lutilit
ma non ne comprendono in alcun modo
il funzionamento. Questo crea una situazione
di disagio, che la cattiva comunicazione non fa
altro che peggiorare. E siamo ancora allinterno
del mondo ovattato di Windows.
Se usciamo dal mondo conosciuto delle finestre
ed entriamo in quello sconosciuto dei pinguini,
la comunicazione aumenta di importanza
perch diminuisce la conoscenza, e diminuisce
il numero di coloro che la possiedono (e che
siano mediamente pi competenti importa poco,
perch sono molto diversi dalla media).
Quindi, aumenta lo scudo dellincertezza, che
pu essere abbattuto solo con un lavoro molto
paziente di educazione.
LXP: Linux profondamente radicato
nel mondo IT attuale. Basta pensare
alla diffusione degli smartphone Android
e di come grandi nomi del calibro
di Amazon o Google facciano uso di server
basati sul pinguino.
Nonostante questo, la maggior parte delle
persone tende a ignorare queste conquiste.
Pensi che il Linux Day sia un trampolino
di lancio sufficiente per una conoscenza
pi radicata sul territorio?

LXP: Cosa ci aspetta in questa versione


2013 della pi grande iniziativa che
raccoglie il mondo Open di tutta Italia
intorno al Free Software?
IV: Un ecosistema pi maturo, dove cominciano
a essere evidenti le opportunit di business
e non solo intorno a LibreOffice ma anche
intorno a sistemi
operativi e ad altre
Strategie comuni
applicazioni come la
posta elettronica. La
citt di Monaco
di Baviera migrata
a Linux, con server
Debian e desktop
Ubuntu, e funziona
senza problemi
IV: Probabilmente no, perch un solo giorno
(compresi laeroporto, il sistema integrato
allanno non garantisce quella continuit che
dei trasporti urbani, eccetera). Si pu fare,
una condizione fondamentale per il successo
e si deve fare: nel 2013 non pi accettabile
di qualsiasi campagna di comunicazione.
che il denaro dei cittadini venga speso senza
Bisognerebbe avere un Linux Day al mese,
considerare le opportunit di risparmio da una
oppure organizzare altre manifestazioni - magari
parte e di investimento a livello locale dallaltra
monotematiche - indirizzate alla conoscenza
che derivano dalladozione del Software Libero.
del Software Libero (NdR: in realt i LUG sono
Il Linux Day deve essere una vetrina delle
organizzano continuamente eventi simili).
eccellenze nel Software Libero, focalizzata non

Linux ha bisogno di maggiore


coesione e di una strategia
di marketing e comunicazione

Intervista
LXP: Quando si parla di Software Libero,
spesso le persone hanno la falsa idea
che si tratti quasi sempre di programmi
per addetti ai lavori. Troppo tecnici
e complessi da usare nel quotidiano.
Il Linux Day pu sfatare questo falso mito

delle scuole medie superiori e delle universit,


ma ancora una volta il linguaggio crea una
barriera e non facilita linterazione.
LXP: Ti chiediamo di dare qualche consiglio
a chi vuole partecipare al Linux Day
con il proprio LUG.
IV: Cercate
di divertirvi, e non
Pi software libero nella PA
prendetevi troppo sul
serio. Unatmosfera
di entusiasmo si
trasmette allesterno
e rappresenta
unattrazione, mentre
un atteggiamento
sussiegoso da primo della classe crea
o ancora troppo incentrato solo sugli
immediatamente una barriera. Ho gi visto
appassionati e non abbastanza rivolto
troppe volte presentazioni che cominciavano
anche a chi proviene da altre realt?
bene e poi si trasformavano nella solita sequela
IV: Il Linux Day sarebbe il luogo ideale
di slide di testo, spesso incomprensibili,
per sfatare questo tipo di miti, ma dovrebbe
con una platea che si svuotava sempre di pi.
partire dal presupposto che il pubblico
Un discorso del genere non serve a nessuno,
di riferimento non quello dei sostenitori
perch i suoi contenuti vanno persi.
del Software Libero ma quello degli estranei
Meglio sarebbe una presentazione con poche
che arrivano per curiosit ma non ne sanno
slide e molta interattivit, che riesce
assolutamente nulla n di Windows n di Mac
a mantenere alto linteresse e attira il pubblico.
OS n di Linux, per cui sono affascinati da
vero che il Software Libero
un linguaggio per iniziati ma alla fine si stufano
e abbandonano (perch tra acronimi
e smanettamenti riescono a sublimare
un solo concetto: ovvero, il Software Libero
non fa affatto per me).

La Pubblica Amministrazione
dovrebbe essere uno dei target
principali del Linux Day

significativamente superiore a quello


proprietario, in ogni suo aspetto, ma
altrettanto vero che lutente comune
talmente imbevuto di cultura Microsoft
da non percepire questa superiorit.
Anzi, spesso percepisce come vantaggi
le caratteristiche che sono alla base del lock in,
come i formati dei documenti. Quindi, prima
di fargli capire i vantaggi pratici - evitiamo
troppa teoria - del Software Libero, dobbiamo
smontargli questa supposta superiorit del
software proprietario, usando il suo linguaggio
da non addetto ai lavori. Facciamoli ragionare,
e poi spieghiamogli che ha unalternativa
migliore non solo sotto il profilo tecnologico
- la sicurezza di non avere problemi
di sicurezza (come le backdoor), la trasparenza
degli standard aperti, una comunit che
risponde al posto di un call center - ma anche
sotto quello etico. La strada lunga e tortuosa,
ma il nemico in difficolt. Gli analisti di Wall
Street lo costringono a operazioni come
lacquisizione di Nokia, perch altrimenti
comincerebbero a sollevare dei dubbi
sul futuro dellazienda, che provocheranno pi
di un problema di digestione. Evitiamo quindi
di sprecare una ghiotta occasione. LXP

LXP: Pubblica Amministrazione e Software


Libero. Ne sentiremo parlare al Linux Day
e in quali termini e progetti futuri?
IV: La Pubblica Amministrazione dovrebbe
essere uno dei target principali del Linux Day,
perch anche uno dei soggetti pi interessati
alle migrazioni sia per gli aspetti di risparmio
sia per quelli di tipo normativo, visto che oggi
lAgenda per lItalia Digitale impone una
preferenza per il Software Libero rispetto
a quello proprietario. Peraltro, un Linux Day
costruito per la PA dovrebbe essere identico
in tutte le sedi, in modo tale da sfruttare tutte
le possibili sinergie. Ovviamente, una scelta
di questo tipo dovrebbe essere ampiamente
discussa, perch allinterno di una comunit
di volontari non certo possibile dare ordini
a destra e a sinistra sulle cose da fare,
e ognuno fa quello che si sente e quello
che gli piace di fare. Quindi, ci vorrebbe un
razionale molto forte e un impegno altrettanto
forte a raggiungere lobiettivo.
LXP: Quanta attenzione il Linux Day riceve
dalle istituzioni scolastiche come istituti
superiori e atenei universitari?
IV: Tanta, se guardiamo il numero degli
studenti che ogni anno partecipa al Linux Day,
e poca, se pensiamo agli aspetti educativi
associati al Software Libero. Infatti,
la possibilit di smontare e di rimontare
un software dovrebbe rappresentare
unattrazione incredibile per tutti i ragazzi

Il sito della Document Foundation la "casa" di LibreOffice


Linux pro 131

23

Gramps

Genealogia fai da te
Scroprite come usare Gramps per creare un albero
genealogico e ricostruire la storia della vostra famiglia

ella maggior parte dei casi,


le conoscenze familiari non vanno oltre
qualche grado di parentela. Quando
per si inizia a scavare alla ricerca degli avi
pi lontani o di parenti che hanno trovato
fortuna in altri paesi in epoche passate,
le cose si complicano non poco. Quali
sono le origini della famiglia? Dove
vivevano? Da dove deriva il vostro
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

24

Linux pro 133

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

Gramps
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

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!

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.

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

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.
Linux pro 133

25

Gramps
Nuovi Eventi
Il passo successivo annotare il compleanno di Giovanni. Questo
un evento importantissimo e deve essere registrato per poter
poi tirare le fila dellalbero genealogico. Nel menu Persone aprite
la scheda di Giovanni, quindi selezionate Eventi e poi Aggiungi.
In Tipo Evento, Gramps riporta gi la voce Nascita, quindi non
c bisogno di alcuna modifica. In Data riportate il compleanno
di Giovanni con la formattazione standard AAAA/MM/GG
(ad esempio 1979/08/30). Se non volete inserire la data
manualmente, possibile usare anche il calendario facendo click
sul pulsante Richiama editor di date. Continuate aggiungendo poi
il luogo di nascita di Giovanni, premendo licona Aggiungi di fianco
alla funzione Luogo. In questa finestra possibile inserire
una quantit impressionante di informazioni, tra cui latitudine
e longitudine che
serviranno per
posizionare il punto
esatto sulla mappa.
A questo punto
dovreste ricordarvi
di citare lintervista
come fonte da cui
avete ottenuto la data di nascita di Giovanni. Tornate nel menu
principale di Gramps e premete Appunti. NellEditor riferimento
evento selezionate la scheda Citazione fonti, quindi trascinate
Intervista Giovanni Rossi nel campo relativo alle fonti.

sullunione tra il padre e la madre di Giovanni. Supponete poi che


i due coniugi, dopo un certo periodo, abbiano deciso di divorziare.
Sempre dal menu Eventi, selezionando di nuovo Eventi familiari,
basta scegliere la voce Divorzio nel selettore Tipo evento, avendo
poi cura di annotare tutti i dettagli temporali del caso.

E i fratelli?
Giovanni non lunico figlio della famiglia Rossi, ma ha due
fratelli: Martino e Simone. Il primo non accompagnato, mentre
il secondo sposato. Per inserire entrambi nellalbero genealogico
di Giovanni, selezionate la voce Famiglie, quindi fate doppio click
sulla scheda dei genitori. Nella scheda Figli premete Aggiungi
e aggiungete tutti i dati inerenti a Martino e Simone. Per ciascuno
di loro viene poi richiesto di specificare il rapporto con i genitori,
utile per dettagliare uneventuale
adozione o un concepimento
da un precedente matrimonio.
Nel caso di Simone, importante
ricordare la presenza di sua
moglie, che dovr comparire
nellalbero genealogico.
In Gramps, stranamente,
aggiungere un partner richiede un procedimento un po insolito.
Il primo passo selezionare Simone Rossi nel menu Persone,
quindi premere Relazioni. In questa scheda vengono riepilogati
tutti i legami famigliari del soggetto che siete riusciti a ricostruire.
Scegliete il menu Modifica dalla barra dei menu presente nella
parte superiore di Gramps, quindi selezionate lopzione Aggiungi
partner. Molto probabilmente deve esserci stato un errore nella
compilazione del programma, perch la scheda in cui inserire
la moglie di Simone, pone questultimo come Padre, mentre
la coniuge va immessa nel campo Madre. Non tenendo conto
di questo refuso, fate click su Aggiungi nel campo Madre e
inserite Laura Molinari come moglie di Simone. Se vi soffermate
per un attimo, vi renderete conto di aver fatto molto di pi che
aggiungere un semplice nome allalbero genealogico dei Rossi,
bens siete riusciti a stabilire un legame con un altra famiglia,
quella dei Molinari. Dovete pertanto spostare le vostre ricerche
sui parenti della moglie di Simone, aggiungendo tutte le persone
che riuscite a identificare in modo analogo a quanto gi fatto per
i Rossi. La procedura la medesima, cambiano solo i soggetti.

Per compiere una ricerca


genealogica, fondamentale
visitare archivi e biblioteche

Mancano i parenti
Una volta aggiunte tutte le informazioni ottenute su Giovanni,
dovete dedicarvi ai suoi genitori con la medesima perizia
dimostrata fino a ora. Nel menu principale di Gramps, selezionate
Famiglie, quindi proseguite con il pulsante Aggiungi. Leditor
Nuova Famiglia vi permette di aggiungere tutte le informazioni
sul padre e la madre di Giovanni: nome, data di nascita, eventuale
decesso e cos via. Come sempre, non dimenticate di citare
le fonti. A questo punto, sotto il menu Informazioni relazione, al
selettore Tipo, impostate che genere di unione avevano contratto
i due genitori e quindi se erano sposati o uniti civilmente. Se
non ne siete a conoscenza, selezionate Sconosciuto. Pur avendo
inserito i dettagli inerenti il padre e la madre di Giovanni, se si
sono sposati dovreste reperire anche le informazioni riguardo al
matrimonio: la data, il luogo e altri dettagli pi o meno significativi.
Se ne siete in possesso, selezionate il menu Eventi, quindi
scegliete la voce Eventi familiari e subito dopo fate click su
Aggiungi. Alla voce Tipo evento, Gramps riporta immediatamente
Matrimonio ed qui che dovete inserire tutte le nozioni che avete

Gramps consente di riepilogare tutte le informazioni di un membro della famiglia


in ununica pratica scheda riassuntiva

26

Linux pro 133

Lalbero cresce
Adesso che avete preso confidenza con le funzioni principali
di Gramps per inserire e ordinare i famigliari, necessario
approfondire le ricerche. Fino a quando vi muovete nel presente
o nellimmediato passato, le cose sono abbastanza semplici. Basta
intervistare le persone appartenenti a un determinato nucleo
famigliare e quasi sempre otterrete risposte coerenti e affidabili.
I problemi iniziano quando vi spostate oltre due generazioni
indietro e quindi il lavoro di ricerca diventa storico, perch quasi
sempre si torna indietro nel tempo di almeno un secolo.
Per questo motivo vi proponiamo una piccola lista di elenchi
e registri, dove vale sempre la pena andare a scavare per trovare
riferimenti utili alle parentele:
Registri dellanagrafe comunale.
Registri del catasto.
Registri medici.
Registri dei tribunali civili e penali, alla ricerca di eventuali
sentenze di persone che portano un cognome simile o uguale
a quello che cercate.
Archivi dei giornali locali.

Gramps
interviste con amici e parenti delle persone di cui state
cercano le origini.
Anche la rete un validissimo mezzo per scoprire interessanti
notizie genealogiche, ma spesso gli archivi pi vecchi non vengono
messi online, quindi vale sempre la pena recarsi di persona presso
i Comuni o gli Enti pubblici di un determinato luogo.

Realizzate un resoconto
Quando il vostro albero genealogico ragionevolmente
completo, o comunque abbastanza nutrito da disporre di
informazioni interessanti, naturale volerlo rendere pubblico.
Certo non possibile farlo vedere ad amici e parenti cos
come lo mostra Gramps, perch se i vostri interlocutori non
conoscono il programma, finirebbero per annoiarsi alla ricerca
dei vari collegamenti che avete gi stabilito. per questo
possibile visualizzare tutte le informazioni in formati comodi
e versatili, da utilizzare poi per la compilazione di libri, liste,
pubblicazioni e tanto altro. Gramps propone un gran numero
di scelte, ma purtroppo lo spazio a disposizione impone
di trattarne solo alcune. per accedervi, andate nel menu
Ascendenza e fate click sulla voce resoconti. Di seguito
vengono considerate le opzioni di maggior pregio:
Resoconto Ahnentafel un sistema di numerazione
genealogica riconosciuta dagli studiosi (Ahnentafel uno studioso
tedesco, per lappunto).
Resoconto compleanni e anniversari informazioni
temporali, ma sotto forma di testo.
Resoconto individuale completo
Resoconto discendenza
Resoconto dettagliato ascendenza
Resoconto dettagliato discendenza
Resoconto fine-linea lista degli ultimi antenati noti
alla persona.
Resoconto gruppo familiare
Resoconto parentela
Tag Report dati primari (persone, famiglie note)
che corrispondono al tag selezionato.
Resoconto numero di ascendenti
Resoconto luoghi
Resoconto dei record informazioni interessanti, come
la persona pi anziana vivente o la pi giovane.
Resoconto riepilogo database
La maggior parte dei questi rapporti disponile nel menu
resoconti Testuali, tuttavia lelenco continua con altre tipologie
di raccolta, che prendono in considerazione luso di grafici
e diagrammi da usare nelle pagine Web o nei libri.
Alcuni esempi sono:
Albero ascendenti
Calendario
Albero discendenti
Albero discendenza famiglia

Resoconti personalizzati
Se volete personalizzare laspetto grafico dei tanti rapporti
disponibili in Gramps, fate click sul pulsante Editor di stile,
che trovate nella cartella opzioni resoconto. una volta fatto,
selezionate il pulsante Aggiungi per inserire un ulteriore
profilo. non vi resta che comporre la grafica come
meglio credete, sfruttando le varie opzioni presenti,
che si differenziano in base al tipo di resoconto scelto.

Grafici statistiche
Grafico a ventaglio
Grafico temporale
Sempre a titolo di esempio, quando scegliete di usare un tipo
di rapporto, sempre possibile modificarlo secondo le vostre
preferenze. utilizzando Scala temporale, avete un ampio ventaglio
di personalizzazioni. il menu Opzioni foglio permette di stabilire
il formato della carta, lorientamento e la misura dei margini.
non solo, perch potete stabilire anche il formato di output che,
per impostazione predefinita, in Testo openDocument. niente
per vieta di selezionare Documento pDF o SVG. un altro
formato degno di nota resoconto libro, che permette di
generare una pubblicazione in pochi e semplici passaggi. oltre
a impostare il titolo, utilizzando lelenco completo dei resoconti,
avete lopportunit di selezionare quali elementi inserire tra quelli
disponibili in Gramps. Basta usare la lista dei rapporti, ordinandoli
con le apposite frecce, che trovate nel menu di gestione dello
strumento resoconto libro.

Grazie alla
funzione Famiglie,
potete riepilogare
velocemente tutti
i legami tra le
persone inserite

Approccio scientifico
Come avete visto, Gramps un software eccezionale sia per
gli amatori, sia per i professionisti della genealogia. Sebbene
allinizio la grande quantit di strumenti e funzioni possa lasciare
sconcertati, basta un po di interesse e impegno per venire subito
a capo del suo funzionamento. una volta apprese le nozioni base,
siete in grado di sfruttarlo al massimo per ricreare un albero
genealogico della vostra famiglia o di quella dei vostri amici.
Se poi siete studiosi di questa particolare branca della ricerca,
avrete uno strumento in pi per ordinare i lavori e presentarli
anche ai clienti pi esigenti. importante ricordare come
alla base di Gramps ci sia sempre il vostro lavoro di indagine.
il compito del software, infatti, organizzare in modo organico
e scientifico tutti i dati che riuscite a reperire, ma non capace
di validarli. per questo servono sempre fonti attendibili e sicure,
che prescindono dal tipo di applicazione che usate per
lorganizzazione. il programma, oltre allinglese, disponibile
in italiano. Sotto questo aspetto va fatto un plauso ai traduttori
che, nel ricondurre i giusti nomi alle tantissime opzioni presenti,
hanno portato a termine un lavoro encomiabile. in definitiva,
Gramps un gestore di informazioni ricchissimo e versatile,
utile per fornire un approccio scientifico e ordinato alle attivit
professionali e non della genealogia. LXP
Linux pro 133

27

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 sica delle particelle
non sia di alcun aiuto in questo tipo di lavoro.

24 minuti

i tanto in tanto mi capita di ricevere


telefonate, come forse succede anche
a voi, da persone la cui lingua madre
molto chiaramente non litaliano o linglese,
ma che affermano di essere in relazione
in un modo non ben definito con Microsoft.
Cercano di instillare in me un falso senso
di insicurezza affermando di aver ricevuto
la segnalazione di un problema da parte
della mia macchina, sostenendo che la loro
missione quella di aiutarmi a risolverlo.
Di solito liquido queste telefonate piuttosto
bruscamente, ma ieri ero di umore
particolarmente dispettoso e sono riuscito
a tenere al telefono il tipo per ben 24 minuti.
per niente disturbato dalla notizia che non
uso Windows, mi ha spiegato che il mio
indirizzo ip diventato molto famoso a causa
della mia attivit di navigazione sul Web.
Sembra che questo fatto sia particolarmente
disdicevole. Alla fine ho scoperto che stava
cercando di convincermi a installare un
prodotto per il controllo remoto del desktop
chiamato Ammyy Admin (prima di ricevere
la telefonata di un qualche avvocato ci tengo
a precisare che Ammyy Admin un prodotto
perfettamente legale). Dopo essere stato
invitato a visitare il relativo sito Web non
ho potuto fare a meno di notare nella
homepage un link in rosso che porta
a unaltra pagina in cui viene spiegato che
se ricevete una telefonata da una persona
palesemente non inglese o italiana, ma che
afferma di essere in relazione in un modo
non ben definito con Microsoft, si tratta
di una truffa. Appena gli ho letto queste
righe il mio interlocutore ha riattaccato.
Vorrei suggerirgli di trovarsi una maniera
onesta per guadagnarsi da vivere, ma non
sono sicuro che starebbe a sentire. per
se siete riusciti a battere il mio record
di 24 minuti fatemelo sapere.

28

Linux pro 133

Tecniche esoteriche per i sysadmin direttamente


dai recessi pi impenetrabili della sala server

La storia dei due proxy

Dizionario alla mano, il Dottore spiega le differenze


tra forward e reverse proxy

l mio Oxford English Dictionary definisce


un proxy una persona autorizzata ad agire
per conto di unaltra, specialmente nelle
votazioni. in italiano si potrebbe tradurre
come procuratore o mandatario. in informatica
il significato simile: un server proxy agisce
come intermediario per le richieste provenienti
da client che vogliono accedere a risorse
(di solito pagine Web) presenti su altri server.
Voi probabilmente lavete imparato tempo
fa, ma io solo di recente sono riuscito
a comprendere la differenza tra un forward
proxy e un reverse proxy. Ecco cosa ho
scoperto... un forward proxy sta vicino al client
(il browser). Si trova di solito allinterno della
rete locale aziendale. Serve un numero limitato
di client, ma pu inoltrare le loro richieste
a un ampio numero di server di destinazione,
spesso lintera internet. il client deve essere
a conoscenza del fatto che deve spedire le sue
richieste attraverso il proxy: senza dubbio
vi sar gi capitato di litigare con la schermata
di configurazione usata per informare il browser
dellesistenza del proxy. i forward proxy sono
di solito usati nei firewall aziendali e permettono

di migliorare laccesso a internet tenendo


in una memoria cache i risultati delle richieste
Web pi recenti. inoltre aumentano la sicurezza
filtrando il traffico diretto verso specifici siti.
un reverse proxy invece si trova vicino ai
server destinatari delle richieste, di solito sulla
stessa rete. Al client il proxy appare come
il vero server: non consapevole del fatto che
la sua richiesta venga inoltrata a un altro host.
un reverse proxy in grado di servire le
richieste di numerosi client, ma pu inoltrarle
solo a un limitato numero di server. i reverse
proxy sono a volte usati per il load balancing,
cio per suddividere le richieste tra un cluster
di server. Sono anche utilizzati per fornire
il contenuto statico di un sito Web e
contemporaneamente inoltrare la richiesta
della parte dinamica a un altro server. per
esempio, il server Web Apache pu essere
usato come front-end di Tomcat e pu essere
configurato in modo da fare da server per
i contenuti statici, mentre Tomcat ospita
le servlet Java e le JSp (Java Server Page).

Squid
il famoso server Web Apache pu funzionare
come proxy se viene caricato il modulo
mod_proxy. Se invece cercate un server
che faccia solo da proxy, provate Squid (http://
www.squid-cache.org/), unapplicazione
open Source usata come forward proxy da
molti iSp per tenere una cache delle pagine
Web e migliorare le prestazioni e come reverse
proxy da siti ad elevato traffico come Wikipedia.

Server

internet

Client

Forward
proxy

internet

reverse
proxy

Server

Client

I forward proxy si trovano vicino ai client.


I reverse proxy invece si trovano vicino ai server

Sysadmin

Lo stack LAMP
nellultima puntata della serie accendiamo la nostra LAMpada
e scriviamo unautentica applicazione Web dinamica

uesta lultima puntata di una serie di quattro in cui abbiamo


esaminato lo stack LAMp (Linux, Apache, MySQL e pHp)
e abbiamo visto come possibile usarlo per creare siti Web
dinamici basati su un database. Dopo aver installato tutto il software
necessario, questo mese facciamo lavorare insieme tutte le quattro
parti di LAMp e scriviamo unapplicazione Web completa basata
su un database. Svilupperemo unapplicazione che permette agli
utenti di una biblioteca di interrogare il database per mezzo di moduli
HTML e scriveremo codice pHp lato server per eseguire le
interrogazioni sul database e presentare i risultati formattati in HTML.
Comincer spiegando quello che sto cercando di ottenere con questa
applicazione. usando il database della biblioteca che abbiamo creato
il mese scorso, costruiremo un modulo HTML che permetta a un
utente di inserire il titolo e/o lautore di un libro; poi creeremo una
pagina pHp che interrogher il catalogo della biblioteca e restituir
una tabella contenente i dati di tutti i libri corrispondenti. La grafica del
modulo di richiesta e della pagina contenente i risultati sar molto
semplice, quello che ci interessa la logica dellapplicazione.
Cominciamo con il modulo HTML, ricercalibri.html:
<html>
<head>
<title>Semplice ricerca libri</title>
</head>
<body>
<form action=ricercalibri.php method=poST>
Titolo: <input type=text name=ricercatitolo>
Autore: <input type=text name=ricercaautore>
<input type=submit name=ricercalibri value=Cerca>
</form>
</body>
</html>
il modulo contiene due campi di testo e un pulsante che invia i dati
alla pagina ricercalibri.php. pu essere utilizzato per cercare un libro
per autore, per titolo oppure usando entrambi i campi.

Facciamo parlare P con M


rivolgiamo ora la nostra attenzione al codice pHp che esegue la
ricerca. Se siete nuovi al pHp e alle Web App potreste sentirvi un po
intimoriti, quindi procederemo un passo alla volta. per prima cosa
il diagramma di flusso mostra a grandi linee come funziona una Web
App. La maggior parte delle applicazioni segue questi sei passi. La
cosa da comprendere che il controllo rimbalza avanti e indietro tra
il browser e il server: lutente visita la pagina iniziale dellapplicazione,
il server gli spedisce il modulo, lutente lo riempie e spedisce i dati
al server, che esegue linterrogazione e spedisce allutente i risultati,
che li guarda nel suo browser e cos via. Gli sviluppatori pi giovani
non hanno problemi con tutto questo, ma quelli pi anziani come
me, dopo una vita passata a scrivere codice monolitico, hanno
bisogno di un po di tempo per abituarsi.

Passo 1: raccogliere linput


Come abbiamo visto nella seconda puntata, pHp rende disponibili
i dati del modulo allinterno di un dizionario chiamato $_REQUEST.
La chiave allinterno del dizionario semplicemente il nome

del controllo allinterno del modulo. Quindi, ad esempio,


per recuperare il titolo del libro dovremmo fare cos:
$ricercatitolo = trim($_rEQuEST[ricercatitolo]);
$ricercatitolo = addslashes($ricercatitolo);
La chiamata a trim() elimina gli spazi allinizio e alla fine della stringa
che lutente potrebbe aver sbadatamente inserito nel campo
del modulo. La chiamata ad addslashes() aggiunge un backslash
nella stringa davanti a quei caratteri che hanno bisogno di essere
interpretati letteralmente quando inseriti in uninterrogazione SQL.
offre anche una forma elementare di protezione da attacchi di tipo
SQL injection, di cui parler in seguito. una funzioni alternativa che
possibile utilizzare per questo scopo mysqli_real_escape_string(),
che pi efficace, ma che specifica di MySQL.

Passo 2: connettersi al database


per accedere al nostro database MySQL da pHp usiamo la libreria
mysqli, che sostituisce la libreria mysql (la i sta per improved,
migliorata). Dovrete probabilmente installarla, ma si trova
nei repository di CentoS. Bisogna anche riavviare Apache:
# yum install php-mysql
# service httpd restart
Questa libreria mette a disposizione due diversi stili di Api:
procedurale e orientato agli oggetti. La differenza principalmente
stilistica: noi useremo la versione o-o. per connettersi al database
dobbiamo specificare il nome o lindirizzo ip del server MySQL,
un login e una password validi e il nome del database. il codice
si presenta cos:
@$db = new mysqli(esempio.com, root, segreto, biblioteca);
if ($db->connect_error) {
echo Errore durante la connessione al DB: . $db->connect_error;
exit(1);
}
notate la @ sulla prima riga: loperatore di soppressione degli errori
di pHp. Lo usiamo in modo da conservare il controllo del programma
in caso di problemi, cos da gestire noi stessi lerrore.

Passo 3: interrogazione SQL


nelle applicazioni reali questo passo pu diventare complicato,
ma nel nostro caso risulta piuttosto semplice:
$query = select * from libri;
$query = $query . where titolo like % . $ricercatitolo . %;
notate luso delloperatore di concatenazione delle stringhe .,
che ci server per costruire linterrogazione un pezzo per volta. inoltre

Pubblicazione del sito


per poter accedere alla vostra applicazione
dovrete installarla sotto la directory
Document Root definita nel file di
configurazione di Apache (/etc/httpd/
conf/httpd.conf). nella versione di default
fornita dai repository di CentoS

assegnata a /var/www/html. Tutto


quello che c da fare copiare i due file
(ricercalibri.html e ricercalibri.php)
in questa directory. per il test basta
aprire il browser e andare allurL
http://localhost/ricercalibri.html.

Linux pro 133

29

Sysadmin
abbiamo usato loperatore SQL like e il carattere jolly %. non stiamo
cercando una corrispondenza esatta del titolo, ma vogliamo
recuperare tutti i titoli che contengono la stringa inserita dallutente.

Passo 4: eseguire linterrogazione


pHp offre numerosi modi per eseguire uninterrogazione, dipende da
come vogliamo accedere ai risultati. nel nostro esempio usiamo una
tecnica che permette di associare le colonne dellinsieme dei risultati
dellinterrogazione a specifiche variabili pHp. nel frammento di codice
che segue, $query contiene linterrogazione e $db il riferimento
alla connessione al database che abbiamo aperto nel passo due.
$stmt = $db->prepare($query);
$stmt->bind_result($idlibro, $titolo,
$autore, $inprestito,
$datarestituzione, $idlettore);
$stmt->execute();

Passo 5: recuperare i risultati


Linterrogazione restituisce un result set, un insieme di risultati
contenente zero o pi righe. usando le variabili associate create prima
facile eseguire un ciclo sulle righe ottenute e accedere ai risultati:
while ($stmt->fetch()) {
echo $titolo scritto da $autore <br />;
}

Passo 6: costruire la risposta HTML


Di solito le righe dei risultati di uninterrogazione vengono presentate
allutente allinterno di una tabella, con ogni riga dei risultati
che corrisponde a una riga della tabella:
echo <table>;
while ($stmt->fetch()) {
echo <tr> <td> $titolo </td> <td> $autore </td> </tr>;
}
echo </table>;
Sfruttiamo il fatto che le variabili $titolo e $autore vengono espanse
anche allinterno delle virgolette. ora mettiamo tutto insieme per
creare la pagina pHp completa, ricercalibri.php. non fatevi
scoraggiare se vi sembra complicata: per la maggior parte composta
dai frammenti che abbiamo visto prima. C un po di codice in pi
per consentire allutente di eseguire ricerche per autore o per titolo
o usando entrambi i campi. Ad esempio, potrebbe costruire
uninterrogazione come select * from libri where titolo
like %Potter% and autore like %Rowling%:

In caso di problemi
Se il vostro codice pHp contiene errori di sintassi, quando visiterete
il corrispondete urL vi troverete a contemplare una pagina
completamente vuota (e del tutto inutile). potete fare in modo
che pHp presenti un resoconto degli errori che incontra
cambiando una riga in /etc/php.ini:
display_errors = on
e riavviando Apache. Gli errori di sintassi saranno ora evidenziati
allinterno del browser. il resoconto comprender il numero di riga,
ma tenete presente che quello il punto in cui linterprete
ha cominciato ad avere dei problemi e che lerrore vero e proprio
potrebbe essersi verificato prima. un punto e virgola mancante
nella riga precedente una causa molto frequente di errore.
pu essere comodo verificare la sintassi da riga di comando:
php -l ricercalibri.php
Lopzione -l fa entrare pHp nella modalit lint: non eseguir il codice,
semplicemente ne verificher la sintassi.

30

Linux pro 133

<html>
<head>
<title>ricerca libri biblioteca</title>
</head>
<body>
<h3>risultati della ricerca</h3><br>
<hr>
<?php
# recupera i dati dal modulo.
$ricercatitolo = trim($_rEQuEST[ricercatitolo]);
$ricercaautore = trim($_rEQuEST[ricercaautore]);
if (!$ricercatitolo && !$ricercaautore) {
echo Devi specificare un titolo o un autore;
exit();
}
$ricercatitolo = addslashes($ricercatitolo);
$ricercaautore = addslashes($ricercaautore);
# Apre il database.
@ $db = new mysqli(localhost, root, passworddiroot, biblioteca);
if ($db->connect_error) {
echo Errore durante la connessione al DB: . $db->connect_
error;
exit();
}
# Costruisce linterrogazione. Gli utenti possono eseguire ricerche
per autore,
# titolo o per entrambi.
$query = select * from libri;
if ($ricercatitolo && !$ricercaautore) { // ricerca solo per titolo.
$query = $query . where titolo like % . $ricercatitolo . %;
}
if (!$ricercatitolo && $ricercaautore) { // ricerca solo per autore
$query = $query . where autore like % . $ricercaautore . %;
}
if ($ricercatitolo && $ricercaautore) { // ricerca per titolo e autore
$query = $query . where titolo like % . $ricercatitolo . %
and
autore like % . $ricercaautore . %;
}
# Esegue linterrogazione e associa i risultati alle variabili.
$stmt = $db->prepare($query);
$stmt->bind_result($idlibro, $titolo, $autore, $inprestito,
$datarestituzione, $idlettore);
$stmt->execute();
echo <table border=1>;
while ($stmt->fetch()) {
echo <tr><td> $idlibro </td> <td> $titolo </td><td> $autore </
td></tr>;
}
echo </table>;
?>
</body>
</html>
per costruire linterrogazione abbiamo sfruttato la possibilit di inserire
apostrofi allinterno delle virgolette senza che vengano interpretati
da pHp come caratteri speciali. Secondo il sito Web di oWASp
(https://owasp.org/index.php/TopTen) il pericolo maggiore per la
sicurezza di un sito Web viene dalle cosiddette SQL injection. Qualsiasi
applicazione accetti dati non fidati inseriti dallutente e li usi per
costruire uninterrogazione SQL, che poi esegue, vulnerabile
a questo tipo di attacco, a meno di non usare contromisure. Con dati

Sysadmin
non fidati intendo qualcosa che stato inserito da un utente (magari
malintenzionato), di solito come testo in un modulo. Le best practice
suggeriscono di inserire codice JavaScript nella pagina per eseguire
dei test sulla correttezza di ciascun campo di testo. Anche se questo
aiuta a impedire linvio di dati inconsistenti o moduli compilati
male, non previene affatto gli attacchi perch nulla impedisce
a un malintenzionato di confezionare a mano una richiesta con
dati pericolosi. In altre parole, linput che ricevete non proviene
necessariamente dal modulo che avete spedito in precedenza
allutente. Come funziona dunque un attacco di SQL injection? Ecco
un esempio: un frammento di codice PHP che preleva da un modulo
lidentificativo di un cliente e lo usa per costruire uninterrogazione.
Lidea quella di permettere a un utente di vedere le informazioni
relative al suo conto in banca, associato al suo ID.
# Parte della pagina idcliente.php.
$idcliente = $_REQUEST[id];
$query = select * from conti where idcliente = $idcliente ;
Ora un attaccante visita il seguente URL: http://example.com/app/
idcliente.php?id=or1= 1. In questo caso linput non fidato
il valore di id. La pagina costruir quindi la seguente interrogazione:
select * from conti where idcliente = or 1 = 1
Dato che il secondo test sempre vero, questa interrogazione
restituir lintera tabella conti!

La difesa
Lutilizzo di prepared statement aiuta. Per prima cosa definiamo
un template per linterrogazione, usando ? come segnaposto dove
i dati reali andranno inseriti; pi tardi potremo eseguire linterrogazione
fornendo i dati che andranno a rimpiazzare i segnaposto nel template.
$query = insert into lettori values (?, ?, ?);
$stmt = $db->prepare($query);
// ... qualche tempo dopo ...
$db->execute(array(108, Fred Flintstone, 4 Quarry Hill,
Bedrock));
Nella realt i dati non sono scritti nel codice, ma proverranno da
un input non fidato dellutente. Usare i prepared statement aiuta
perch i caratteri speciali presenti nei dati vengono automaticamente
resi inoffensivi. Una difesa pi forte consiste nellesaminare
minuziosamente gli input non fidati per accertarsi che rispettino la
sintassi desiderata. Ad esempio, se vi aspettate che un cliente inserisca
una data in un campo di testo chiamato data potreste fare cos:
$miadata = trim($_REQUEST[data]);
if (!ereg(^[0-9]{4}-[0-9]{2}-[0-9]{2}$, $miadata) {
echo La data deve essere nel formato AAAA-MM-GG;
return;
}
Ovviamente questespressione regolare non fa un lavoro molto
preciso nel verificare la validit di una data perch permette cose
senza senso come 2014-88-99, ma sufficiente al nostro scopo
perch permette di scoprire stringhe pericolose. Nella seconda
puntata ho illustrato come mantenere lo stato di una sessione
allinterno di unapplicazione Web usando loggetto $_SESSION
di PHP e ho spiegato come lidentificativo della sessione venga
scritto allinterno di un cookie. Le informazioni di stato conservate
in questo modo non sopravvivono alla sessione: se lutente chiude
il browser la sessione persa. tuttavia possibile creare un cookie
permanente (dotato di data di scadenza) che ci permette di
conservare le informazioni attraverso le diverse sessioni. I cookie
sono spediti da un server a un browser come parte dellintestazione
della risposta HTTP. Eccone un esempio, catturato lanciando
un programma di tracciamento dei pacchetti durante la navigazione
su http://www.amazon.it/:

Presenta il modulo allutente


Lutente riempie
il modulo e lo invia

Preleva dal modulo linput dellutente

Si connette al database

3
Costruisce linterrogazione SQL usando i dati del modulo

Esegue linterrogazione

4
5

Recupera i risultati
Lutente vede
i risultati

Costruisce la risposta HTML e la passa al browser

Il browser Web

Set-cookie: session-id=202-3921230-4252634; path=/;


domain=.amazon.it; expires=Tue 1 Jan 2036 00:00:01
2036 GMT
In questo caso session-id il nome del cookie e quellorrendo,
enorme numero il suo valore. Gli attributi domain e path definiscono
il sito a cui appartiene il cookie e lURL allinterno di quel sito a cui
si applica (in questo caso il percorso /, quindi il cookie si applica
allintero sito). Per generare un cookie in PHP occorre chiamare
setcookie(). Come minimo bisogna passargli il nome del cookie
e il suo valore; opzionalmente possibile passare la data di scadenza,
il percorso e il dominio. Per recuperare un cookie si accede al vettore
$_COOKIE usando il suo nome come indice. Se il cookie esiste
si ottiene il suo valore, null in caso contrario. Ecco due semplici pagine
che illustrano lutilizzo dei cookie. Nella prima cerchiamo di recuperare
il nome del visitatore. Se ci riusciamo lo salutiamo, altrimenti gli
chiediamo di inserirlo. Linvio del modulo porta a una seconda pagina
che genera il cookie. Ecco le parti essenziali della prima pagina
(abbiamo omesso i tag strutturali dellHTML):
<?php
// Lutente ci ha gi detto il suo nome?
@$visitatore = $_COOKIE[nome_visitatore];
if (is_null($visitatore)) {
?>
<form action=registra_nome.php>
Per favore, dicci il tuo nome:
<input type=text name=tuonome>
<input type=submit value=Invia>
</form>
<?php
} else {
?>
Ciao <?= $visitatore ?>, che piacere rivederti!
<?
}
?>
ed ecco la seconda pagina:
<?php
$visitatore = $_REQUEST[tuonome];
setcookie(nome_visitatore, $visitatore);
?>
Grazie per averci detto il tuo nome <?= $visitatore ?>
Diventare uno sviluppatore Web richiede la conoscenza di una
moltitudine di tecnologie e un discreto sforzo. Lo stack LAMP vi mette
a disposizione tutti gli strumenti di cui avete bisogno per imparare. LXP

Ecco come
funziona
unapplicazione
Web. La maggior
parte delle Web
App basate
su un database
eseguono questi
sei passi

Linux pro 133

31

Diventa protagonista
del mondo Linux

ABBONATI SUBITO!
SCEGLI IL METODO PI COMODO PER ABBONARTI:
POSTA Compila, ritaglia e spedisci il coupon in busta chiusa a: Press Di - Servizio Abbonamenti - Casella Postale 97 - 25126 Brescia BS
FAX invia il coupon al N. 030
TELEFONA al N. 199

3198412

ONLINE sul

sito www.myabb.it/linuxpro

111 999

Dal luned al venerd dalle ore 9,00 alle ore 19,00. Costo massimo della chiamata da tutta Italia per telefoni
fissi: 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione delloperatore.

335 8331122

SMS da inviare al N.
indicando nellordine: il codice dellofferta 25916!Nome!Cognome!Indirizzo!Numero
civico!Localit!CAP!Sigla provincia!S (oppure N)!S (oppure N)! per indicare rispettivamente il consenso (Si o No) alla privacy 1 e alla privacy 2 riportate sulla
cartolina. Non lasciare nessuno spazio dopo i punti esclamativi come nellesempio:

25916!Paolo!Rossi!Via Verdi!1!Milano!20123!Mi!S!S!

Entro 24 ore riceverai un SMS di conferma dal Servizio Abbonati. Il costo del messaggio inviato pari al normale costo di un SMS.
Il pagamento dellabbonamento previsto in ununica soluzione con il bollettino di conto corrente postale che ti invieremo.

39,90 invece

di

70,80

SCONTO 43%

Tagliare lungo la linea tratteggiata

ABBONANDOTI AVRAI
DIRITTO AI SEGUENTI
VANTAGGI
PREZZO BLOCCATO:
per tutta la durata dellabbonamento non
pagherai un euro in pi, anche se il prezzo
di copertina dovesse subire aumenti.
TUTTI I NUMERI ASSICURATI:
se per cause di forza maggiore qualche numero
della rivista non venisse stampato,
labbonamento verr prolungato fino
al raggiungimento dei numeri previsti.
RIMBORSO GARANTITO:
potrai disdire il tuo abbonamento quando vorrai,
con la sicurezza di avere il rimborso dei numeri
che non hai ancora ricevuto.
Informativa ex Art.13 LGS 196/2003. I suoi dati saranno trattati da Sprea Editori S.p.A. Socio Unico Sprea Holding S.p.A., nonch dalle societ
con essa in rapporto di controllo e collegamento ai sensi dellart. 2359 c.c. titolari del trattamento, per dare corso alla sua richiesta di abbonamento. A tale scopo, indispensabile il conferimento dei dati anagrafici. Inoltre previo suo consenso i suoi dati potranno essere trattati dalle
Titolari per le seguenti finalit: 1) Finalit di indagini di mercato e analisi di tipo statistico anche al fine di migliorare la qualit dei servizi erogati,
marketing, attivit promozionali, offerte commerciali anche nellinteresse di terzi. 2) Finalit connesse alla comunicazione dei suoi dati personali
a soggetti operanti nei settori editoriale, largo consumo e distribuzione, vendita a distanza, arredamento, telecomunicazioni, farmaceutico,
finanziario, assicurativo, automobilistico, e ad enti pubblici ed Onlus, per propri utilizzi aventi le medesime finalit di cui al suddetto punto 1)
e 2 ). Per tutte le finalit menzionate necessario il suo esplicito consenso. Responsabile del trattamento Press Di Srl Via Trentacoste,
7 - 20134 Milano. I suoi dati saranno resi disponibili alle seguenti categorie di incaricati che li tratteranno per i suddetti fini: addetti al customer
service, addetti alle attivit di marketing, addetti al confezionamento. Lelenco aggiornato delle societ del gruppo Sprea Editori S.p.A., delle
altre aziende a cui saranno comunicati i suoi dati e dei responsabili potr in qualsiasi momento essere richiesto al numero 030.319.82.81
Customer Service. Lei pu in ogni momento e gratuitamente esercitare i diritti previsti dallarticolo 7 del D.Lgs.196/03 e cio conoscere
quali dei suoi dati vengono trattati, farli integrare, modificare o cancellare per violazione di legge, o opporsi al loro trattamento scrivendo a
Press Di Srl - Ufficio Privacy Via Trentacoste, 7 20134 Milano.

COUPON DI ABBONAMENTO

S! Mi abbono a Linux Pro


Ricever numeri a soli , euro anzich , euro con lo sconto del %

Inviate Linux Pro al mio indirizzo:


Cognome e Nome
Via

N.

Localit

CAP

Prov.

email

Tel.

Scelgo di pagare, in un unico versamento:


30
20

Con il bollettino postale che mi invierete


Con carta di credito: Visa American Express

Diners

Mastercard

Numero
Scad. (mm/aa)

Firma
Compila, ritaglia e invia questo coupon in busta chiusa a:
PRESS-DI Servizio Abbonamenti - Casella Postale , Brescia

Accetto di ricevere offerte promozionali e di contribuire


con i miei dati a migliorare i servizi offerti (come specificato
al punto 1 dellinformativa privacy): SI NO

OFFERTA VALIDA SOLO PER LITALIA

Accetto che i miei dati vengano comunicati


a soggetti terzi (come indicato al punto 2
dellinformativa privacy): SI NO

389 11 006 389 01

Langolo di

Android

News, recensioni e guide sul sistema operativo libero per smartphone

Nuovo, ma non troppo


Android 4.3 porta con s diversi aggiornamenti utili soprattutto
per la sicurezza. In attesa di Android 5 passando dalla 4.4...

ome molti si aspettavano,


Google durante la sua
ultima conferenza prima
dellestate ha presentato
un nuovo aggiornamento di
Android. non si tratta per
del tanto atteso Android 5,
che dovrebbe arrivare entro la fine
dellanno, ma di Android 4.3,
il secondo upgrade di Jelly Bean
che sistema alcune lacune
e aggiunge qualche funzione
nuova e interessante, soprattutto
per quanto riguarda la sicurezza.
Come da tradizione, Android 4.3
stato disponibile fin da subito
per i dispositivi nexus pi recenti,
cio Galaxy nexus, nexus 4
e il tablet nexus 7. poi anche
i principali produttori di telefonia,
cio HTC, Samsung, Sony e LG,
hanno annunciato che i loro
modelli di punta, Galaxy S4,
HTC one, xperia Z e optimus G2,
riceveranno Android 4.3 in breve
tempo. per gli altri produttori
e per i modelli meno recenti
ci sono meno certezze, anche
se dovrebbe essere ancora attivo
lAndroid Update Alliance,
cio laccordo tra Google
e i produttori che impegna questi
ultimi ad aggiornare il sistema
operativo per 18 mesi dalla
commercializzazione.

Un tablet, tanti utenti


A differenza degli smartphone,
normalmente usati da una sola
persona, pi comune che i tablet
possano essere adoperati dallintero
gruppo familiare, figli compresi, per
i quali in alcuni casi consigliabile
limitare alcuni privilegi di accesso.
Con Android 4.3 e con
limpostazione Limitazioni per
app e contenuti possibile fare
proprio questo, cio indicare quali
e quante app possono essere
utilizzate da ciascuno e impedire
completamente laccesso al Play
Store e a internet. per quanto
riguarda la sicurezza stato
inserito un metodo per bloccare
lesportazione di chiavi di sicurezza
su altri dispositivi, anche se dotati
di accesso root, e finalmente un
sistema che impedisce lesecuzione
di applicazioni da remoto, modalit
utilizzata fino a oggi da chi voleva
impossessarsi di dati e informazioni
riservate. inoltre prevista
la possibilit di non concedere
alcuni dei permessi richiesti dalle
varie app che vengono installate.
Da Android 4.3 possibile toglierne
alcuni anche dopo avere installato
lapp, trattandosi per di funzioni
potenzialmente pericolose Google
ha preferito non rendere
immediatamente accessibile

Android 4.3 permette di costruire dei proli utenti sui tablet con
limitazioni riguardanti lutilizzo delle app e dellaccesso a Internet

34

il sistema di gestione dei privilegi


che deve essere attivato attraverso
la finestra App Op., nascosta nei
meandri del sistema. il tentativo
di rendere accessibili le modifiche
solo agli esperti non ha per avuto
successo, visto che dopo pochi
giorni nel play Store era gi
disponibile lapp App Ops Starter
che apre automaticamente
la finestra per disabilitare i singoli
permessi. unapp da usare
con la massima attenzione! una
nota finale: pochi giorni prima di
andare in stampa Google ha
presentato la versione 4.4 di
Android. per ora ci sono poche
notizie sulle novit, rimanete
sintonizzati, vi terremo aggiornati!

Anche lapp della fotocamera


stata aggiornata e ora integra
la funzione HDR e soprattutto
la possibilit di utilizzare i tasti
del volume per scattare le foto

Numeri al volo

ra le novit pi attese
di Android 4.3 c
sicuramente il sistema
di autocompletamento
dei numeri telefonici, gi da tempo
presente sui sistemi concorrenti.
in pratica ogni volta che inserirete
un numero nel tastierino
telefonico vi verranno suggeriti tre
nominativi dalla rubrica, tenendo
conto anche della frequenza
con cui li usate. Si tratta di una
funzione semplice, che era
comunque possibile avere anche
prima installando speciali app dal
play Store, ma il fatto che ora sia
integrata nel sistema la rende pi
veloce e precisa. pi innovativo
sicuramente il supporto alle nuove
Api Bluetooth, importante sia dal

punto di vista energetico che da


quello delle funzioni disponibili.
Al momento il profilo Low Energy
attivo solo per nexus 7 e nexus
4 visto che richiede una sezione
hardware specifica, che sar
comunque presente su tutti
i dispositivi di nuova generazione.
il profilo Bluetooth Smart ready,
invece, permetter ai tanti
accessori Bluetooth disponibili
come orologi o fasce cardiache
di essere automaticamente attivi
senza particolari operazioni
di collegamento. infine
il profilo AVrCp 1 consentir
la visualizzazione remota
di informazioni specifiche come
i titoli delle canzoni o anche
i testi completi dei brani.

Linux pro 133

LXP_133_34_35_news android 34

12/09/13 17:18

News Langolo di Android

Arriva Motorola Moto X


Materiali ed equipaggiamento su misura per il primo smartphone Motorola dellera Google:
vediamo tutti i dettagli di questo nuovo e interessante dispositivo

ono passati pi di due anni


da quando Google
ha acquisito Motorola
per 12,5 miliardi di dollari
e il fatto che in questo periodo
quello che rimane il principale
produttore di telefoni americano
non abbia realizzato un nuovo
smartphone Android ha spinto molti
a chiedersi cosa ci fosse dietro.
Certo, i tanti brevetti ottenuti con
lacquisto fanno molto comodo
a Google, ma non giustificano
probabilmente un investimento
di questo tipo. La risposta invece
arriva con il primo smartphone
della nuova gestione, il Moto X.
Premessa necessaria: non si tratta
di un dispositivo particolarmente
innovativo sia a livello hardware
che software (lo schermo da 4,7
pollici non Full HD, il processore
un dual core S4 e non presente
nemmeno lultimo aggiornamento
a Android 4.3) e anche il prezzo
non esattamente a buon mercato
visto che negli USA senza
abbonamento costa come
il Galaxy S4 e lHTC One, cio circa
580 dollari. Eppure non sono
pochi a pensare che Moto
X avr un buon successo
in quanto pu venire
personalizzato
direttamente dal sito
Web MotoMaker non
solo a livello di colori ma
anche di materiali (a breve
sar disponibile anche
in legno!) con oltre 200
combinazioni possibili.
In pi Motorola punta
molto sullorgoglio
americano visto che Moto X
viene completamente
assemblato negli USA ed
al momento disponibile solo
per i cittadini degli Stati Uniti.
Rispetto agli smartphone e ai
tablet progettati direttamente
da Google come il Nexus 4
o il Nexus 7, Moto X pu per
vantare alcune funzioni esclusive
come il sistema di riconoscimento

della voce. In pratica grazie alla


presenza di tre speciali microfoni
Moto X impara subito a riconoscere
la voce del proprietario e per
accenderlo non necessario
premere il pulsante Power
ma basta pronunciare la frase Ok
Google Now. Le prime recensioni
apparse in Rete sono state molto
entusiaste rispetto al Touchless
Control, che funziona senza
problemi anche in situazioni
ambientali rumorose come
una strada trafficata o un locale
pubblico. Si tratta di un altro passo
avanti nella strada che conduce
al computer indossabile e che sta
gi vedendo il successo dei primi
prototipi di Google Glass, gli
speciali occhiali a realt aumentata
che arriveranno in commercio
allinizio del prossimo anno.
Laltra novit hardware riguarda
la fotocamera che, grazie alla nuova
tecnologia Clearpixel e a una
differente disposizione dei
fotosensori, in grado di assorbire
pi luce e quindi realizzare
fotografie di migliore qualit.

Google va in TV

ra le novit della
conferenza di fine
luglio di Google
spicca sicuramente
Chromecast. Si tratta di una
classica chiave HDMI da
collegare alla TV, simile alle
tante con Android integrato
che abbiamo visto in
questultimo anno. Solo che
Chromecast diversa, prima
di tutto perch costa solo
35$ (che quando arriver in
Italia saranno probabilmente
35 euro) e poi perch non
visualizza sullo schermo della
TV un sistema operativo
ma semplicemente i contenuti
audio e video inviati via wireless
dallo smartphone e dal PC
(naturalmente collegati
alla stessa rete Wi-Fi). Lunico
limite di Chromecast che
per funzionare deve venire
alimentata e quindi il cavo USB
in dotazione va collegato
o a una presa di corrente
oppure a una delle prese USB
presenti nei televisori pi
recenti. Nelle intenzioni originali
di Google, Chromecast doveva
servire per vedere in TV i video
di YouTube, i brani musicali
caricati su PlayMusic e le
pagine Web di Chrome,
trasformando smartphone e PC
in speciali telecomandi in grado
di regolare volume e brani.
Ma poich, come tutti i progetti

di Google, anche Chromecast


aperto ed gi disponibile
un primo SDK, gli sviluppatori
indipendenti si sono subito
messi al lavoro e hanno trovato
il modo di inviare anche
immagini e video dalla galleria
del dispositivo e anche dai
server di Dropbox e Drive.
Il primo a esserci riuscito
stato Koushik Dutta, uno
dei pi attivi programmatori
in ambito Android, che ha
realizzato AllCast, unapp
in grado di trasferire su
Chromecast praticamente ogni
tipo di contenuto multimediale,
che per al momento per
motivi legali non pu essere
presente sul Play Store. Nessun
problema con Play Store
invece per Sebastian Mauer,
che ha realizzato CheapCast,
unapp che trasforma
in una specie di Chromecast
le vecchie pennine miniPC
con Android al loro interno
e che vi consigliamo di provare
se avete a disposizione un
miniPC di questo tipo. Prima
che Chromecast arrivi in Italia
con ogni probabilit vedrete
anche un sistema per duplicare
le schermate degli smartphone
e dei PC, simile a quello
utilizzato da Apple con
la duplicazione AirPlay.

Linux pro 133

LXP_133_34_35_news android 35

35

12/09/13 17:18

Langolo di Android LG Optimus G Pro

LG Optimus G Pro
Un maxi smartphone con schermo Full HD da 5,5 pollici e 172 grammi
di peso spinto alla grande da un processore quad core da 1600 MHz

a gara per chi riesce a


costruire lo smartphone
Android pi grande e
veloce sembra non finire
mai, soprattutto dopo il successo
ottenuto da Samsung, che con
il suo Galaxy Note da 5,5 pollici
ha addirittura creato un nuovo
nome per la categoria, quello
di phablet, che non altro
che la sintesi di phone e tablet.
A LG preferiscono continuare
a definire il loro Optimus G Pro
come uno smartphone visto che
la sua funzione principale rimane
quella di telefonare, anche se
poi non facile definire telefono
un dispositivo pesante 172
grammi e lungo 15 centimetri,
se non altro perch complicato
anche solo metterlo in tasca.
Anche usarlo con una sola mano
non facile, a meno di non
avere mani grandi come badili,
solo in questo caso riuscirete
infatti a far arrivare il pollice
anche dalla parte opposta
dello schermo. Laltra faccia
della medaglia naturalmente
il display da 5,5 pollici: avere
sempre a disposizione uno
schermo in Full HD con
tecnologia IPS+ e una
definizione di 401 pixel per
pollice, ben superiore a quella
percepibile dai vostri occhi, non
ha prezzo, soprattutto se sotto
lo schermo gira un processore
come il quadcore Qualcomm
Snapdragon 600 da 1,7 GHz
che insieme ai 2 GB di RAM

Dual recording
La fotocamera anteriore da 13
Megapixel e quella posteriore
da 2 Megapixel dellOptimus
G Pro possono riprendere
contemporaneamente con effetti
decisamente particolari.

36

LINUX PRO 133

ha fornito un risultato superiore


agli 11.000 punti nel
benchmark Quadrant Standard
e non ha quindi nessun
problema non solo a far girare
i video compressi in Full HD ma
anche i giochi pi nuovi come
Asphalt 8 che abbiamo subito
installato e da cui non siamo
riusciti a staccarci per un po.
Non solo, ma a livello
di brillantezza la tecnologia IPS+
non ha veramente nulla
da invidiare a quella Amoled,
non per niente i subpixel sono in
numero notevolmente superiore,
con una saturazione e una resa
dei colori assolutamente
naturale, dove il bianco non
scade nel giallo e il nero
veramente nero. In pi, come
accade nei display pi recenti,
possibile scrivere sullo
schermo con un qualsiasi
pennino di plastica o anche con
i guanti, possibilit decisamente
comoda per le app di
riconoscimento della scrittura,
oppure se vi piace disegnare.
La memoria integrata da 16 GB,
ma quella realmente disponibile
una volta tolto lo spazio occupato
da Android 4.2.1 e dalle app
di LG inferiore agli 11 GB.
Per questo vi consigliamo di
aggiungere al pi presto una
scheda microSD, soprattutto
se vi piace vedere film o ascoltare
musica. Tra le app LG pi
interessanti c sicuramente
QSlide, una specie di
multitasking personalizzabile nel
senso che permette di definire
le dimensioni di ciascuna finestra.
Cos, per esempio, anche se state
guardando un film potrete vedere
contemporaneamente anche
il browser o il programma di chat
in una piccola finestra che poi,
considerate le dimensioni
complessive del display, non sar
poi nemmeno cos piccola. Anche
le due fotocamere, quella
posteriore da 13 Megapixel e
quella anteriore da 2, vi mettono
a disposizione funzioni particolari
come il Dual Recording e la

Grande autonomia, uno schermo quasi perfetto e un sacco


di funzionalit. Se le dimensioni non vi spaventano, provatelo!

Dual Camera, in pratica potrete


fotografare o riprendere video
contemporaneamente con
le due fotocamere e, grazie
alla tecnologia picture-in-picture
inserirvi in una piccola finestra.
Inoltre con la funzione Tracking
Focus riuscirete a mantenere
sempre a fuoco il soggetto
anche se questo si sposta.
Durante la riproduzione di un
film c la funzione Smart Video
che interrompe il filmato non
appena distogliete gli occhi
dallo schermo per riprenderlo
non appena tornate a guardare.
In realt questa funzione con
noi ha funzionato in media una
volta su due, ma occorre anche
considerare la mancanza
di esperienza. La presenza
di un trasmettitore a raggi
infrarossi poi permette
di trasformare lOptimus G Pro
in uno speciale telecomando che
funziona in abbinamento allapp
preinstallata di LG Smart
Remote. Per quanto riguarda
la sezione telefonica potrete
godere di una ricezione
superiore alla media

e soprattutto della disponibilit


della connessione LTE che
finalmente inizia a diffondersi
e ci ha permesso di scaricare
un file da Dropbox alla velocit
di 20 Mb/s. Infine un accenno
alla batteria che con 3.140 mAh
decisamente pi capiente
di quelle presenti nei normali
smartphone e ci ha permesso
di raggiungere le due giornate
di autonomia nonostante LTE
e GPS fossero sempre attivi. LXP

Giudizio
Optimus G Pro
Produttore: LG
Web: www.lge.com/it
Prezzo: 699 euro (con garanzia
italiana)

Caratteristiche
Prestazioni
Autonomia
Qualit/prezzo

8.5
8
8.5
7.5

Se vi piace avere sempre


a disposizione un terminale
grande e potente, allora Optimus
G Pro quello che fa per voi

Il voto di
Linux Pro

Xperia Tablet Z Langolo di Android

Sony Xperia Tablet Z


Sony ci vuole stupire con un tablet molto sottile e dal design
decisamente accattivante pur essendo semplice

immagine. I colori sono brillanti,


i neri profondi e ogni tipo
di immagine, da quelle fisse
a quelle in movimento, appare
perfettamente dettagliata.
La risoluzione di 1920x1200
pixel (quindi Full HD) con una
densit di 224 pixel per pollice
garantisce testi chiari e nitidi;
con i video il risultato
assolutamente fantastico.
e ci si trova sotto il sole diretto,
per, la superficie riflettente
dello schermo rende
un po di difficile la visibilit.
Per limitare al massimo
il problema, Sony ha adottato
la tecnologia OptiContrast che
elimina gli strati daria fra
il pannello touch e il display,
riducendo cos i riflessi.
Nella parte frontale del tablet
troviamo una fotocamera
da 2 Megapixel, mentre quella
posteriore da 8 Megapixel
e scatta foto di buona qualit
in quasi tutte le situazioni,
tranne forse se ci si trova in
condizioni di scarsa luminosit.
Porte e connettori sono
nascosti da sportellini
a estrazione che garantiscono
limpermeabilit ma che a volte
sono un po scomodi da aprire.
Comunque sono presenti
una porta micro USB e gli
alloggiamenti per microSD
e micro SIM, oltre al connettore
per le cuffie. Sul bordo
superiore c anche una porta
IR per il controllo del televisore
e di altri dispositivi audio/video.
Per quel che riguarda laudio,
gli speaker inseriti negli angoli

produttori di smartphone
e tablet si sono lanciati
in una vera e propria
guerra allultimo modello.
Non passa giorno senza
lannuncio di un device che
batte per un verso o per laltro
quelli dei concorrenti... almeno
fino al giorno dopo. Con il suo
Xperia Tablet Z.

Tre configurazioni
LXperia Tablet Z disponibile
in tre diverse configurazioni:
Wi-Fi con 16 GB di memoria,
Wi-Fi con 32 GB e il modello
SGP321E2, quello in prova,
con 16 GB e connessione dati
Wi-Fi+LTE. Non appena si apre
la scatola del tablet, ci si rende
subito conto del suo aspetto
semplice ma elegante
e, tenendolo in mano,
di quanto sia leggero, davvero
stupefacente per un tablet
da 10 pollici. Con i suoi
6,9mm di spessore, inoltre, il
tablet pi sottile in commercio,
caratteristica che accresce
ancora di pi la sensazione di
leggerezza quando lo si prende
in mano. Nonostante questo,
la sua struttura semi-rugged
solidissima e in grado
di riparare il tablet da acqua
e polvere. Ma il momento
di accendere questa meraviglia:
il Tablet Z vanta uno dei migliori
schermi disponibili sui dispositivi
Android, un display Reality HD
da 10,1 pollici (diagonale di
ben 25,6cm) dotato di software
Mobile BRAVIA Engine 2 che
ottimizza automaticamente ogni

TECNologIA

FUTURo

Mensile N15 Dicembre 2012

Mixare da professionisti
su Linux alla portata di tutti!

DEBIAN

Storia, miti e leggende della distro


pi fedele ai dettami dell'Open Source
LXP132_cover_A.indd 1

Voglio fuggire!

Inoltre
LG Nexus 4
Superaggiornato e con un
prezzo alla portata di tutti!

Paladini delle libert


Vediamo come opera la
Electronic Frontier Foundation

Trofei digitali
Ecco gli Ubuntu accomplishments

NovIt KDE

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, dCb mIlANo

Ardour 3

ARTISTI

Come fare
Crea la tua rivista
personale e unica con
il nuovo Flipboard p66

DIGITALI

APOCALYPSE
NOW

P e r c h i l m o n d o P ot r e b b e
da v v e r o f i n i r e a d i c e m b r e 2 0 1 2
(e non centra la Profezia maya)
Allucinazioni

Alla scoperta dei meccanismi


che ingannano i nostri sensi

I segreti della bellezza


Ecco quali sono i tratti del viso
che rendono pi attraenti

B B C S C I E N C E N 15 - M E N S . - A N N O I I - 2 0 12 - 3 , 9 0

301

Il voto di
Linux Pro

8.5

REAPER OF

SOULS

chf 9,20

Dov' il mio Topolino?


In prova
il divertente
gioco Disney
p50

Gangstar Vegas
Sei pronto
a conquistare
la citt del
peccato? p51

Podcast, radio online e i tuoi MP3:


fai tutto con il nuovo Rhythmbox

10 progetti
facili e veloci
Come realizzare
still-life 3D
Lightroom 5

Come ottenere il massimo


controllo sulla tua fotocamera

Press-Di Distribuzione stamPa e multimeDia s.r.l. milano

cOn GLI STRUMEnTI


dI UBUnTU LO
pROGETTI E REALIzzI

cOn fAcILIT

Con MiniTube guardi e scarichi


al volo i canali video di YouTube

E in pi...

La mOdaLit
manuaLe

fInO A 8 TB

pER ARchIvIARE
TUTTI I TUOI dATI

GRATIS IL TUO

SITO WEB
FILMAtI SuL DESktOP
OP

Mensile N133 5,90

ScoreCleaner Notes
Crea uno
spartito
musicale
cantando p15

MuSICA Su MISurA!

I consigli degli esperti per realizzare


foto sempre perfettamente a fuoco

ALL'ULTIMO CLICK!

L'atteso ritorno
di Diablo
Diablo!!

XCOM: EnEMy
UnknOwn
Il miglior gioco
per iOS! p48
Anno 3 3,90

FACILE

Scatti
nitidiSSimi

Voyager Air:
Air
1 Terabyte
di memoria
per il tuo iPad
p75

Task
LApp per gestire
i promemoria
in modo semplice
e veloce p14

UBUNTU

Sony SL
SLt-a58
SLt
t-a58

BioWare all'assalto
delle fortezze!

in prova

App Journal N30 Mensile

news >> il portatile linux a energia solare


La prova compL
compLeta
comp
Leta deLL
de
deLLa
LLa
a

FINALMENTE!

DRAGON AGE

ubuNtuFONINO

Larrivo sul mercato di Ubuntu Edge


si avvicina? Scopri tutti i retroscena

FOtOgraFie
daL cieLO

LEStEtIStA DIGItALE

Le incredibili immagini
di un fotografo paracadutista

8 obiettivi super zoom

Ottobre 2013

LIbrEOFFICE 4.1

PEr tESI E rICErChE


ICErC

GIMP ELIMINA tuttI I DIFEttI


DALLE FOtO DELLE VACANZE!

Le migLiori ottiche per viaggiare Leggeri


Aumenta la compatibilit con Writer offre nuove funzioni
i documenti di Microsoft Office per gestire le foto nei testi

Mensile

N301

4,99

INTERNATIONAL

IA CONTROLLATA

ASSISTEREMO MAI ALLA RIVOLTA


DELLE INTELLIGENZE ARTIFICIALI?
COP_001_Cover_TGM_301.indd 1

06/08/13 14:42

Caratteristiche
8.5
Prestazioni
8
Dotazione
8.5
Qualit/prezzo
7.5
Bello da vedere e da usare,
ben attrezzato ma la qualit
si paga, il prezzo alto

INQUISITION

BLACKLIST

000_Cover_DCM133_OK.indd 1

SAM FISHER TORNA ALLE


SUE ORIGINI STEALTH!

30.08.13 15:47

Ubuntu08_01_Cover_DEF_mario.indd 1

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, DCB MILANO

Le librerie KDE Frameworks 5


promettono meraviglie!

Produttore: Sony
Web: www.sony.it
Prezzo: da 499 a 699

UBUNTU FACILE

RNA

JOU

spEAkEr
AirplAy

iPod

Da sapere

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

Cerca con Google

AccAdemiA
del codice

iPad

Ami la natura? Ecco 10 App


selezionate per te! p38

Recuperate i vostri dati personali dalle grinfie


delle societ che spiano la vostra vita

15 pagine di pura programmazione

Sony Xperia Tablet Z

ACCENDE LA TUA PASSIONE!

NUMERO

la Rivista pRAtICA, UtILE E INDISpENSAbILE

potenza wireless

iPhone

20 App PER DIpINGERE E DISEGNARE

E anche da Facebook, Twitter, Flickr e molti altri!

Firefox OS Le componenti base del sistema


Ruby Sintassi perfetta per un codice infallibile!
Android Porta il 3D sui tuoi dispositivi

Giudizio

Ubuntu Facile N8 Mensile 2,50

SCIENZA

JOURNAL

ICA
!

Quanto si pu parlare velocemente?


Sar possibile ibernare un uomo?
Come funzionano i vetri autopulenti?

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, DCb milano - CHF 13,60

exit

THE GAMES MACHINE

Google

&

SCIENCE
Le risposte sono negli abissi

Imparare a programmare
con Scratch

Fuga da

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

mondi perduti

Raspberry Pi

UN

Pro

ok te
lo an
o ss
ov re
nu inte

pi

Diventa protagonista nel mondo Linux

stiamo andando in stampa


gi apparso laggiornamento
alla 4.2. Alcune delle
applicazioni aggiunte da Sony
danno un valore aggiuntivo
al tablet, come lApp Video
per noleggiare fi lm dallo store
Sony, o la funzione Small
Apps, che richiama un menu
con una serie di utili
applicazioni qualunque
cosa si stia facendo. LXP

Prova la tua rivista anche in dioitale


digitale
L

A confronto i 5 migliori editor di immagini Controllo parentale fai-da-te

inferiori offrono un buon effetto


stereofonico del suono, a patto
di non bloccare le uscite degli
altoparlanti coprendole con le
mani. Il processore quad-core
Snapdragon da 1,5 GHz
che equipaggia il Tablet Z non
il pi veloce in commercio,
ma accoppiato ai 2 GB di RAM
garantisce ottime prestazioni
con qualsiasi applicazione;
il processore grafico Adreno
320, poi, fa un ottimo lavoro
con i videogame 3D. A volte
per, il corpo del tablet tende
a scaldare un po. Infine batteria
e versione di Android:
la batteria, non rimovibile,
da 6.000 mAh, garantendo
un paio di giorni di utilizzo
medio, con circa sei ore
di autonomia con traffico dati
attivo. Situazione che pu
migliorare grazie alle funzioni
di risparmio energetico
integrate nel sistema operativo
che possono essere configurate
in base alle tue esigenze.
La versione di Android presente
di default la 4.1.2 ma mentre

06/09/2013 10.09.27

30/08/13 16:35

COD. LP121

COD. LP122

5,90

5,90

NUMERO 121- SETTEMBRE 2012

COD. LP125

COD. LP126

SERVER DI POSTA CON KERIO CONNECT

GUIDA AI BREVETTI

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

5,90
NUMERO 129 - MAGGIO 2013

5,90
NUMERO 124 - DICEMBRE 2012

COD. LP128

COD. SAJ4
4,90

I primi rudimenti
di programmazione
con Guido il Robot

Le caratteristiche La filosofia
I nuovi desktop I punti chiave

ESAURITO!

10 pagine di pura programmazione

ACCADEMIA
DEL CODICE

Concetti Le tipologie dei dati in Python


Django Costruire una Web App in pochi minuti
Python Come distribuire i propri programmi

Inoltre

Aria, la scheda italiana per creare server, sistemi


di allarme, controllare processi e altro ancora

Bitcoin, la valuta digitale

Fai produrre al tuo computer la nuova moneta


che funziona sul Web senza il controllo di una banca

Samsung Camera
16 Megapixel con Android
e schermo touch da 4,8

Unison
Realizza un clone di Dropbox
senza problemi di privacy

5,90

SFIDA PER PROGRAMMATORI

I segreti dello
smartphone Android
pi acclamato
dellanno

Migliore
di Ubuntu
!

Mint
ExtraForte
Linux embedded

OFFERTA
SPECIALE

Raspberry Pi

PRO

5,90

Linux Pro Mensile N126 5,90 CHF 13,60

Il concorso Liberated Pixel Cup dimostra che lo sviluppo Open Source non prevede
solo la realizzazione di noiosi programmi, ma anche divertenti videogiochi

Distributore: Press-Di, Segrate (MI)

LXP126_cover.indd 1

COD. LP129

COD. LP127

MOODLE

N. 126 - RIVISTA + DVD 5,90 - CHF 13,60

La nuova NUMERO 1 delle distro!

NUMERO 125 - GENNAIO 2013

NUMERO 123 - NOVEMBRE 2012

Se leggi Linux Pro,


ti possono piacere anche...

COD. LP124

5,90

NUMERO 122 - OTTOBRE 2012

Diventa protagonista nel mondo Linux

5,90

COD. LP123

5,90

COD. SLP7
9,90

COD. SLP8
9,90

23/01/13 17:26

NUMERO 126 - FEBBRAIO 2013

COD. LP130

NUMERO 127 - MARZO 2013

NUMERO 128 - APRILE 2013

COD. LP131

COD. LP132

5,90
NUMERO 130 - GIUGNO 2013

5,90
NUMERO 131 - LUGLIO 2013

5,90
NUMERO 132 - AGOSTO 2013

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

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

C.A.P.

Totale Ordine

Firma del titolare

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 in Cernusco sul Naviglio (MI),
via Torino, 51, 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.

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)

Recensioni

Tutte le novit in campo software e hardware testate e valutate ogni mese dai nostri laboratori

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 >>
Prison Architect

Un simulatore per provare


lebbrezza di tenere sotto
controllo dei detenuti pag. 40

Gizmo Explorer Kit

Abbiamo messo alla prova


una delle migliori schede
x86 miniaturizzate
pag. 42

AVM
Fritz!Box 3390

Prison Architect

Un router che si occupa


di gestire al meglio ogni esigenza
della rete casalinga
pag. 43

Buffalo LinkStation
LS420

Un ottimo prodotto facile


e veloce da configurare pag. 44

Confronto >>

Cinque distro che nascono da


una costola di Ubuntu pag. 46
Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin OS

Zorin OS

Da non
perdere >>

Editor di mappe, Shell Mobile,


Separatore di file audio, giochi
di abilit e simulazione
Tiled
pag. 52
Mosh
pag. 53
Mp3splt
pag. 53
irrlamb
pag. 54
QNetWalk
pag. 55

Tiled
LINUX PRO 133

39

Test Prison Architect

Prison Architect
La redazione di Linux Pro ha disatteso una regola doro provando un software ancora in versione
alfa e per questo stata mandata in gattabuia. Per ne valsa la pena...

ntroversion stata a lungo


tra le poche case di sviluppo di
giochi disposte a pubblicare titoli
per Linux. Uplink, un fantastico gioco
di simulazione di hacking, uscito
oltre 10 anni fa, seguito da
Darwinia (2005) e da Defcon
(2006), incursioni in stile rtro
nei generi della simulazione divina
e della strategia alla Risiko. Sarebbe
comunque difficile accusare
Introversion di attenersi rigidamente
a un genere specifico nei suoi titoli.
Del seguito di Darwinia a pi
giocatori, Multiwinia (2008)

non stata inizialmente realizzata


una versione per Linux (malgrado
le rimostranze di noi di Linux Pro),
il che ha segnalato cambiamenti
in casa Introversion in termini
di priorit e forse di risorse.
Lequilibrio tra i sistemi operativi non
stato ripristinato fino allo scorso
anno quando Introversion Humble
Bundle venuto in soccorso degli
utenti di Linux offrendo la prima
versione di Multiwinia per Linux
nonch laccesso al codice sorgente
di tutti i titoli per Linux pubblicati
fino a quel momento. Introversion

era tornata e lo ha dimostrato


annunciando una versione Linux
del suo ambizioso gioco di gestione
carceraria, Prison Architect.
Dopo tutto questo tempo, potreste
domandarvi perch mai abbiamo
deciso di recensire un titolo ancora
in versione alfa (v10) invece
di attendere con pazienza la sua
pubblicazione. Il motivo che
la partecipazione allo sviluppo
di Prison Architect e ai suoi forum
e il monitoraggio in tempo reale della
crescita del progetto sono divenuti
parte del prodotto stesso. Inoltre,

Avanzate attraverso
linterminabile noia delle esistenze
dei vostri detenuti, fino
a raggiungere il cuore dellazione
la scappatella di Introversion con
Linux pu certamente trarre
beneficio da un po di esposizione
mediatica. C un mondo nuovo
l fuori e lidea che una casa
produttrice debba sviluppare il suo
ultimo titolo sotto locchio attento
degli utenti ci sembra decisamente
positiva, tanto pi che bisogna
comunque sborsare del denaro
per provare la versione alfa. Quando

Passo passo La prigione fai-da-te

Le fondamenta

Definite la forma della stanza e stabilitene


la funzione. Una cella, per esempio, richiede
un gabinetto e una panca.

40

Linux pro 133

Gli oggetti

Inserite gli oggetti necessari e definite


la destinazione della stanza: quando i requisiti
sono soddisfatti, il cursore diventa verde.

Elettricit e acqua

Create gli allacciamenti alla rete idrica ed elettrica


e la stanza sar completa. Aggiungete qualche altra
stanza e un po di personale, ecco pronta la prigione.

Prison Architect Test


abbiamo chiesto al direttore
di Introversion Mark Morris quale
sarebbe stato il momento pi
opportuno per una recensione
completa del gioco, ci ha risposto
che mancava ancora una data
precisa, aggiungendo: Abbiamo
gi fatto scrivere qualche recensione
in anteprima, tipo dietro le quinte:
qualsiasi cosa pu esserci utile!.
Considerate quindi quanto segue
come unanteprima utile
per decidere se valga la pena
di spendere il vostro denaro ora
o se sia meglio aspettare a tempo
indeterminato fino alla comparsa
di Prison Architect 1.0. Nel
secondo caso dovrete rinunciare
al piacere di vedere gli sviluppatori
pasticciare con lintelligenza artificiale
e al privilegio di poter giocare con le
nuove funzioni non appena verranno
implementate. Il modo pi semplice
per procurarvi una copia del gioco
e mantenervi sempre aggiornati
farlo tramite Steam. Potete
comunque acquistarlo anche tramite
il sito di Introversion, le cui opzioni
di acquisto fanno pensare pi
a una campagna promozionale
di Kickstarter che a un innocente
videogioco. Per esempio, potete
inserire a pagamento nel gioco le
vostre foto o detenuti con il vostro
nome, quello della vostra fidanzata
o quello del bullo che vi rubava
la merendina a scuola. Mentre
scriviamo, Introversion ha venduto
237.322 di questi pacchetti, che le
hanno fruttato fondi per 7.592.265
dollari: e tutto senza vendere lanima
a colossi come Electronic Arts...
Il nostro parere che questo sia

un sistema fantastico e geniale per


dare vita a un nuovo gioco, che ha
molto in comune con lo sviluppo
Open Source; non ci sorprenderebbe
se il prossimo titolo di Introversion
avesse a che fare con lo sviluppo
di videogiochi attraverso
il finanziamento di massa.

Panico nelle strade


Il gioco si pu definire un SimCity
della gestione carceraria. Il vostro
ruolo quello di un onnipotente
direttore responsabile di ogni cosa,
dalla costruzione delle infrastrutture
al licenziamento dei secondini.
La modalit di gestione e la tipologia
della vostra prigione dipendono
interamente da voi. possibile
modificare praticamente tutto:
dalla qualit dei pasti serviti
ai detenuti allorario in cui vengono
serviti, fino alle esecuzioni dei
prigionieri e alla repressione delle
rivolte. Una breve introduzione
vi illustra le nozioni di base per
la costruzione degli edifici, la loro
destinazione, lallacciamento alla rete
idrica e lalloggiamento dei detenuti
e del personale nella prigione. Tutto
il resto viene gestito dal motore
di gioco. Ogni detenuto unentit
unica, con tanto di passato e requisiti.
I prigionieri agiscono in funzione
del loro status, dellambiente che
li circonda e delle condizioni generali
del carcere. Per voi si tratta
di giostrarvi tra mille compiti che
diventano rapidamente complicati
e un po ossessionanti. il caso
di collegare limpianto di illuminazione
di tutti gli edifici? Perch i detenuti
non usano il locale delle docce?
Avranno veramente tutto quel
bisogno di usare il gabinetto alle 3
del mattino, quando non avete fornito
loro n cibo n bevande dallora
di colazione? Costruire un edificio
per le esecuzioni a forma di teschio
e tibie sar una buona idea o no?

Rivolta in vista

Ogni detenuto ha una storia


e pu perfino ricevere visite dai
suoi cari... se glielo permettete

Fortunatamente, qui entra in gioco


la comunit. Tramite il client Steam
potete accedere a una funzione
denominata Workshops, una sorta
di portale verso altri giocatori
alle prese con Prison Architect.
Linterfaccia comprende tre aree:
Discussions, Items e Collections.
Larea Discussions prevedibilmente

Il portale della comunit nasconde molti tesori, tra cui una guida
chiamata The Ultimate Guide to Prison Architect tutta da leggere
un semplice forum in cui i giocatori
postano messaggi e risposte. Items
e Collections, invece, permettono
ai giocatori di pubblicare contenuti
propri per il gioco; le collezioni sono
gruppi di elementi ed stato proprio
dopo aver scaricato alcuni dei
modelli di prigione pi popolari che
abbiamo cominciato a divertirci sul
serio. Mettete da parte per un po
le complessit della progettazione
del carcere e scatenate una rivolta
nella Torre di Londra! Malgrado
la grafica in stile cartoni animati
e lumorismo, non si pu fare a meno
di provare una sorta di morbosa
curiosit per le vite dei detenuti
e perfino un piacere sadico per il
trattamento a cui vengono sottoposti.
Come cavie da laboratorio, il loro
trattamento determinato
interamente dalle vostre azioni
e nelle prime ore di gioco
inevitabile trascorrere fin troppo
tempo torturandoli con la privazione
di cibo, movimento e televisione.
Questo inatteso risvolto emotivo
contribuisce a fare di Prison Architect
una creazione appassionante.
Una parte dellintroduzione, per
esempio, consiste nel preparare
la camera della morte, sedia elettrica
compresa, per arrostire uno degli
ospiti a lunga detenzione. Descritta
cos, freddamente, pu apparire
unidea alquanto spietata. Eppure,
malgrado la grafica allegra e le
caricaturali chiazze di sangue che
costellano il pavimento dopo una
rivolta, lesperienza tuttaltro
che spietata. Potete considerarla
pi che altro un esperimento sociale
condotto su fotoni consenzienti.

Alcune avvertenze sono dobbligo:


si tratta di un gioco ancora in fase
di sviluppo, destinato a subire
modifiche sostanziali per mano degli
sviluppatori e che presenta qualche
problema di stabilit su Linux.
Nondimeno, riteniamo che Prison
Architect abbia il potenziale
per fruttare un notevole successo
a Introversion. un titolo ricco di
profondit inattese, in grado di offrire
divertimento a palate. Lelemento
comunitario e la complessit delle
meccaniche di gioco gli conferiscono
una notevole longevit, cos come
le interessanti modalit con cui
possibile sostenere lo sviluppo
del gioco. Se il tutto vi sembra
interessante ma vi state chiedendo
quale sia il momento giusto per salire
a bordo, ve lo diciamo noi: adesso.
Prison Architect un gioco unico
e avete una possibilit unica
per vederlo crescere fino alla
pubblicazione finale. LXP

Giudizio
Prison Architect
Sviluppatore: Introversion
Web: www.introversion.co.uk
Prezzo: 20,99 (Steam)

Giocabilit
Grafica
Longevit
Value for money

9
6
10
9

Qualche problema di stabilit


e qualche bug; ma un
esperimento affascinante
ricchissimo di giocabilit.

Il voto di
Linux Pro

Linux pro 133

41

Test Gizmo Explorer Kit

Gizmo Explorer Kit


Le schede ARM hanno fatto il botto sui mini-computer: lx86 sar in grado di reagire?

a quando lo scorso anno


la Raspberry Pi ha dato
inizio alla sua offensiva,
larchitettura ARM
divenuta di gran moda nel campo
dei microprocessori. Larchitettura
x86, tuttavia, non ancora morta:
tuttora la preferita per desktop
e server e pu anche essere ridotta.
La differenza essenziale tra i due
sistemi sta nel numero di istruzioni
della CPU: una scheda x86 un
Complex Instruction Set Chip (CISC)
mentre una scheda ARM un
Reduced Instruction Set Chip
(RISC). Ci significa che, da un lato,
i programmi x86 possono fare uso
di una gamma di comandi pi ampia
ma, dallaltro, i chip risultano pi
complessi. Tenete conto tuttavia che
il numero di comandi significativo
solo al livello pi basso di codice.
Sarebbe possibile compilare lo
stesso software per x86 e per ARM
e il risultato per lutente sarebbe
identico, anche se ovviamente le
prestazioni non sarebbero le stesse
sui due sistemi. Gizmo una
piccola scheda basata sulla serie G
di APU x86 di AMD. UnAPU, per
chi se lo stesse domandando, una

Accelerated Processing Unit.


A seconda di come la si guarda,
la si pu considerare una CPU
con una GPU annessa o come
un SoC con la RAM su un chip
separato. In sostanza, rappresenta
un modo per ridurre le dimensioni
di un sistema x86. Malgrado
la miniaturizzazione, le dimensioni
sono quasi doppie rispetto a quelle
della RP e anche il prezzo
decisamente superiore: in cambio,
il sistema offre prestazioni superiori
e la possibilit di utilizzare software
compilati per x86 (come i software
proprietari che non possibile
ricompilare). Date unocchiata
alla tabella dei risultati dei nostri
test. Per capirci, lunit ha una
velocit quasi tripla rispetto a quella
della RP, vale a dire quasi la stessa
velocit di un Celeron M da 1,5
GHz, pari a un decimo di quella
del Core i5 di Intel. In altre parole,
il dispositivo si piazza alla pari
con i chip ARM pi veloci.
Ci aspettavamo prestazioni
decisamente superiori a quelle di
questi ultimi in alcuni settori, come
lelaborazione a 64 bit. Durante
i test abbiamo rilevato un notevole

*Pi alto, meglio . Per le altre, pi basso , meglio .

Notate la dimensione
dei dissipatori, necessari
con la CPU
x86

Tabella dei risultati

42

Benchmark

Gizmo Explorer

Raspberry Pi

Blowfish

26.98

68.45

Cryptohash*

45.94

13.33

Fibonacci

7.96

18.13

N-Queens

31.38

58.95

FFT

14.52

102.55

Raytracing

65.24

89.31

LINUX PRO 133

Questo tutto quello che trovate nel kit di Gizmo: gli hacker
appassionati di elettronica avranno da fare per molto tempo

riscaldamento dellunit; perci,


a seconda di come deciderete
di montarla, il raffreddamento
potrebbe rivelarsi importante.

Per una nicchia


Tutto ci fa del kit Gizmo
un prodotto di nicchia, rivolto a chi
aspira a un x86 con tutti i crismi
e non ha bisogno di una particolare
potenza di elaborazione ma non
si accontenta di un computer
di dimensioni normali. Offre alcune
funzioni aggiuntive di norma non
presenti su un dispositivo ARM
in miniatura come un connettore
SATA, che potrebbero risultare utili
per chi intenda creare un NAS o un
PVR. Gizmo tuttavia non solo una
scheda x86: anche un ambiente
di sviluppo incorporato con GPIO,
tastiera e micro-display. Per
la programmazione possibile
utilizzare Sage SmartProbe
(incluso), collegabile a un altro PC
via USB e al Gizmo tramite JTAG.
Il kit comprende i software
proprietari necessari ma solo
in versioni di prova limitate a 20
ore di utilizzo. Per estendere questo
limite a un anno di utilizzo non
commerciale dovrete sborsare altri
299 dollari. Non una spesa da
poco per un dispositivo che costa
solo 199 dollari ma comunque
molto inferiore al prezzo della
licenza commerciale completa,

che costa ben 3.000 dollari. Se


questo lambito che vi interessa, il kit
Gizmo vi offre un buon punto
di ingresso nel mondo dei sistemi
embedded x86. Il software Sage
potente e offre un certo numero
di esempi, bench non goda
del supporto di una comunit
paragonabile a quella della RP; sar
meno facile, quindi, reperire risposte
online. Se per qualche ragione
avete necessit di imparare luso
di un sistema di sviluppo embedded
x86, Gizmo pu rappresentare
una buona scelta. Agli hobbysti
che aspirano a una soluzione meno
costosa per i progetti embedded
e luso del GPIO, tuttavia, converr
optare per la Raspberry Pi. LXP

Giudizio
Gizmo Explorer Kit
Produttore: Gizmosphere
Web: www.gizmosphere.org
Prezzo: $199

Caratteristiche
Prestazioni
Facilit duso
Qualit/prezzo

8
7.5
6.5
7

tra le migliori schede x86


miniaturizzate in circolazione,
bench sia un po voluminoso
rispetto agli ARM concorrenti.

Il voto di
Linux Pro

7.5

AVM Fritz!Box 3390 Test

AVM Fritz!Box 3390


AVM continua ad aggiornare la sua gamma media di modem/router. Il nuovo 3390
eredita le funzioni del 3370 ma in pi lavora contemporaneamente sui 2,4 e sui 5 GHz

router AVM hanno sempre


riscosso un buon successo
soprattutto per il fatto
di integrare un vero e proprio
centralino di telefonia analogica
e DECT. Cos, a molti sembrata
una ben strana mossa offrire
una linea, la serie 3000, priva
di questa capacit ma a prezzi
comunque piuttosto elevati.
Oltretutto, i primi serie 3000
qualche mancanza ce lavevano.
Questo nuovo 3390 proprio
levoluzione diretta del precedente
3370, e lunica modifica hardware
di peso che il 3390 pu operare
contemporaneamente sulle bande
2,4 e 5 GHz. Una mancanza
che era probabilmente il maggior
difetto del 3370. Una curiosit:
in configurazione base, le due
frequenze creano una rete
con unico SSID, e la scelta della
frequenza quindi demandata
allapparecchio che si connette;
in modalit avanzata, invece
possibile assegnare nomi diversi
alle due reti e decidere a quale
collegarsi. Il sistema radio dotato
di sei antenne interne, che
lavorano in modalit MIMO
per far raggiungere al router una
velocit di 450 Mbps per banda.
Ovviamente in standard n, visto
che il nuovo standard ac non
stato preso in considerazione.
Il modem di tipo ADSL2/VDSL,
quindi pu essere usato anche
per le nuove reti a 100 Mbps.
Il resto dellhardware del 3390

pressoch identico al
precedente modello. Troviamo
quindi sul retro 4 porte Gigabit
Ethernet e due USB, utili
per aggiungere una chiavetta 3G
da usare come connessione
demergenza, o per condividere
sulla rete stampanti e dischi USB,
che vengono promossi
automaticamente a NAS
multimediali DLNA dal firmware
residente sul router. Firmware
che continua a essere il miglior
asset della gamma AVM. Una volta
acceso il router e connesso il PC
alla rete wireless inserendo la
password WPA2 o usando il WPS,
infatti, basta aprire un browser
e subito si viene portati alla pagina
di configurazione. Un paio di click
per scegliere lingua e paese,
e si pronti a operare. Il sistema
di controllo del Fritz un vero e
proprio sito Internet, con un layout
e una grafica ben studiata. Ha due
modalit di funzionamento: quello
base mette a disposizione
i comandi indispensabili, mentre
quello avanzato apre una serie
infinita di possibilit di controllo
e regolazione. Si va dai grafici
di monitoraggio della qualit
della linea e del segnale Wi-Fi
al sistema di controllo parentale
con white list e black list per ogni
utilizzatore connesso. Operando
in modalit avanzata si scopre che
la telefonia c ancora, anche se
limitata al VoIP: possibile usare
il 3390 come centralino digitale,

La gestione del router estremamente facilitata da un pannello


di controllo dotato di parecchi optional

In questo nuovo
modello ritroviamo il classico
design dei router Fritz

per effettuare chiamate da


apparecchi iOS o Android grazie
ad App gratuite dedicate. Funziona
pure con gli iPod Touch... Altre
App consentono il controllo
remoto del router e luso come
server DLNA. Tornando alle
caratteristiche del firmware,
contiene funzionalit per limitare
il consumo di energia, spegnendo
le parti non in uso del router
e limitando le prestazioni dove
sovrabbondanti; per esempio
riducendo la velocit delle prese
Ethernet da 1 Gbps a 100 Mbps.
Inoltre presente un sistema per
gestire laccesso in rete di ospiti:
il guest pu usare il Wi-Fi
per andare su Internet, ma non
autorizzato a ficcanasare nel
resto della rete. Laccesso ospite
pu essere anche cablato:
a questo scopo, si impiega la porta
Gigabit numero 4, sul retro del
router. Altre funzioni interessanti
sono il controllo remoto del router,
anche via App, e la possibilit
di creare una sorta di cloud
personale sfruttando il servizio
gratuito MyFritz e un disco USB
connesso al router. Sul fronte delle
funzionalit insomma c tutto
quello che si potrebbe desiderare.
Sul fronte delle prestazioni, invece,
qualche perplessit viene dalla
velocit del Wi-Fi: nella media
quando lutilizzatore si trova nella

stessa stanza, un po sotto


la media, soprattutto per una
macchina di questo prezzo,
quando fra il PC e il router
mettiamo un muro o una trentina
di metri di distanza. Nonostante
questa limitazione, il 3390 rimane
una scelta consigliabile per chi
ha bisogno di un router capace
di diventare un sofisticato centro
di controllo della rete di casa,
che permetta di gestire anche
laccesso remoto alle risorse senza
dover assumere un tecnico di rete
per gestire il tutto. Se invece
il vostro primo requisito
la massima velocit del Wi-Fi,
probabilmente meglio rivolgersi
a un modello dotato di radio
802.11ac. LXP

Giudizio
AVM Fritz!Box 3390
Produttore: AVM
Web: www.fritzbox.eu/it
Prezzo: 179

Caratteristiche
Prestazioni
Facilit duso
Qualit/prezzo

9
7
9
7

Funzioni rese semplici da


unottima interfaccia, Wi-Fi non
al top, e prezzo un po alto

Il voto di
Linux Pro

LINUX PRO 133

43

Test Buffalo LinkStation LS420

Buffalo LinkStation LS420


Un NAS multimediale compatto, veloce e semplice da configurare, senza troppi fronzoli

e nostre case ormai


brulicano di dati digitali
(video, foto, ecc.). La scelta
di usare uno storage di rete
quindi logica, e ancora pi logica
ladozione di un sistema RAID, che
offra protezione ai nostri preziosi
file. La LinkStation LS420
di Buffalo sembra essere una
buona soluzione allesigenza di
memorizzazione di una famiglia.
Si tratta di un sistema NAS molto
compatto, appena 20x9 cm di
base e 13 di altezza, con al suo
interno 2 dischi a scelta da 1, 2, 3
o 4 TB luno. Essi sono predisposti
in RAID 0 per la massima velocit,
ma ovviamente consigliamo
di configurarli come RAID 1,
dimezzando la capacit totale ma
garantendo la massima sicurezza.
Lunit molto silenziosa, grazie
a una ventola posteriore di grandi
dimensioni e basso numero di giri.
Solo in piena notte si percepisce
il rumore, ma non quello
del motore della ventola, bens
il fruscio del flusso daria.
Rimuovendo il pannello anteriore,
si ha accesso al vano dischi,
montati su apposite slitte,
e diventano visibili altri due LED
e un pulsante. A parte i LED, tutta
loperativit concentrata sul
pannello posteriore: troviamo una
porta Gigabit Ethernet, una USB
2.0 per il collegamento di un disco
esterno e linterruttore di
accensione, realizzata con

un microswitch da pannello
dallaspetto ultraeconomico
e poco rassicurante. Infine, sono
presenti la presa per lalimentatore
esterno e laggancio per lantifurto.
Se facile arrivare al vano dischi,
non altrettanto lo curiosare
sulla scheda madre. Che, giusto
per la cronaca, basata
sul processore Marvell a 1,2 GHz,
con 512 MB di RAM.

Il firmware
Il NAS viene comandato da un vero
e proprio server Web integrato,
e linterfaccia stata studiata
per non intimidire nemmeno lutente
pi inesperto. Le varie funzionalit
sono contenute in grandi quadrati,
tipo le tile di Windows 8, ciascuna
delle quali d accesso a sottomenu
abbondantemente spiegati. Lultimo
quadrato permette di accedere
alla modalit Avanzata, dove si ha
un maggiore controllo sulle funzioni,
ma ovviamente richiesto un
minimo di competenza. Le funzioni,
dicevamo. Beh, non che ci sia
molto: quelle pi complesse, che
ci stavamo abituando a trovare
sui prodotti concorrenti, tipo
videosorveglianza, eccetera, qui
non ci sono. O forse sar linterfaccia
utente che non le mostra. Ci sono
per le cose di base: laccesso con
protocolli pi comuni, come Samba,
AFP per Mac e FTP; le funzionalit
multimediali come il server DLNA,
la gestione dei download di torrent,

Linterfaccia Web del NAS di Buffalo di immediata comprensione

44

Linux pro 133

Linstallazione dei dischi generalmente semplice

il server iTunes e quello di stampa,


perch alla porta USB si pu
connettere una stampante. LS420
predisposto per fare da unit
di backup automatico, anche con
il sistema Time Machine del Mac;
sono poi disponibili App per potersi
collegare da smartphone e tablet,
sia iOS che Android. Infine,
possibile utilizzare la LinkStation
come cloud personale, tramite
un servizio di accesso via Web
fornito da Buffalo. Nel complesso,
una dotazione di funzioni basica:
c tutto quello che serve per un uso
intensivo in famiglia, ma niente di
pi. Di fatto, non il prodotto giusto
per gli smanettoni a cui piace
intervenire sul firmware del proprio
NAS, aggiungendo applicazioni
e nuove funzioni, ma una macchina
ben ottimizzata per fare il suo lavoro
di storage e sorgente di stream
multimediali. Nei test su strada,
abbiamo apprezzato la buona
velocit operativa, con transfer rate
medi fra i 60 e gli 80 Mbps e picchi
di 100 quando trasferivamo
da SSD. Buona anche la velocit
di streaming verso il nostro set-top
box, che non ci ha mai dato
problemi di fotogrammi saltati
o altro. Non siamo riusciti invece
a fare streaming video verso
i nostri dispositivi Android
di riferimento, Samsung e Huawei,

per unincompatibilit fra i loro client


DLNA e il server Twonky del Buffalo.
Lo streaming di foto e musica non
ha dato problemi di sorta.
In definitiva, la LinkStation LS420
una macchina che ha i suoi punti
di forza nella semplicit operativa
e nel facile inserimento in ambiente,
oltre alla velocit di scambio dati
superiore alla media della sua
classe di prezzo. Ma se cercate
un NAS da rivoltare come un
calzino, totalmente personalizzabile
ed espandibile, pronto a prendere
il ruolo di cervello della rete,
meglio guardare altrove.
Magari a un modello superiore
di Buffalo, perch no. LXP

Giudizio
Buffalo LinkStation LS420D
Produttore: Buffalo Technology
Web: www.buffalotech.it
Prezzo: 399,90 (2 TB)

Caratteristiche
Prestazioni
Facilit duso
Qualit/prezzo

7
8.5
9
8

C proprio quello che serve,


poche funzioni ma facili
da gestire, buone prestazioni
complessive.

Il voto di
Linux Pro

In libreria Test

DIY Instruments for Amateur Space


Il libro per voi se avete sempre il naso allins

il 2013 e ancora non


abbiamo le macchine
volanti e non possiamo
fare le vacanze sulla
Luna o su Marte questo

non il futuro che ci avevano


promesso quando eravamo
piccoli. Eppure quando questo
libro arrivato nel nostro
ufficio, ci parso che il futuro
sperato si avvicinasse un po.
Nel caso non lo abbiate intuito
leggendo il titolo, un libro
che spiega come costruire
un veicolo spaziale. S,
un vero veicolo spaziale.
Non modelli, o simulazioni,
o giochi, ma macchine reali
che volano nello spazio.
Ok, forse volare nello spazio
un po troppo, diciamo che
vi spiega come realizzare
dei satelliti che orbitano attorno
alla Terra. Inviare dei satelliti
in orbita non proprio
economico, comunque non
pi prerogativa dei soli governi
pi grandi. Piccole unit dette
pico satelliti possono essere
costruiti e inviati in orbita per

qualche decina di migliaia


di euro e i prezzi continuano
a scendere. Continua a non
essere unattivit alla portata
di tutti, ma comunque nelle
possibilit di alcune universit
o grandi organizzazioni. Questo
libro il terzo di una serie
di quattro che accompagna
il lettore attraverso il processo
di costruzione di un satellite
ed quello pi utile. Questo
volume uninteressante lettura
anche se se siete solo dei geek
curiosi senza la velleit di
lanciare qualcosa in orbita, visto
che almeno met del libro pu
essere interessante anche per
altri progetti visto che coinvolge
luso di sensori remoti, ad
esempio se volete realizzare un
drone volante. Questo libro non
ha molte pagine, e ci si riflette
sul prezzo. Abbiamo notato
alcuni difetti nellediting, come

dei riferimenti nel testo ai colori


di immagini che in realt sono
in bianco e nero, ma questi
dettagli non impediscono
di capire alla perfezione
i contenuti. Ora non ci rimane
che convincere la dirigenza
a lasciarci costruire il nostro
satellite di LXP! LXP

Giudizio
DIY Instruments
for Amateur Space
Autore: Sandy Antunes
Editore: Maker Press
ISBN: 978-1-449-31064-6
Pagine 104
Prezzo: $5,49/$2,99 (ebook)
Tre, due, uno lancio! Se non
vedete lora di dire queste parole,
acquistate questo libro.

Il voto di
Linux Pro

Arduino Projects for Dummies


Un facile approccio a un argomento complesso

on sempre i libri
for dummies
ci entusiasmano;
possono essere
troppo paternalistici, forse troppo

di base, e molti di essi usano font


che offendono la vena artistica
del nostro amato art director.
Eppure dobbiamo ammettere
che sono una risorsa grandiosa
per chi vuole avvicinarsi a un
argomento guidati da un autore
che non d per scontato
nulla. Molti potenziali
utenti di Arduino si trovano
in questa situazione.
Essi sanno qualcosa
su GNU/Linux e sulla
programmazione e vogliono
fare esperimenti applicando
le stesse idee ai circuiti.
La Raspberry Pi sta facendo
un gran lavoro per colmare
il gap, grazie ai suoi pin GPIO,
ma perfino la RP non pu
competere con Arduino
per la realizzazione di circuiti
gestiti da un microcontrollore.
Questo ci lascia con il problema
di affrontare un mondo dominato

da voltaggi, correnti
e resistenze. un problema
che abbiamo cercato di aiutarvi
a risolvere per diverso tempo
in passato, con una lunga serie
di tutorial, quindi conosciamo
bene gli ostacoli che bisogna
superare nel cercare di spiegare
un argomento simile. Arduino
Projects for Dummies, secondo
noi, riesce nellobiettivo. Il testo
riesce a demistificare termini
e concetti che vi servono per
iniziare a lavorare su qualche
progetto. Il primo dei quali
lequivalente per Arduino
del classico Ciao Mondo!:
far accendere un LED, ma poi
il progetto si evolve velocemente
per aggiungere un mix di rosso,
blu e verde usando la
modulazione di larghezza
dimpulso. La complessit dei
progetti cresce man mano fino
ad arrivare a un data logger GPS

e a un cubo 3D fatto con i LED.


Questi progetti non saranno i pi
ambiti e ambiziosi, ma riescono
a portare il lettore dal livello di
principiante completo a quello di
creatore di progetti interessanti,
il tutto senza farlo perdere tra
migliaia di teorie. Un libro per
principianti che funziona. LXP

Giudizio
Arduino Projects
for Dummies
Autore: Brock Craft
Editore: Wiley
ISBN: 978-1-118-55147-9
Pagine 286
Prezzo: 21,60
Non siamo dei fan di questa
collana ma questo volume compie
alla perfezione il suo lavoro.

Il voto di
Linux Pro

LINUX PRO 133

LXP_133_45_inlibreria 45

45

12/09/13 17:33

Roundup Office suites

Test Confronto

Ogni mese mettiamo a confronto prodotti


e programmi per farvi scegliere al meglio!

Le spin di Ubuntu
Se siete tra coloro che amano Ubuntu, ma non possono soffrire Unity,
questo confronto quello fa per voi. Dopo aver messo alla prova cinque
distro con interfaccia grafica diversa, avrete solo limbarazzo della scelta

Modalit del test


Confrontare le distro basate
su Ubuntu non stato facile.
Adottare i soliti parametri, come
lanalisi dellinstallazione, non
sufficiente. Essendo tutte molto
simili tra loro, elencare le pi
insignificanti differenze rischia
di diventare noioso. Ecco perch
lobiettivo di questo confronto
aiutarvi nella scelta di una distro
in base allesperienza desktop.
Ubuntu usa Unity, che purtroppo
richiede una scheda grafica
accelerata, lasciando cos fuori
i PC con hardware datato. Trovare
alternative a Unity diventa quindi
un obbligo. Oltre allinterfaccia
grafica, abbiamo puntato
i riflettori sugli strumenti
personalizzati offerti da ogni
distro: alcune hanno un proprio
gestore di pacchetti, altre
sostituiscono gli strumenti
standard e cos via. Infine
troverete unanalisi sul tipo e la
natura delle applicazioni in bundle
e sulle opzioni di configurazione.

La nostra
selezione
Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin OS

46

on potete fare a meno di usare


ubuntu, ma non riuscite pi
a digerire la pesantezza di unity?
Siete fortunati, perch esistono
un sacco di alternative che vi danno
la possibilit di continuare a usare la stessa
infrastruttura di ubuntu, pur sostituendo unity
con altri ambienti pi che soddisfacenti. in
questo panorama si muovono sia sviluppatori
legati a Canonical, che producono spin
ufficiali a partire dalla seconda release

Linux pro 133

di ubuntu, sia programmatori indipendenti.


La spin pi longeva e popolare di Canonical
sicuramente Kubuntu con desktop KDE.
per chi invece ha un computer poco
potente, la scelta pi adatta Lubuntu che
vi permette di usare GnoME a partire dalla
versione raring ringtail 13.04. A queste
spin ufficiali si affiancano quelle degli
sviluppatori indipendenti che, pur basandosi
su ubuntu, finiscono per essere vere
e proprie distro modificate. Mentre alcune

prendono la distribuzione madre e si limitano


ad aggiungere alcune applicazioni, ce ne sono
altre che denotano un maggiore impegno.
Bodhi Linux ne un esempio. Distro
semi-rolling, basata su una versione Long
Term Support (LTS) di ubuntu, si presenta
con un aspetto minimale, che pu essere
personalizzato facilmente per adattarsi
a un desktop di una macchina datata.
C poi Zorin oS, progettato per chi
proviene da Windows.

Confronto Test

Applicazioni di default
Cosa vi aspetta in ogni distro?

er la maggior parte delle


distribuzioni presenti in questo
confronto, la scelta dei software
di default dipende dal desktop. Pertanto
troverete applicativi GNOME come
Evolution, Shotwell, Rhythmbox e Totem,
ma anche programmi tipici di KDE come
Kmail, Amarok e Dragon Player in Kubuntu.
Sebbene queste distro cerchino di rimanere
fedeli ai loro desktop, ci sono alcune
eccezioni. LibreOffice, per esempio,
presente in Ubuntu Gnome, ma anche in
Kubuntu e Zorin. Mentre il leggero Lubuntu
usa AbiWord e Gnumeric. E ancora Bodhi
che sfrutta il suo basilare editor di testo.
In realt, in Bodhi, lunica vera applicazione
il browser Midori, che Google Docs
considera una versione non aggiornata di
Chrome. Sempre sul fronte dei browser,
noterete come Zorin usi proprio Chrome,
mentre Lubuntu opta per il fratello Open
Source Chromium. Kubuntu fa invece
affidamento su un proprio browser

chiamato Reconq, sebbene sia presente


una funzione per installare al volo Firefox. In
netto contrasto con Bodhi, la seconda distro
pi leggera del confronto, ovvero Lubuntu,
strapiena di applicazioni. Alcune si basano
su GTK, come per esempio Evince, Archive
Manager e leditor di immagini mtPaint,
altre sono strutturate per LXDE, tipo
Leafpad e PCManFM. In Lubuntu spiccano
il client email Sylpheed e il browser
Chromium, ma trovate anche Gnome
Mplayer, che vi permette di riprodurre
i formati multimediali pi diffusi, come MP3,
AVI, MP4 e cos via. Interessante rilevare
come Ubuntu Gnome permetta
di riprodurre gli MP3 anche al di fuori
di Rhythmbox. In Kubuntu non troverete
alcun plug-in, perch le sue applicazioni
multimediali sono progettate per andarsi
a prendere i codec solo quando necessari.
Laspetto migliore che coinvolge tutte
le distro derivate da Ubuntu, la possibilit
di installare plug-in e codec proprietari

Potete provare
Bodhi Linux
in versione Live
e da l procedere
direttamente
allinstallazione
sul disco fisso
del vostro PC

Verdetto
direttamente in fase di installazione. Lunica
distro capace di lanciare i contenuti
proprietari Zorin che, con i suoi 1.5 GB,
anche la distribuzione pi pesante. Oltre
ai software gi citati, comprende: Shotwell,
Google Chrome, Gwibber, Thunderbird,
Empatia, Totem, Rhythmbox, VLC e anche
leditor video OpenShot. Non solo, perch
c anche WINE per installare i software di
Windows. In definitiva, a meno di non usare
Zorin, con tutte le altre distro e a maggior
ragione con Bodhi, la prima cosa da fare
far visita al Software Center.

Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin
Se ritenete
la dotazione
di programmi
essenziale, Zorin
fa al caso vostro.

Destinazione duso
Mantengono davvero quello che promettono?

ogni distro, pur avendo


interfacce grafiche diverse, va
benissimo per chiunque decida
di usarla. La scelta dipende solo da voi
e dalle vostre necessit. Lobiettivo
di Ubuntu Gnome fornire un desktop
GNOME relativamente puro. Dal
momento che la principale distro

Ubuntu (13.04) sfrutta ancora le


librerie GNOME 3.6, Ubuntu Gnome
viene fornito con la stessa versione,
pertanto dovrete imparare a installare
manualmente lultima release facendo
uso del Package Archive (PPA). Se non
potete fare a meno di Boxes e Web,
le applicazioni GNOME pi in voga,
allora avrete
bisogno per forza
dellultima versione
disponibile. Kubuntu
si comporta allo
stesso modo di
Ubuntu Gnome, ma
verso KDE. Tuttavia,
pur integrandosi
benissimo con
questa shell, non
ne include tutte
le applicazioni,
come per esempio

Ecco Lubuntu allopera su un vecchio notebook con CPU Celeron

Calligra Suite Office. Gli sviluppatori


di Lubuntu, invece, hanno voluto
creare una distro meno avida di risorse,
basandosi cos su LXDE. Grazie
a software come Mplayer, si dimostra
sicuramente pi usabile rispetto ai
concorrenti. Bodhi Linux, come avrete
avuto modo di capire gi dal paragrafo
precedente, una distro leggerissima,
che vi incoraggia alla personalizzazione
tramite il proprio gestore di pacchetti.
Essendo quasi del tutto spoglia di
applicazioni, naturale che siate voi a
decidere quali utilizzare. Questo aspetto
ne fa quindi una delle distribuzioni
pi versatili in circolazione, a patto
di aver voglia di installare manualmente
i software di cui avete bisogno. Zorin,
infine, progettato per chi proviene
dal mondo Windows e la grande
usabilit della propria interfaccia grafica
ne la riprova pi evidente.

Verdetto
Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin
Ubuntu Gnome
ha un difetto:
dipende ancora
troppo dalla
distro madre.

Linux pro 133

47

Test Confronto

Interfaccia desktop
Quale distro offre lesperienza pi soddisfacente?

rima dellavvento di Unity, Ubuntu stata


la pi popolare distribuzione Linux per
gli utenti desktop. Le ragioni sono sotto gli
occhi di tutti: il programma di installazione Ubiquity
senza dubbio il migliore, cos come il sistema di
gestione dei pacchetti, che ha reso laggiornamento
delle applicazioni e del sistema un vero gioco

da ragazzi. Tutte le distro di questa comparativa


sono dello stesso livello. Tuttavia, mentre alcune
hanno bisogno di maggiori risorse per lavorare
in modo opportuno, altre hanno pi flessibilit e
incidono meno sulle prestazioni del sistema. In ogni
caso, pur basandosi su Ubuntu, ognuna di loro offre
un approccio diverso. Ecco perch pu essere utile

valutarne lutilizzo. Le principali domande che ci


siamo fatti per giudicare ciascuna distribuzione sono
essenzialmente due: possono attirare persone
che non hanno mai utilizzato Linux e provengono
dai mondi Windows o Mac? E ancora: chi gi utilizza
Linux, pu essere invogliato a usarle come
alternativa alla propria distro preferita?

Ubuntu Gnome
Se siete tra coloro che provano una profonda delusione per lintegrazione
di Unity in Ubuntu, sar molto difficile che riusciate a digerire Ubuntu Gnome.
Le somiglianze tra Gnome 3 e Unity sono tante, anche se lapproccio con cui
si presentano sensibilmente diverso. Se il launcher verticale non mai stato
di vostro gradimento, ritrovarlo in Ubuntu Gnome non sar certo una gioia.
Tuttavia, mentre il launcher di Unity rimane sempre visibile, in GNOME
necessario spostare le applicazioni nella Activities View prima di poterle
visualizzare. Tra le altre mancanze di GNOME, figurano solo una minima
capacit di movimento delle finestre e limpossibilit di creare icone
sul desktop. Tutti punti a sfavore che generalmente ne escludono luso
da parte degli utenti desktop. Anche chi gi affezionato a GNOME,
vedr poi nellintegrazione di GNOME 3.6 un ulteriore passo falso.

Kubuntu
A prima vista, KDE ricorda Windows: la barra delle applicazioni nella parte inferiore
dello schermo, il menu di avvio nellangolo e le icone di lancio rapido. Non
considerate per questa somiglianza come un aspetto negativo, perch un
approccio di questo genere facilita chi proviene dal mondo del sistema operativo
Microsoft. Le potenzialit di Kubuntu si sviluppano per in un altro ambito, vale a
dire nelle tantissime funzioni presenti e nelle relative opzioni di configurazione. Tutti
aspetti che faranno felici gli smanettoni, ma che se viste in unaltra ottica, si rivelano
unarma a doppio taglio. Come sapete, pi un ambiente ricco di opzioni, maggiore
il pericolo di mandare in confusione chi vi si avvicina per la prima volta. Kubuntu,
pertanto, pur essendo una distribuzione validissima, manca di alcune caratteristiche
che hanno fatto la fortuna di Ubuntu, come per esempio il Software Center.

Requisiti di sistema
Quale hardware dovete avere per farle funzionare?

n base allhardware che avete a


disposizione, le distro della comparativa
potrebbero non funzionare a dovere.
La pi esigente senza dubbio Ubuntu
Gnome che sfrutta la grafica accelerata.
Tuttavia, con Kubuntu e il supporto per
KDE, possibile usare una distro Canonical
anche su computer pi datati. Se non
avete una scheda grafica abbastanza
potente, dovrete per accontentarvi degli
effetti di base pi elementari. Questo non
andr comunque a inficiare sulla corretta

48

Linux pro 133

funzionalit del sistema, che rimane sempre


ad alti livelli. Se per il vostro PC davvero
messo male dal punto di vista tecnico,
nessuna distro funzioner meglio delle
due pi leggere: Lubuntu e Bodhi Linux.
Per sfruttare con soddisfazione la prima,
bastano solo 512 MB di RAM. Il progetto,
inoltre, mette a disposizione ISO da 700 MB
che rendono il processo di installazione
relativamente leggero. Se proprio volete
scendere oltre la soglia minima, non rimane
che utilizzare Bodhi Linux. Riesce a girare

senza alcun problema su macchine con 128


MB di RAM e solo 2,5 GB di spazio libero su
disco. Specifiche che probabilmente potreste
trovare in un computer da museo, ammesso
che ce ne siano ancora in giro. La cosa
positiva di Bodhi la sua capacit di
funzionare perfino su macchine pi capaci.
Basta usare il gestore pacchetti per scaricare
i programmi completi anzich le versioni lite.
Zorin OS, infine, offre il meglio dei due mondi,
funzionando con GNOME sui PC pi potenti
e LXDE su quelli pi vecchi.

Verdetto
Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin
Bodhi Linux
la distro pi
leggera della
comparativa.
Pu funzionare
con 128 MB
di RAM e 2,5 GB
di spazio libero.

Confronto Test
Lubuntu
Come KDE, anche LXDE riprende molto da vicino lambiente tipico di Windows:
notate la barra di avvio in basso e il relativo menu. Rispetto a KDE, per, Lubuntu
lascia perplessi per il richiamo alla versione 98 del sistema Microsoft, che certo
non far la felicit di chi vuole avvicinarsi a questa distro dopo unesperienza
con 7, Vista o XP. Bisogna poi ricordare che non c altro in comune con le
funzionalit di Windows, come per esempio le anteprime dal vivo che in questo
caso non esistono. In Lubuntu mancano poi le integrazioni con PCManFM
e Sylpheed, che allo stato attuale sono in via di sviluppo. Questa distro va
comunque benissimo per tutti coloro che vogliono eseguire un sistema leggero
ed efficace su macchine dotate di hardware obsoleto. In questo Lubuntu si
distingue davvero bene e offre unesperienza desktop relativamente piacevole.

Bodhi Linux
Bodhi Linux la distribuzione minimale per eccellenza. Si basa
sullelegante Enlightenment e ha un suo file manager e tutti i vari gadget
pi i diversi effetti compositivi. Laspetto pi interessante, per, non
tanto quello grafico, quanto quello funzionale. Con Bodhi Linux
potete riportare a nuova vita una macchina che non trovava altro posto
se non nel ripostiglio di casa. Leggerissima e funzionale, questa distro
pu sfruttare diverse interfacce a seconda del computer che utilizzate.
La modalit desktop ha un layout tradizionale con menu e barra delle
applicazioni. La versione portatile/netbook sposta tutto nella parte
superiore, lasciando in basso solo alcuni gadget e sul lato sinistro
lavvio rapido dei programmi. C anche una versione per dispositivi
mobili e schermi di piccole dimensioni, che utilizza Dash di Unity
o le Attivit di GNOME 3.

Zorin OS
Questa senza alcun dubbio la migliore distro della comparativa, capace di offrire
lesperienza duso pi soddisfacente sia per gli utenti Linux, sia per coloro che
provengono da altri sistemi operativi. Linterfaccia grafica somiglia moltissimo
a quella di Windows 7 e per fornire ancora pi familiarit a chi ha usato il sistema
Microsoft, Zorin mette a disposizione il menu Start. Se preferite dargli un aspetto
pi in linea con le vostre aspettative da amanti di Linux, niente vi impedisce
di utilizzare lapplicazione Zorin Look Changer per trasformare linterfaccia con
GNOME 2. Se avete 10 euro da spendere, vi consigliamo di acquistare la versione
Ultimante, che contiene ulteriori temi in stile Mac OS X e Windows 2000.
Zorin, per, non solo grafica, ma anche applicazioni. Trovate Ubuntu One
integrato nella distro, cui potete poi aggiungere unenorme quantit di programmi,
capaci di fare la felicit di chi vuole una distribuzione pronta alluso.

Documentazione e supporto
Se avete bisogno di aiuto, c qualcuno che pu fornirvelo?

no degli aspetti che rende Ubuntu


cos popolare lenorme quantit
di persone che attira nella propria
comunit. In questo frangente le distro fanno
del loro meglio. Ubuntu Gnome, per esempio,
pu contare su un gruppo in continua
crescita che sfrutta canali IRC e mailing list,
anche se attraverso il forum di supporto
riesce ad aiutare la maggior parte degli utenti
che chiedono aiuto. Kubuntu forse la distro
capace di contare sulla comunit pi folta
dopo Ubuntu. Certo, parte avvantaggiato

rispetto agli altri dato che rappresenta il


sistema con pi anni alle spalle, ma affianca
al forum di supporto per KDE altri canali
come mailing list e chat IRC. Apprezzabile,
inoltre, la disponibilit di aiuto in lingue
diverse dallinglese. A questo proposito c
una guida in formato ebook che trovate
su www.ubuntuguide.org. La comunit
di Lubuntu si lega a quella di Ubuntu e infatti
il forum di discussione lo trovate su www.
ubuntuforum.org tramite il tag Lubuntu.
comunque possibile dialogare con gli

Verdetto
Ubuntu Gnome
Kubuntu

sviluppatori della distro sia facendo uso delle


mailing list, sia dei canali IRC. Zorin OS offre
una guida allinstallazione molto rudimentale,
anche se ci sono diversi thread integrativi
sul forum con laggiunta di alcuni tutorial.
Se avete acquistato la versione Premium,
allora avete diritto ad assistenza tecnica
dedicata. Bodhi Linux la distro con la
miglior documentazione disponibile. Trovate
una guida rapida per lavvio e informazioni
pi dettagliate sulla personalizzazione
del sistema perfino con dispositivi ARM.

Lubuntu
Bodhi Linux
Zorin
Ogni distro ha
il proprio centro
di supporto
fornito dalla
comunit che la
sviluppa. Bodhi
ha moltissime
risorse utili.

Linux pro 133

49

Test Confronto

Personalizzazione
Potete cucirvi addosso la distro che fa per voi?

i che contraddistingue di pi
le distro messe sul banco di
prova, la capacit di adattarsi
alle varie esigenze di chi le utilizza.
Prendiamo Zorin. Progettata per coloro
che vengono dal mondo Windows,
grazie allapplicazione Look Changer,
permette a chi vuole avere
uninterfaccia Linux di modificare
laspetto grafico in modo semplice
e veloce. Nelledizione scaricabile
gratuitamente, sono gi disponibili
i temi per Windows 7, XP e GNOME 2.
Se poi volete donare 10 euro, potete

aggiungere quelli di Mac OSX, Unity


e Windows 2000. Il Web Manager
rende facilissimo installare diversi browser
di navigazione e, come se non bastasse,
la distro possiede anche un Software
Center in stile Ubuntu. Bodhi Linux
laltra distribuzione pensata per
gli smanettoni, che vi permette di
personalizzare qualsiasi aspetto del
sistema. Sul forum di supporto si leggono
perfino vari consigli per utilizzare una
serie di applicazioni presenti nei repo
ufficiali, scritte in Elementary e Python.
Un altro punto forte di Bodhi il suo App

Zorin OS Look Changer permette di modificare il layout del destkop, per riprendere
i temi dei pi famosi sistemi operativi

Center online, che rende facile


linstallazione di qualsiasi programma,
raggruppando i software in comodi
pacchetti personalizzati contenenti
strumenti simili. Se per esempio volete
installare una serie di applicazioni
educative, baster scaricare il pacchetto
con TuxPaint, TuxTyping, Gcompris, ecc.
Gli sviluppatori di Lubuntu hanno invece
deciso di affidare la gestione dei pacchetti
a una versione alleggerita di Ubuntu
Software Center, chiamata - neppure
a farlo apposta - Lubuntu Software
Center. Questo software permette di
recuperare pi applicazioni aggiungendole
al carrello, per poi procedere al download
e allinstallazione con ununica procedura.
Lubuntu Software Center possiede inoltre
uno strumento ideale per gli esperti che
preferiscono scaricare le singole librerie.
Kubuntu conta su Moun, il proprio
gestore di pacchetti, capace di sfruttare
il launcher a tutto schermo HomeRun
molto simile a Dash e a Gnome Activities.
Lunica distro che non ha un launcher
con strumenti personalizzabili Ubuntu
Gnome, il quale include il kit di Ubuntu
Software Center. Tuttavia mancano
alcuni strumenti tipici di GNOME, come
ad esempio il browser e lapplicazione
Boxes per la gestione dei sistemi virtuali.

Verdetto
Ubuntu Gnome
Kubuntu
Lubuntu
Bodhi Linux
Zorin
Bodhi e Zorin
si distinguono
dalle altre distro
per le loro doti
di formidabile
versatilit.

Configurazione
Quanto facile gestire le varie distro?

a maggior parte delle


distribuzioni delega il compito
di personalizzare linterfaccia
grafica alla GUI. Questo aspetto,
seppure per certi versi possa tornare
oltremodo comodo, si dimostra
svantaggioso per chi utilizza
Ubuntu Gnome. Le impostazioni
di personalizzazione basilari possono
andare bene per lutente medio, ma
chi ha pi esperienza dovr procurarsi
altri strumenti per ottimizzare
il proprio desktop. Sullaltra sponda
trovate invece KDE e le sue infinite
possibilit di configurazione, che
arrivano a disorientare perfino gli
utenti pi smaliziati. Lubuntu, infatti,

50

Linux pro 133

vi lascer stupiti dalla quantit di


funzioni personalizzabili. Oltre a trovare
Openbox, ci sono diverse applicazioni
che consentono di modificare le
impostazioni di tastiera, mouse, monitor
e molto altro ancora. Kubuntu, invece,
non dispone di un proprio set
di strumenti come Yast di OpenSUSE
o il Control Center di Mageia. Bodhi
Linux vi permette di selezionare
un tema e uno sfondo per modificare
il layout del desktop, ma anche
possibile caricare diversi gadget come
il box per la durata della batteria
o lorologio. Non solo, perch grazie a
un pannello di configurazione piuttosto
variegato, avete limbarazzo della scelta

Verdetto
Ubuntu Gnome
Potete personalizzare facilmente GNOME
3, facendo uso delle varie estensioni

Kubuntu

nel gestire le applicazioni, regolare


il numero di desktop virtuali,
personalizzare i menu, i launcher, la
gestione dellalimentazione e cos via.
Zorin, infine, lunica distro provata
in cui trovate gli strumenti Ubuntu
Tweak e Ufw (Uncomplicated firewal),
questultimo capace di farvi gestire
il firewall in modo preciso e funzionale.

Bodhi Linux

Lubuntu

Zorin
Bodhi Linux e
Lubuntu offrono
ampi margini di
configurazione
per tutti gli usi.

Confronto Test
Le spin di Ubuntu

Il verdetto

dunque arrivato il momento di tirare


le fila della comparativa. Tutte
le distribuzioni provate sfruttano
un proprio ambiente desktop e alcune di
esse si rivolgono a una platea di utilizzatori
diversa. Seguendo questa logica, pertanto,
se siete fan di KDE, dovreste rivolgervi
a Kubuntu, se invece avete intenzione
di portare a nuova vita un PC oramai
obsoleto, la scelta pi ovvia Lubuntu
o Bodhi Linux. Peccato che questottica
non si adatti a Ubuntu Gnome, lunica
distro a uscire davvero sconfitta da questo
confronto. La sua colpa, se cos si vuole
chiamare, lessere rimasta ferma alla
versione 3.6 di GNOME. La release 13.04,
infatti, pur non ostacolando a priori
laggiornamento tramite un PPA
a unedizione pi recente di GNOME, lascia
lamaro in bocca per limpossibilit di
consigliare questa procedura anche agli
utenti meno esperti. I problemi derivanti da
un possibile aggiornamento, infatti, possono
destabilizzare lintera struttura del sistema.

Un evento che i pi esperti non avranno


problemi a gestire, ma che dimezza
comunque il panorama dei possibili fan
di Ubuntu Gnome. Sempre in fatto di
aggiunte, Bodhi Linux rientra in quella
categoria di distro che richiede di passare
qualche tempo a scaricare programmi
e add-on. Tuttavia dipende da cosa volete
farne. Bodhi, infatti, il sistema pi versatile
di tutti, che pur partendo da funzioni
basilari, vi offre la possibilit di un completo
adeguamento alle vostre esigenze.
Considerando poi lottimo sistema di
gestione dei pacchetti e la flessibilit nella
personalizzazione del layout, si tratta pur
sempre di una scelta pi che appropriata
per chiunque voglia servirsi di una distro
stabile e leggera. Il vincitore per non
Bodhi Linux, ma Zorin OS. La distro usa
con successo il nucleo Ubuntu per creare
un desktop pronto alluso di Linux,
pur lasciando tutte le porte aperte a chi
proviene da altre realt, una su tutte
quella legata a Windows. Linterfaccia

imita benissimo quella di Windows 7


e se siete fan di GNOME 2, nessuno
vi impedir di modificarla a vostro piacere
in pochi e semplici passaggi. Zorin ricca
di applicazioni, capaci di soddisfare sia
i pi esigenti, sia chi cerca un ambiente
lineare e immediato da utilizzare. Partendo
da unedizione free, sono poi disponibili
4 release a pagamento: Ultimate, Business,
Multimedia e Gaming, che si distinguono
per luso mirato in specifici campi.

1 Zorin OS

4 Lubuntu

Web: www.zorin-os.com Licenza: GPL e altre

Web: www.lubuntu.net Licenza: GPL e altre

Vince a mani basse grazie alla sua versatilit e completezza.

Una distro leggera, ideale per riesumare macchine oramai obsolete.

2 Kubuntu

5 Ubuntu Gnome

Web: www.kubuntu.org Licenza: GPL e altre

Web: www.ubuntugnome.org Licenza: GPL e altre

Forse la migliore distro per gli utenti KDE, bench serva un po di esperienza.

3 Bodhi Linux

Zorin Web
Browser Manager
vi consente
di scaricare
e installare
un nuovo
browser con
un solo click
del mouse

Nella sua forma attuale offre poco, anche per gli utenti affezionati a GNOME.

A voi la parola...

Web: www.bodhilinux.com Licenza: GPL e altre

Una buona distribuzione minimalista, che offre diversi layout

Non siete daccordo con le nostre scelte? Forse avreste usato distro diverse?
Inviate le vostre opinioni su questo Confronto a redazione@linuxpro.it

Considerate anche...
Ubuntu sicuramente pi riconosciuta nel mondo
delle distro specifiche, piuttosto che in quello delle
generiche. Ne sono una riprova i numerosissimi
progetti che nascono prendendo come base
la distro originale. Solo per citare quelli pi famosi,
prendete come esempio Edubuntu in ambito

educativo, Mythbuntu per la creazione di un HTPC


con MythTV, Ubuntu Studio per lediting
multimediale, BackBox per i test di penetrazione,
Bio Linux e Poseidon Linux dedicate alla
comunit scientifica. Se per state cercando un
desktop generico, il derivato di Ubuntu pi famoso

sotto questo profilo sicuramente Linux Mint.


Se poi siete puristi del Software Libero e volete
essere sicuri di usare solo programmi free,
partendo dal kernel Linux-libre, vi consigliamo di
scaricare Trisquel Linux, di cui parliamo in modo
approfondito in questo numero di Linux Pro. LXP
Linux pro 133

51

i migliori nuovi programmi


open Source del pianeta

Da non perdere
Tiled

Mosh

Mp3splt

Irrlamb

QNetWalk

Editor di mappe

Tiled
Versione: 0.9.1 Web: www.mapeditor.org

iled non certo la tradizionale


applicazione di largo impiego e di cui
non si pu fare a meno, ma ha una
sua ragion dessere ed per questo che
la portiamo alla vostra attenzione. Si tratta
di un editor di mappe, utile per tutti gli
appassionati di videogame che vogliono
cimentarsi nella creazione di un proprio
gioco. Dando unocchiata alle creazioni
realizzate con Tiled, saltano subito alla
mente i titoli delle console a 8 e 16 bit
che hanno fatto la storia dei giochi. in
pratica, lapplicazione consente di creare
un terreno composto da piastrelle unite
tra loro (da qui il nome del software che
significa appunto mattonella) su cui poi

far muovere i vostri personaggi. Grazie


al generatore di terreni su pi livelli,
perfetto per realizzare gli schemi
di un platform in cui un eroe deve
muoversi saltando da un punto a un altro,
ma anche per creare superfici di diverso
tipo, da collegare poi con artefatti di vario
genere. un esempio simbolico il classico
disegno di unisola, unita alla terra ferma
da un ponte. per iniziare a creare una

Mana World uno dei MMORPG pi popolari creati con Tiled

Tiled vi aiuta a creare un


mondo esplorabile fatto
di piccole tessere

Linterfaccia di Tiled
Strumenti
Trovate tutte le funzioni pi
utili per riempire la mappa con
le tile selezionate nel Tileset.

Editor di mappe
Si tratta dellambiente di
lavoro vero e proprio, dove la
vostra mappa prende forma.

Livelli
usando i livelli, agite su pi
strati della mappa, cambiando
anche lopacit di ciascuno.

Stato
indica su quale livello state
lavorando e la posizione nella
mappa sugli assi x e Y.

52

Linux pro 133

Storia

Insieme di celle (Tileset)

Facendo click sulle voci presenti in


questa scheda, potete annullare
qualsiasi passo compiuto.

Selezionando le singole celle del


Tileset, potete riportarle nella mappa
al centro dellinterfaccia.

mappa, cliccate su File D Nuovo,


scegliendo poi il formato da utilizzare.
Da qui possibile specificare le
dimensioni in pixel delle singole tessere
e la grandezza della mappa in termini
di piastrelle verticali e orizzontali. oltre
al classico layout bidimensionale, Tiled
supporta anche le mappe isometriche per
un effetto pseudo-3D. una volta aperta
la vostra mappa, avete bisogno di applicare
un Tileset, vale a dire unimmagine dalle
dimensioni considerevoli, che viene poi
suddivisa in singole tessere (di solito
da 32x32 o 64x64 pixel). Basta fare
una rapida ricerca in rete per trovarne di
tutti i tipi e dimensioni. una volta trovato un
Tileset che si addice ai vostri gusti, dovete
aggiungerlo andando in Mappa D Nuovo
Insieme Di Celle. A questo punto potete
realizzare la vostra mappa. Sul lato destro,
sotto la scheda Tileset World possibile
accedere alle singole tessere che
compongono il set, scegliendo quindi quelle
da usare. nella barra degli strumenti,
invece, trovate una serie di pulsanti che
consentono di posizionare le mattonelle
sulla superficie di lavoro. Se volete dare
unocchiata ai giochi realizzati con Tiled,
per avere cos un esempio delle sue
potenzialit, collegatevi alla pagina
http://tinyurl.com/d4fouop.

Da non perdere Test


Shell Mobile

Mosh
Versione: 1.2.3 Web: http://mosh.mit.edu

iete seduti in treno e state facendo


il vostro lavoro con un paio di sessioni
SSH aperte. Improvvisamente il treno
si ferma e vi rendete conto di essere arrivati
a destinazione. Scendete di corsa e non state
certo a pensare di dover terminare SSH
e spegnere il PC. Chiudete il portatile e uscite
in fretta e furia. Pi tardi, quando arrivate
in ufficio e vi collegate alla rete aziendale,
vi accorgete che la sessione SSH si
bloccata a causa del cambio di indirizzo IP...
Le formidabili doti di Secure Shell non sono
certo in discussione, ma uno dei suoi punti
deboli proprio il roaming. Quando siete
in viaggio, dovreste avere sempre la pazienza
di chiudere e riaprire la sessione ogni volta
che cambiate rete. Come nellesempio che
vi abbiamo prospettato, per, non sempre
fattibile. La soluzione sta nellusare Mosh,
una shell mobile che ha nella versatilit
il suo pi grande punto di forza e consente
di mantenere la sessione SSH attiva anche

quando cambiate rete. Lunico requisito


avere leseguibile mosh-server sulla
macchina remota a cui vi collegate,
dopodich, per stabilire la connessione,
basta il comando:
mosh username@example.org
Il funzionamento semplicissimo: accedendo
tramite SSH, Mosh lancia il proprio server sul
PC remoto e stabilisce un collegamento UDP
tra i due computer. Non finisce qui, perch
quando lanciate un comando sotto SSH,
linput viene mostrato solo nel momento
in cui il server risponde. Mosh, invece, non
vi fa attendere e risponde immediatamente,
lasciando un senso di piacevole reattivit
anche quando usate connessioni lente.

Date unocchiata a http://youtu.be/XsIxNYl0oyU per vedere


una presentazione esplicativa sulluso di Mosh

Mosh, mantenendo
attiva la sessione SSH,
non teme i cambi di rete

Quello che per stupisce nelluso di Mosh


la sua semplicit. Non avete alcun bisogno
di installare script di configurazione, n binari
utilizzabili solo da root. Il codice sorgente,
inoltre, relativamente facile da compilare.
Gli sviluppatori di Mosh stanno progettando
la versione X11 e unapplicazione nativa
per Android, che vedr la luce nel prossimo
futuro. Se poi non potete fare a meno
di approfondire largomento e volete
cimentarvi nella documentazione tecnica,
Mosh ne ha da vendere.

Separatore di file audio

Mp3splt
Versione: 2.6 Web: http://mp3splt.sourceforge.net

robabilmente gi saprete che il set


di strumenti a riga di comando di
Linux mette a disposizione un paio
di programmi per suddividere i file. Lunico
problema che sono piuttosto primitivi:
vanno bene per ridurre le dimensioni
dei file da memorizzare su una chiavetta,
ma per esigenze pi raffinate meglio
guardare altrove. Quando avete a che fare
con laudio, per esempio, serve il guanto
di velluto. Nel campo del multimedia,
qualcuno potrebbe citare Audacity
e seppure si possa essere daccordo
nellelevarlo a re dellediting audio, c un
particolare che spesso passa inosservato.
Ogni volta che aprite e modificate un file
con Audacity, il programma lo ricampiona.
Pi volte uno stesso brano viene aperto
e ritoccato, maggiore la perdita di qualit
che si ottiene. Mp3splt, invece, non ha
questo difetto e infatti non ricampiona
alcunch, lasciando intatto il file originale.

Mp3splt disponibile anche come tool


a riga di comando, ma sinceramente
davvero troppo laborioso. Vi trovereste
sommersi da stringhe di codice
per compiere anche la pi semplice
elaborazione. La sua controparte grafica
(mp3splt-gtk) offre invece un approccio
molto pi intuitivo, veloce e soprattutto
versatile. Per iniziare a usare lapplicazione,
sufficiente caricare un file MP3
e premere il pulsante Play. Quando
desiderate inserire un punto di divisione - in
cui il programma divide la traccia audio
in due file - premete il pulsante Pause e poi
Add. Quando avete finito, selezionate Trim
splitpoint. Fino a qui avete concluso una

Selezionando Show amplitude wave ottenete una visuale


dellonda sonora dellMP3

Ricodificare un file
gi codificato non
mai una buona idea

semplice operazione di taglio, ma Mp3splt


in grado di fare molto di pi. Se avete un
unico file audio contenente un intero album,
recuperando i timing da TrackType.org
(un database davvero mastodontico), potete
impostare i punti di taglio automaticamente.
Se lo desiderate, niente vieta di regolare
dei periodi di silenzio tra linizio di un brano
e il pezzo successivo, cos da perfezionare
ancora meglio lo stacco. Mp3splt consente
inoltre di eseguire operazioni in batch su pi
file e modificare i tag ID3 al volo. Alla fine,
quello che colpisce di questo software,
la completezza delle sue funzionalit.
Linux pro 133

53

Test Da non perdere


Giochi Applicazioni per il tempo libero
Gioco basato sulla fisica

Irrlamb
Versione: 0.1.1 Web: http://bit.ly./4U6iLh

giochi come Irrlamb, dove il rispetto


delle leggi della fisica fondamentale,
sono entusiasmanti. Certo, facile
fare paragoni con i titoli ricchi di grafica
tridimensionale costruiti con miliardi di
poligoni, il cui unico obiettivo far felici gli
occhi. Quando per sbagliate una mossa,
nella maggior parte dei casi vi troverete
a dare la colpa al gioco e alle sue
mancanze. Ecco, scordatevi di farlo con
Irrlamp, perch se commettete errori
la colpa sar solo della vostra abilit
e non del gioco, tanta la fedelt alle
regole della fisica che questo titolo porta
con s. Tutto quello che dovete fare
muovere una sfera blu in unarena 3D,
tentando di seguire un determinato
percorso ed evitando gli ostacoli.
I comandi per spostarsi sono i tasti E, S, D
e F, mentre la barra spaziatrice serve

per saltare. poi possibile cambiare


la visuale muovendo il mouse. Nonostante
lobiettivo del gioco sia semplice e per certi
versi scontato, sono le sfide a rendere
entusiasmante Irrlamb, alcune davvero
difficili e divertenti. Solo per fare un paio di
esempi, avete a che fare con pile di scatole
che si ribaltano al minimo contatto
e vi mandano fuori strada e, come se non
bastasse, ci sono percorsi tortuosi e ricchi
di ostacoli che fanno diventare la sfera
incontrollabile. Insomma, una serie continua
di trucchi ed espedienti che rendono la vita
davvero difficile. Lo sviluppo di Irrlamb

Per giostrarvi
tra i numerosi
ostacoli che Irrlamb
propone a ogni
livello, dovete
avere una buona
dose di riflessi

Giocando a Irrlamb, se
commettere un errore,
sar solo colpa vostra

ancora agli albori, cos come


dimostra il basso numero di versione.
Infatti i livelli sono ancora pochi
e una volta superati i tutorial base
e avanzato pi i due schemi principali,
rimarrete con la voglia di continuare
a giocare. Se per siete dei maghi di
Blender e Lua, potete cimentarvi nel
creare ulteriori livelli da aggiungere
al gioco. Sul sito di Irrlamb trovate
un ricco wiki con cui soddisfare
la vostra voglia di conoscenza.

Simulazione per sysadmin

QNetWalk
Versione: 1.4 Web: http://bit.ly/POG400

ite la verit. Quando qualcuno


vi domanda che lavoro fate
e rispondete che siete
amministratori di sistema, il sopracciglio
destro del vostro interlocutore si alza,
tradendo la voglia di farvi una domanda
ben precisa: che tipo di sistema
amministrate? S, perch se avete a che
fare con Windows, sarete sicuramente
irascibili e avrete i nervi cos a fior di pelle
da saltare fuori. Se invece usate Linux,
quasi certo che il vostro aspetto
sar molto pi rilassato e nella maggior
parte dei casi lo script in Perl che avete
compilato far per voi il 99% del lavoro.
Indipendentemente da questo, non potete
farvi mancare una partita a QNetWalk:
un passatempo che ogni sysadmin
dovrebbe provare (almeno quelli che
usano Linux, dato che chi utilizza Windows

54

Linux pro 133

troppo impegnato a tappare le falle e


quindi non ha tempo per divertirsi). Il gioco
consiste nel disporre una connessione
tra pi computer e un server centrale,
ruotando i PC su una griglia e facendo in
modo che si colleghino luno allaltro, dando
cos vita a uninfrastruttura di rete. Ogni volta
che un computer si collega, il suo schermo
si illumina di blu. I livelli di difficolt sono
diversi e alcuni talmente difficili da far venire
il mal di testa. Le griglie diventano pi grandi
e il numero di PC da collegare finisce per
essere enorme. In realt, QNetWalk non ha
niente a che vedere con lamministrazione

Tutti i computer devono essere collegati al server


principale. Quelli connessi, hanno lo schermo illuminato di blu

Se vi annoiate,
QNetWalk pu divertirvi
per un paio dore

di un sistema informatico, almeno


dal punto di vista tecnico, ma riprende
ugualmente unidea abbastanza carina.
Di sicuro vi potr essere utile per passare
un paio dore, anche se dopo un po di
tempo finirete per stancarvi e lo lascerete
nel dimenticatoio. Le uniche dipendenze
principali di QNetWalk sono Qt 4.3 e SDL,
ma se scaricate qtnetwalk-1.4.tar.gz
dal sito del gioco, al suo interno trovate
un file binario precompilato. LXP

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 redazione@linuxpro.it

TUTORIAL
LibreOffice

Apportate in modo rapido finezze ai vostri


documenti in Write
pag. 56

GNOME 3

Unite la grafica del nuovo GNOME alle


opzioni che pi amate
pag. 58

Lightworks

Ottimo tool per lediting video

pag. 60

Raspberry Pi

La Raspberry diventa un distributore di file


multimediali per tutti i dispositivi di casa
grazie a SqueezePlug
pag. 64

NAS

La seconda parte della nostra serie di tutorial


sulle soluzioni per gestire dati in rete pag. 68

MariaDB

Replicate un database per aumentare la velocit


di accesso e garantire i servizi Web pag. 72

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


Concetti di base

Firefox OS

Ruby on Rails

Android

Il terzo articolo su come scrivere


un programma con il linguaggio
di programmazione Python
pag. 76
La prima parte di una nuova serie di guide
dedicate alluso di Ruby on Rails, il pi
completo dei framework Web pag. 78

Ultima puntata sul nuovo sistema operativo


firmato da Mozilla: create la prima applicazione
e iniziate a visionare le nuove API pag. 82
Integrate touchscreen, movimenti sullo
schermo e texturing con OpenGL
per la vostra grafica 3D
pag. 86

LINUX PRO 133

55

Tutorial Xxxx
LibreOffice

Sfruttare le funzionalit
avanzate della suite office free

Una guida di stile


Ecco come andare oltre le basi del word processing aggiungendo interessanti
finezze a tutti i vostri documenti in modo semplice e rapido

facile

a suite per lufficio


LibreOffice contiene un ampio ventaglio
di funzionalit, ma potreste contare sulle dita
di una mano quelle che usate con regolarit: copia&incolla,
controllo ortografico, conteggio parole... e stop. un peccato,

perch LibreOffice pu fare molto di pi per laspetto


dei vostri testi. Non si sta parlando di inserire delle
clipart: se volete combinare immagini e testo
per creare layout divertenti vi trovereste
meglio con un software dedicato come
Scribus. LibreOffice vi offre invece
alcune caratteristiche che vi
permettono di creare documenti
con un aspetto pulito e consistente:
gli stylesheet e i template. Con gli
stylesheet (o fogli di stile) non
dovete pi sprecare tempo
a impostare lo stile per ogni
elemento, come una nota a pi
pagina, unintestazione o una
citazione: definite semplicemente
il foglio di stile una sola volta,
e lo applicate quando necessario
(lo stesso concetto usato per i CSS
nei documenti HTML). Con i template
(o modelli) fissate gli stili definiti, cos
da non dover reinventare ogni volta la ruota.
Normalmente levoluzione una buona cosa, ma
in termini di design nemica della consistenza. Un aspetto
consistente delle vostre lettere, saggi, fatture, ecc. danno
al vostro lavoro un aspetto pi professionale e permettono
una migliore trasmissione del contenuto.

Creare un modello

Impostare la dimensione di pagina

Andate in File Nuovo Documento di testo per creare un nuovo


documento. Quindi scegliete Formato Pagina per aprire la prima finestra
degli stili. A4 una buona dimensione standard, ma se state creando il modello
per una lettera i margini sono troppo piccoli: provate con 3 cm e 4 in fondo.

56

Linux pro 133

Aggiungere elementi

Aggiungete il vostro nome e indirizzo e formattateli come fareste normalmente


in una lettera (solitamente nellangolo in alto a sinistra), quindi aggiungete la data
in calce. Per risparmiare tempo, usate Inserisci Comando di campo
Data per avere una data che si aggiorni automaticamente.

LibreOffice Tutorial

Il primo stile

Il formato di data predefinito (GG/MM/AA) non il pi bello, quindi cliccate con


il destro sulla data e scegliete Comando di campo... Lunico campo disponibile
Data perch il solo che avete aggiunto, ma ci sono stili a bizzeffe tra i quali
scegliere. Finch ci siete scegliete Data nella colonna Selezione, altrimenti
il modello vi presenter sempre la data nella quale stato creato.

Evidenziazioni

Aggiunto il segnaposto per gli indirizzi, potete applicare gli stili che preferite.
Non dimenticate, tuttavia, che il segnaposto apparir con le parentesi angolari,
in colore diverso ed evidenziato. Ora il momento di creare il corpo della
lettera e applicarvi lo stile che volete.

Aggiungere dati variabili

Le vostre lettere saranno sempre da voi stessi, ma i destinatari saranno diversi,


quindi non potete (e non dovreste) inserire lindirizzo nel modello. Potete, per,
usare un segnaposto, con Inserisci Comando di campo Altro
Funzioni Segnaposto. Aggiungete i campi uno alla volta, scegliendo
Inserisci dopo ognuno.

Stili di paragrafo

Potreste volere il primo paragrafo indentato a sinistra e staccato da quelli


successivi: per farlo, evidenziate il secondo paragrafo, quindi andate
su Formato Paragrafo Paragrafo. Date alla Prima Riga un valore
di 1 cm e impostate a 0,10 cm lo spazio sotto al paragrafo.

Salvare lo stile

Aprite la finestra Stili e formattazione (Formato Stili e formattazione),


selezionate lo stile di paragrafo (una volta impostati il font, la dimensione,
lindentazione e tutto il resto) e cliccate licona in alto a destra, selezionando
Nuovo Stile da selezione e scegliendo un nome esplicativo (come Lettera
secondo paragrafo). Una volta creati tutti gli stili per i paragrafi vi resta
solamente da assegnarli a una selezione con un doppio click sul nome dello
stile nella finestra Stili e formattazione, che potete visualizzare anche
premendo F11. Infine, andate su File Modelli Salva... dove potete
salvare il vostro nuovo modello per recuperarlo tutte le volte che volete.
Congratulazioni per i vostri 10 minuti ben spesi! LXP

Linux pro 133

57

Tutorial Xxxx
GNOME

3 Le estensioni per ripristinare


alcune utili caratteristiche di GNOME 2

Cos il desktop ok!


Ecco come aggiungere funzionalit e impostazioni avanzate al desktop del piedone

NOME 3, giusto dirlo, ha suscitato opinioni


contrastanti. Con la sua interfaccia lucente
e sfuggevole esteticamente una bomba. Apple
ne ha emulato il look con lincarnazione di Lion in Mac OS X
e tutte le sue applicazioni native hanno uninterfaccia
consistente che vi fa amare sempre pi GNOME, ma...
Ma il problema che questo ambiente grafico, facendosi
bello, diventato meno utile e pratico. Per rendere
pi lineare il design in modo da adattarlo a esperienze
touchscreen, il team di sviluppo di GNOME ha rimosso
il menu Applicazioni, rimpiazzato dalla vista Attivit
(quella visualizzata quando spostate il mouse in alto
a sinistra). Ha anche rimosso delle funzionalit dal file
manager Nautilus (che Linux Mint, con enorme credito,
ha continuato a riproporre fino a decidere il fork nel proprio
file manager) e ha eliminato lopzione di shutdown, poich,
come suggeriscono gli esperti, le persone che posseggono
dei tablet sono pi propense a sospendere e ripristinare
invece che spegnere e accendere. Se tutto questo vi sembra
fastidioso, siete in buona compagnia: ecco allora come usare
due strumenti sfruttati dallo stesso Linus Torvalds, Frippery
e Gnome Tweak Tool per ripristinare agli antichi valori
lutilit di GNOME mantenendo la grafica di GNOME 3.

facile

Frippery
Frippery il nome dato a un gruppo di estensioni per
GNOME 3. Esistono degli RPM per Fedora 16-19 e dei Deb
per Ubuntu 11.10-13.04, ma il modo pi semplice per
recuperarlo andare su http://extensions.gnome.org.
Cercate nel sito frippery e vedrete un elenco di estensioni
per GNOME 3 scritte da Ron Yorston per vecchi utenti

Il menu
Applicazioni di
Frippery
lideale
se sapete cosa fa
unapplicazione
ma non come
si chiama

58

Linux pro 133

scontrosi e barbuti. Fa al caso vostro, no? Linstallazione


dal sito facile quanto cliccare sul nome di unestensione
dellelenco e alternare lopzione on/off in alto a sinistra
nella pagina. Vi verr chiesto se volete scaricare e installare
lestensione e una volta fatto, sar pronta allutilizzo. Alcune
estensioni sono pi utili di altre, ma se state usando
una versione di GNOME 3 che non ha il pulsante per lo
spegnimento probabile che vogliate lestensione Shut
Down Menu; anche Bottom Panel che vi mostra a colpo
docchio le finestre aperte e il menu Frippery Applications
che vi offre un menu a tendina con tutto il software installato
(come GNOME 2) sono delle ottime aggiunte. Questultima
in particolare vi permette di guardare in pi di una categoria
alla volta, ma apre sottomenu nella stessa colonna, con il risultato
che se cercate di guardare in ogni menu contemporaneamente,
alcune voci saranno nascoste. Non una critica (dovreste essere
sciocchi a usarlo in questa maniera): se volete vedere tutto
il software installato in un colpo solo, potete usare la vista
in alto a sinistra gi presente in GNOME 3.

Eccolo! Il pannello inferiore, con le finestre ridotte a icona!

GNOME 3 Tutorial
Gnome Tweak Tool
Gnome Tweak Tool disponibile in Fedora via Aggiungi/
Rimuovi software e nelle ultime versioni di Ubuntu e Mint
via Synaptic; comunque, dal momento che Gnome Tweak
Tool attualmente nellarchivio Debian Unstable, dovrete
aggiungerlo al vostro sources.list per installarlo. Se
in Ubuntu avete installato il PPA di GNOME 3 per avere
la versione 3.8 ve lo troverete gi a bordo. Una volta
installato, Gnome Tweak Tool si presenta con il nome
di Strumento di personalizzazione. Cominciate dalla scheda
Scrivania. Se cambiate Indica se il file manager debba
gestire la scrivania da Off a On, sul desktop appariranno
una serie di icone e potrete anche creare file e lasciarli visibili
sul desktop. Il disordine potrebbe aumentare a dismisura,
ed probabilmente per questo che gli sviluppatori di GNOME
hanno disabilitato la funzionalit per default, ma molti
lavorano basandosi proprio sui file del desktop, ripulendolo
al termine dei progetti. Le altre opzioni in questa scheda
controllano esattamente quali icone mostrare: potete
scegliere di avere licona per la Home ma non per Server
e Cestino, ad esempio. Nella scheda File non c altro che un
singolo parametro, che cambia la visualizzazione della cartella
in Nautilus, il file manager, dallo stile breadcrumb alluso di
un URL, visualizzando lindirizzo delle directory come /home/
lestat/Desktop/ProgettoUno. La scheda Tipi di carattere
sembra essere un po frivola ma ci sono buone ragioni per le
quali potreste voler cambiare laspetto dei testi nellinterfaccia
di GNOME. Una di queste che i manager IT potrebbero
voler assicurare un look consistente allinterno di tutti
gli elementi dellazienda. Se la vostra vista non pi quella
di una volta, o se state di fronte allo schermo otto ore al
giorno e volete riposare un po gli occhi, un font pi largo
e spesso pu essere una manna. La scheda Shell si presenta
come un set di opzioni raccolte insieme solo perch non
stavano da nessunaltra parte. Qui potete aggiungere la data
e i secondi allorologio, ad esempio, e ripristinare le icone di
massimizzazione e minimizzazione rimosse dagli sviluppatori
di GNOME 3 sotto legida di uninterfaccia pulita e usabile
con il touch. Se siete ancora fermi allet della tastiera
e del mouse (come i pi), tornare ad avere queste icone
decisamente utile.

individuali in occasione di certune azioni. Se tendete ad avere


molti file sul desktop, potreste voler minimizzare velocemente
una finestra nel pannello: con lestensione di Frippery potete
farlo semplicemente cambiando Azione per doppio-clic
su barra del titolo da Toggle Maximize a Minimize.
Ed ecco a voi: il solito desktop GNOME 3 personalizzato
giusto un po per renderlo pi funzionale. Non migliorer
se lo dovrete usare con un touchscreen o per impressionare
i vostri amici, ma avr una marcia in pi cos da rendere
pi pratico il lavoro quotidiano. LXP

Icone e GTK
con il tema
HiContrast
ricreano
la sensazione
di un desktop
un po retr

Comportamento personalizzato
Avete anche la possibilit di definire lazione effettuata
dal sistema se chiudete lo schermo del netbook (ovviamente
se state usando un portatile) e di scegliere tra un numero
di workspace dinamico o preimpostato. Il default, almeno
in Ubuntu, avere workspace dinamici, quindi avrete sempre
un numero di desktop virtuali pari a quelli su cui state
lavorando +1. Estensioni della shell vi permette di gestire
le estensioni che avete installato (ad esempio quelle
di Frippery). La scheda Tema sar familiare a chiunque abbia
mai giocato con i vecchi temi di GNOME. I temi Icona e GTK
vi offrono le utili modalit ad alto e basso contrasto: se i vostri
occhi ogni tanto sfarfallano potreste provare lalto contrasto,
dal momento che il nero su bianco facile da vedere.
Daltra parte, se i vostri occhi sono affaticati per il troppo
tempo passato davanti allo schermo, un basso contrasto
aiuter a riposarli e a non aggiungere ulteriore stress. Lultima
scheda, Finestre, definisce il comportamento delle finestre

Visualizzare Home, server e cestino sul desktop rovina il minimalismo


ma migliora la praticit dellambiente!

Linux pro 133

59

Tutorial Xxxx
Montaggio

video Create un progetto


ed esportate il vostro primo film

La potenza di Lightworks
Linux Pro taglia e monta unintroduzione a unapplicazione di elaborazione video
potente e di livello professionale che ora in beta
Sebbene non sia ancora emerso nessun codice sorgente
(EditShare dice che vuole avere il codice ordinato e convertito
prima di rilasciarlo), il 25 aprile scorso i creatori di questo
software hanno annunciato che dopo mesi di alfa test chiuso era
pronta a iniziare a pubblicare la beta test di Lightworks per Linux.
Per ottenere la vostra copia di Lightworks, andate quindi
su http://lwks.com/betas-linux (dovrete autenticarvi
o creare unutenza per farlo) e scaricate il file corrispondente
allarchitettura del vostro PC. Noterete che il programma
distribuito solo in formato Deb. EditShare attualmente supporta
solo Ubuntu, ma ricreare i pacchetti abbastanza semplice
e veloce, per cui, non appena il piano dei rilasci rallenter,
la comunit provveder sicuramente a rifarli per altre distro.

intermedio

Il primo avvio

n anno fa EditShare annunci che avrebbe distribuito


come Open Source la sua applicazione di elaborazione
video professionale, Lightworks, e che lavrebbe
convertita per i tre maggiori sistemi operativi. Con professionale
non vogliamo dire che lapplicazione aspira a essere usata da
professionisti, ma che lo gi. Infatti ci sono buone probabilit
che abbiate visto un film di Hollywood dal grosso budget
montato in Lightworks, quindi ha una comprovata esperienza.

Visualizzate
e contrassegnate
il vostro video
per trovare
le sequenze
migliori

60

Linux pro 133

Dovrete creare unutenza su EditShare prima di poter usare


lapplicazione, perci registratevi e poi autenticatevi. In futuro,
le utenze registrate vi permetteranno di comprare codec
proprietari aggiuntivi. Durante il beta test serve anche per
laccesso ai forum relativi. Una volta registrati, vi sar presentato
un elenco di progetti, allinizio per non ce n nessuno.
Questa la vostra prima importante lezione sullesperienza
di Lightworks: per creare qualcosa di nuovo, dategli un nome.
Quindi, se volte realizzare un nuovo progetto, iniziate
semplicemente con il modello vuoto e assegnategli un nome.
Ora un file di progetto esistente. Vedrete questa stessa
convenzione per quasi ogni cosa che potete creare in
Lightworks, perci dite addio alle invadenti finestre Salva.
Dovreste anche impostare la frequenza dei fotogrammi
del progetto, in base a quale tipo di riprese intendete usare.
Per esempio, se userete diversi tipi di elementi multimediali,
scegliete la frequenza dei fotogrammi della maggior parte delle
vostre riprese, o semplicemente la frequenza nella quale volete
il risultato. Se non sapete la frequenza delle vostre riprese,

Lightworks Tutorial
Tip

Aggiungete le sequenze contrassegnate alla vostra elaborazione e prima di accorgervene avrete un film per le mani

impostatene una qualsiasi per ora, poi controllate la frequenza


in Lightworks e cambiatela in seguito. Se non avete alcun tipo
di preferenza, vi suggeriamo che 23.98 una scelta sicura.
Una volta avviato, Lightworks domina lintero schermo. Allinterno
di questa modalit a tutto schermo piuttosto rigida, linterfaccia
utente di Lightworks in realt altamente flessibile e molto
modulare. Le poche costanti che esistono nellinterfaccia sono
la barra degli strumenti a sinistra e alcuni pulsanti lungo la parte
superiore e inferiore. Inoltre, c uno squalo rosso in basso
a sinistra; fintanto che usate procedure di sicurezza adeguate,
potete cliccare su di esso se volete. Il pulsante pi in alto negli
strumenti Import. Premetelo e si aprir una finestra di dialogo
per limportazione. Andate alla cartella che contiene le vostre
riprese e scegliete i file video che volete aggiungere al vostro
progetto. I file selezionati saranno aggiunti a un Bin (contenitore)
chiamato Temporarily Imports. Ricordando la vostra prima
lezione di Lightworks, avrete senza dubbio gi intuito che se
volete rendere permanente questo contenitore allinterno del
vostro progetto, tutto quello che dovete fare dargli un nome.
Fate click sul titolo della finestra, inserite del testo nuovo
e ora il vostro contenitore esister per sempre allinterno
del file di questo progetto.

Anteprima
Sia che abbiate girato pi volte ore e ore di riprese, sia che abbiate
solo poche ore di filmato, dovrete guardarle tutte e decidere
cosa volete che il vostro pubblico veda e cosa meglio lasciare
sul pavimento della sala di taglio. Potete, e dovreste, vedere
lanteprima di ogni ripresa. Fate doppio click su di un file nel vostro
contenitore e si aprir nella sua finestra di anteprima. Premete la
barra spaziatrice per riprodurre o mettere in pausa. Poich cos
comune, in testa e in coda a una sequenza, contenere riprese in
eccesso, consuetudine segnare un punto (il punto di ingresso)
dove inizia il contenuto effettivo del filmato e un altro punto
(il punto di uscita) dove finisce il contenuto. Questi segni
rimangono nella sequenza fino a quando non li cambiate, perci
sentitevi liberi di guardare tutti gli spezzoni che volete,
contrassegnando nel frattempo le parti buone di ciascuno.

Montare insieme le riprese


A un certo punto, vi consigliamo di rendere tutti questi spezzoni
casuali una vera storia. Il secondo pulsante dallalto degli
strumenti, comodamente, il pulsante Create New Edit;
premetelo per creare unistanza di una nuova finestra
di lavoro (spesso definita Timeline, o linea temporale,
in molti altri editor video). Notate che non si apre una sola
finestra, ma due: una una linea temporale tradizionale
dove potete lavorare alle vostre modifiche, e laltra una
schermata di visualizzazione in modo che possiate vedere
lintero film man mano che lo costruite. La finestra Edit
Timeline contiene di default un video vuoto e due tracce audio
nulle. Come sempre, ricordate la prima lezione: per rendere
qualcosa permanente, dategli un nome. Prendete labitudine
di farlo subito con i contenitori e i montaggi, cos da non
chiudere accidentalmente la vostra sessione di modifiche
senza salvare del lavoro importante. Notate la grande linea
rossa che attraversa verticalmente la finestra di modifica.
Si tratta dellindicatore di riproduzione. Potete pensare a essa
come al vostro dito-puntatore in Lightworks.. Ogni volta
che spostate una sequenza video o un effetto nella vostra
finestra di editing, alla domanda dove vuoi che metta questo?
risponde la posizione dellindicatore di riproduzione. Quindi fate
un giro di prova ogni tanto. Il primo passo per montare un film
semplicemente prendere le parti buone delle sequenze che
avete contrassegnato e metterle nellordine che meglio racconta
la vostra storia. Per iniziare questa migrazione dei filmati dovete
fare doppio click sulla ripresa che volete far apparire per prima,
cos che si apra in una finestra di anteprima. Avr ancora i vostri
segni di ingresso e di uscita, quindi tutto quello che dovete fare
premete uno dei pulsanti Replace (sostituisci) o Insert
(inserisci) in fondo allo schermo. In questo caso, non c molta
differenza, ma se ci fossero gi dei filmati nella vostra linea
temporale, il primo sostituirebbe il filmato, mentre il secondo
educatamente sposterebbe pi in l il filmato per fare spazio
allinserimento della modifica. Se in qualsiasi momento durante
il montaggio della vostra storia, volete riprodurre il vostro film
per vedere come sta venendo, premete il tasto L per la

Se volete
provare a rifare
i pacchetti
di Lightworks
per la vostra
distribuzione,
aprite il
pacchetto Deb
e distribuite
i componenti
di /usr, /lib e cos
via, nelle loro
giuste posizioni
nel formato
di pacchetto
che scegliete.
Ci sono alcune
dipendenze
e collegamenti
simbolici
di cui tenere
conto per le
differenze nelle
convenzioni di
denominazione
della libreria, ma
stata convertita
per Fedora
e Slackware
durante
lalfa test.

Linux pro 133

61

Tutorial Lightworks

Le modifiche
su pi tracce
aggiungono
flessibilit
al vostro lavoro

Lanimazione
delle vostre
dissolvenze
solo linizio
dellesplorazione
degli effetti
speciali in
Lightworks

riproduzione in avanti, il tasto J per la riproduzione allindietro


e il tasto K per metterlo in pausa. un po come vim, viene
da pensare. il numero predefinito di tracce di solito sufficiente
per iniziare, ma dopo che la storia di base occuper la vostra
linea temporale, potreste sentire la necessit di adoperare
pi tracce. usare pi di una sola serie di tracce A/V vi d la
flessibilit di provare diverse idee senza sconvolgere la dorsale
principale della vostra storia. Aggiungete una traccia ulteriore
facendo click con il tasto destro a sinistra delletichetta V1
e selezionate Add Tracks dal menu contestuale. ora che avete
una nuova traccia, provate a posizionare lindicatore rosso
nella linea temporale sopra un filmato esistente. Con questo
impostato come punto di ingresso della vostra linea temporale,
fate un replace con un nuovo filmato. notate come il nuovo
spezzone posto sopra il vecchio e quando riproducete il vostro
film, viene riprodotta la ripresa pi in alto nella timeline. Questi
sono di solito chiamati cut-away. per riprendere a modificare
la vostra traccia originale, basta fare click sulletichetta della
traccia video pi in alto (o semplicemente premere il tasto 1
sulla tastiera) per silenziarla e Lightworks ritorner a usare
la traccia di fondo come obiettivo.

Tecniche avanzate
Con la storia di base pronta nella finestra di editing, vi
consigliamo di perfezionare luso dei vari strumenti facendo
delle prove ulteriori. i problemi pi comuni che incontrerete

sono le azioni non coincidenti (per esempio, avere una lunga


ripresa dove un attore tiene una tazza di t alle labbra e nel
primo piano successivo la tazza improvvisamente sul tavolo)
o tagli imbarazzanti (tagliare lultima parola di una frase per
sbaglio, per esempio, o indugiando sconvenientemente troppo
a lungo dopo che lultima parola stata detta). Questo tipo
di problemi si risolvono utilizzando lunione delle modifiche.
una volta che avete messo due sequenze nella vostra finestra
di montaggio, Lightworks le vede, essenzialmente, non come
due pezzi di video separati, ma due pezzi di video che sono stati
uniti. Dopo tutto un film si fa cos, giusto? un sacco di spezzoni
video separati montati insieme per formare lillusione di
unazione continua. perci, se volete allungare un taglio in modo
da includere quellultima fondamentale parola della frase
di un attore, o accorciarlo per mantenere il ritmo del vostro film,
allora dovete temporaneamente separare le sequenze. il modo
pi semplice di farlo premere il pulsante Unjoin (separa)
in fondo a destra della finestra di montaggio. Fatelo e il pulsante
si accender di un rosso brillante e la sequenza sulla quale
il vostro indicatore era parcheggiato uscir fuori dalla finestra
di montaggio. potete vederlo perch il filmato ora ha piccoli
arricciamenti di pagina ai bordi, che indicano che dietro
si nascondono altre riprese. Lidea qui di cliccare e trascinare
i bordi della vostra ripresa video, cos da aggiungere o sottrarre
fotogrammi a quella estremit. per ottenere una maggiore
precisione nelle modifiche, usate i diversi stati del cursore
del mouse piuttosto che il pulsante Join/unjoin. notate che
mentre trascinate il cursore del mouse sui bordi degli spezzoni,
esso indica le diverse funzioni che accadranno se fate click.
in particolare, le possibilit sono:
doppia freccia (spostamento) una doppia freccia appare
accanto al cursore sulla parte centrale di una sequenza video.
Fate click e trascinate per spostare lo spezzone indietro o avanti
nel tempo, sostituendo ogni cosa nel vostro percorso.
Parentesi singola (aggiungere/rimuovere fotogrammi)
una parentesi appare vicino al cursore sui bordi delle sequenze.
Cliccate e trascinate per aggiungere o sottrarre fotogrammi
a quellestremit. Guardate a destra della finestra di modifica
Passando il cursore sul bordo di uno spezzone (guardate
lelenco) appariranno alcune delle funzioni utilizzabili

62

Linux pro 133

Lightworks Tutorial
gli indicatori luminosi che speicificano quanti fotogrammi state
aggiungendo o rimuovendo.
Doppia parentesi (spostare una giunzione) La doppia
parentesi appare accanto al vostro cursore quando siete
sul taglio tra due spezzoni video. Ci vi permette di aggiungere
fotogrammi da una parte mentre li rimuovete dallaltra
simultaneamente. Questo indispensabile quando non
volete influenzare la durata complessiva del vostro film,
ma desiderate al contempo un po di flessibilit per quando
occorre fare determinati tagli.

Aggiungere effetti
Nessun film sarebbe completo senza un po di fantasiosi effetti.
Lightworks munito su questo fronte e comprende un sacco
di effetti, tra cui la correzione del colore, lintarsio a chiave di colore
e, naturalmente, gli obbligatori scomparsa, svanisci e dissolvi.
Un semplice dissolvi mostra il modo in cui gli effetti funzionano
in Lightworks, quindi parcheggiate il vostro indicatore su di una
sequenza video e premete il pulsante Effects che si trova in basso a
destra nella finestra di modifica. Nella finestra che appare, scorrete gli
effetti disponibili fino a quando trovate lappropriato effetto Dissolve.
Se il vostro indicatore parcheggiato sulla sequenza che volete
dissolvere in ingresso o in uscita, allora potete semplicemente fare click
sul pulsante Add in fondo a sinistra nella finestra Effects, e il vostro
spezzone acquister una dissolvenza allistante. Di default un effetto
si estende per lintero spezzone selezionato, perci in questo caso
la dissolvenza inizia al 100% di opacit e raggiunge il 100%
di trasparenza solo allultimo fotogramma. Di solito non proprio
quello che si vuole, questo il motivo per cui ci sono nella finestra
Dissolve i controlli per le propriet della dissolvenza che appaiono dopo
che lavete aggiunta a un filmato. Nella finestra Dissolve c una piccola
barra grigia che rappresenta la durata delleffetto sulla sequenza. Usate
il mini indicatore di riproduzione in questa finestra per trovare il punto
nel quale volete che il vostro spezzone inizi a perdere opacit. Segnate
questo punto con un fotogramma chiave facendo click sul pulsante
+ a sinistra. Ora avete creato un fotogramma chiave. Sapete
che la destinazione finale lopacit a 0% e che occorre
in corrispondenza dellultimo fotogramma dello spezzone.
Tuttavia, fino al nuovo fotogramma chiave incluso, la ripresa video
dovrebbe essere a uno stabile 100% di opacit, quindi spostate
il cursore dellopacit in cima alla finestra Dissolve al 100%.
Ora il video rimarr al 100% fino a quando raggiunge il vostro
fotogramma chiave, che attiver il suo costante declino verso lopacit
allo 0% al fotogramma finale del filmato. La maggior parte degli effetti
disponibili in Lightworks ha controlli simili e usa concetti simili. in realt
una specie di animazione, e ci vuole un po per abituarsi se non avete
mai fatto qualcosa di simile prima, ma una volta abituati, avrete
un controllo impareggiabile sullaspetto del vostro film. Quando
un programmatore vuole fare una pausa, compila il codice. Quando
un esperto di editing video vuole una pausa, fa il rendering del video.
Ora che siete dei professionisti del montaggio video, anche voi potete
sfruttare i tempi morti di rendering di unora. Abbiamo usato solo
due dei pulsanti nella barra degli strumenti ma, ovviamente, ci sono
molte altre funzioni e strumenti in Lightworks. Alcuni tool riguardano
procedure professionali, ma altri sono utili per chiunque, perci
esplorateli tutti. Per ora, comunque, passeremo a una funzione molto
importante: il pulsante Export, vicino al fondo della barra.

Esportare
Nella finestra Esportazione avete una scelta un po scarsa
di formati di destinazione. Man mano che lo sviluppo
di Lightworks proceder, ci saranno pi formati disponibili,

ma per ora le vostre scelte pi probabili sono MOV


o AVCHD. Una nota: la beta di Linux non include il supporto
ad AVID DNxHD a causa delle restrizioni imposte da AVID,
ma potete comprare una licenza nel negozio Lightworks
allindirizzo www.lwks.com/shop. La vostra esportazione
iniziale dovrebbe essere pi vicina possibile alla ripresa
sorgente. Questa vi servir da copia principale
di esportazione: un trasferimento quasi senza perdite
del vostro lavoro montato, fuori da Lightworks e in un file
autonomo. Potrete quindi usare questa copia esportata
insieme a FFmpeg per generare versioni successive
transcodificate per la pubblicazione sul Web, o masterizzare
un DVD e cos via. Se non altro, questo tipo di esportazione
una buona copia di sicurezza che conserva il lavoro finito,
indipendente da qualsiasi programma a parte un buon
riproduttore multimediale. Potete anche transcodificare
dallinterno di Lightworks, almeno nei formati che il
programma offre attualmente. Per esempio, potreste voler
transcodificare in AVCHD nel comune contenitore h.264.
Impostate quindi la frequenza dei fotogrammi, la dimensione
del fotogramma (se state per caricarlo sul Web, sappiate
che pi grande la dimensione del fotogramma, pi pesante
sar il file), e le preferenze audio (una frequenza di
campionamento pi bassa aiuter sicuramente a mantenere
bassa la dimensione del file). Infine, impostate la destinazione
e il nome del vostro file e premete Start. Questa operazione
potrebbe non sfruttare fino allultimo ciclo un processore
multi core come succedeva invece in passato (ma se lo state
facendo per lavoro il vostro capo non lo sapr, e potrete
ancora prendervi una pausa caff mentre il programma
compie lesportazione). La regoletta semplice : pi effetti
avete e pi transcodifiche state eseguendo, pi lungo
sar chiaramente il tempo di rendering. Quando il rendering
finito dovreste trovare un file del film nella vostra
cartella home; a quel punto avrete montato un video
con Lightworks con successo. In questo articolo abbiamo
appena scalfito la superficie delle potenzialit di questo tool,
perci sentitevi liberi di leggere ulteriore documentazione
sul programma ed esplorare le sue funzioni. LXP

Le opzioni
di esportazione
di Lightworks
sono un po
limitate

Tip
Casomai non
vi siano chiare
le specifiche
tecniche dei
filmati con cui
state lavorando,
potete premere
il pulsante Show
Filecard (mostra
propriet)
in alto a destra
nella finestra
di anteprima.
Questo
vi mostrer
il formato
e la dimensione
dei fotogrammi
originali di una
sequenza.

Linux pro 133

63

Tutorial Raspberry Pi
Tutorial Xxxx
Raspberry
Pi
Raspberry

Pi Usare SqueezePlug per


accedere a musica e video in tutta la casa

Audio e video ovunque


Grazie a SqueezePlug, la Raspberry diventa un distributore di file
multimediali per tutti i dispositivi di casa

ata con lo scopo primario di insegnare ai ragazzini le basi


della programmazione, la RP ha trovato anche un largo
impiego nel settore della multimedialit: pur se XBMC,
il noto gestore di file multimediali, funziona pi che decentemente,
abbiamo deciso di spingerci oltre e trasformare la Raspberry
in qualche cosa di pi, una vera e propria stazione di rifornimento
in grado di fornire a tutti i PC di casa il giusto carburante, sotto forma
di file audio e video. Anche se deboluccia dal punto di vista delle
prestazioni, dimostreremo che la RP sufficientemente potente per
soddisfare il compito che le assegneremo e, alla fine, ce la potremo
dimenticare accesa dietro le casse audio o sotto il televisore visto
che pu essere comodamente controllata tramite il nostro cellulare
Android. Se invece si desidera usare la RP come veicolatore di file
in HD presenti sul NAS casalingo per tutta la rete domestica... s, si
pu fare anche quello, e - in stile AirPlay - si pu anche mandare
laudio del cellulare Android alle casse dellHI-FI, visto che la RP
si occuper di fare da passacarte tra i vari dispositivi. Alcuni di noi
hanno gi in casa una configurazione del genere, con i dati archiviati
su un capiente NAS e una scheda x86 che si occupa di smistare
i flussi multimediali. Il fatto che un oggetto del genere deve essere
piccolo (per non ingombrare troppo), silenzioso (per non disturbare
con ventole o ronzii) ed economico, (il mega televisore che occupa
tutta la parete ha gi assorbito lintero budget). Stante le richieste,
la Raspberry le soddisfa tutte e tre! Di solito, per configurare i servizi
necessari occorrerebbe essere cintura nera di Linux, cio
possedere arcane capacit di gestione della linea di comando:
ma grazie al progetto SqueezePlug che si occuper di tutto il lavoro
sporco, la configurazione dellambiente di lavoro si ridurr a essere
una faccenduola risolvibile in mezzora o anche meno: cominciamo!

Procuriamoci SqueezePlug

intermedio

ominciamo con lo scaricare lultima versione disponibile dalla


pagina Web http://www.squeezeplug.eu/?page_id=52,
dopodich sempre bene controllare la consistenza del file
tramite verifica del ckecksum. Portiamoci nella directory dove
abbiamo scaricato il file e digitiamo md5sum SqueezePlug_
HF_<versione>.zip se il risultato non corrisponde con il numero

Assicuratevi
di prelevare
la versione di
SqueezeBox
col supporto
Hard Float (HF),
in modo da
sfruttare appieno
lhardware della
Raspberry

64

Linux pro 133

presente sulla pagina di download, sar necessario riscaricare il file


in quanto corrotto. Chi ha la sfortuna di usare Windows, pu ricorrere
a WinMD5Free o tool similari per la verifica. Presupposto che il file
sia a posto, va decompresso e poi riversato su una schedina SD
da almeno 4 GB, ma considerando come i produttori contano MB
e GB meglio usare una versione da 8 GB per non avere problemi
di spazio. Lo sviluppatore di SqueezePlug raccomanda una SD
almeno di classe 6: il numero di classe indica la velocit di lettura
e scrittura, per cui pi alta , pi reattivo sar lintero sistema.
Lo sfortunato di prima potr usare il programma USB Image Tool
prelevabile da www.alexpage.de/usb-image-tool/download,
dopo averlo scaricato e decompresso, dovr cliccare su USB Image
Tool.exe con il tasto destro del mouse e selezionare Esegui come
amministratore: se nel frattempo Windows non sar andato
in blocco per una delle sue innumerevoli e misteriose ragioni,
il programma mostrer la scheda SD nellarea di sinistra. Occorre
accertarsi che il programma sia in modalit Device mode
selezionando tale voce nel menu a tendina in alto a sinistra.
Per riversare limmagine sulla SD, va scelto restore, per poi
selezionare limmagine e attendere il completamento della scrittura.
Quanto a noi, membri delleletta razza pinguina, potremo ricorrere

Raspberry Pi Tutorial
al sempreverde, potente ed elegante dd. Assicuriamoci che la
schedina non sia stata automaticamente montata leggendo il risultato
del comando mount. Ipotizzando che la scheda sia montata come
/dev/sdc1 procediamo a smontarla riversarvi sopra limmagine:
$ sudo umount /dev/sdc1
$ sudo dd bs=4M if=SqueezePlug_HF_602.img of=/dev/sdc
Per interagire con SqueezePlug possiamo usare i classici monitor
e tastiera, ma la cosa migliore controllarla da remoto tramite ssh,
un programma ormai di default su tutte le distro Linux, mentre i poveri
Finestrati dovranno arrabattarsi per il Web alla ricerca del programma
PuTTY. Inserita la SD e alimentata la Raspberry, dovremo attendere
almeno un minuto: poi tramite un altro PC cercheremo sulla pagina
di amministrazione del nostro router quale IP stato dinamicamente

assegnato alla RP: da ora supporremo si tratti di 192.168.2.100,


per cui entriamo con:
sudo ssh root@192.168.2.100
Alla richiesta di password digitiamo nosoup4u, e una volta dentro,
dovremo leggere la Licenza GPLv3 e accettarla poi SqueezePlug
provveder autonomamente a ricercare eventuali aggiornamenti,
dopodich proporr di espandere il filesystem in modo da occupare
lintero spazio eventualmente non ancora allocato. Tale espansione,
ancorch posticipabile, fortemente consigliata in modo da sfruttare
al massimo lo spazio disponibile, nellipotesi di installazione di ulteriore
software, quindi accettiamo la richiesta di espansione
e successivamente facciamo il reboot, perch solo alla ripartenza
il filesystem verr effettivamente espanso.

Installare servizi e applicativi

nche se unicamente in inglese e con interfaccia semi


testuale, configurare SqueezePlug non sar
complicato se seguirete le nostre istruzioni.
Probabilmente avrete i file audio e video archiviati su un disco
USB: quandanche la RP possa alimentare periferiche USB,
il disco meglio che abbia una sorgente esterna in modo
da non stressare eccessivamente lalimentatore principale.
Per istruire SqueezePlug su dove cercare i file, da riga
di comando della RP digitiamo setup per poi selezionare
lopzione Media_Library: tutti i servizi presenti su
SqueezePlug sono preconfigurati per cercare nella directory
/mnt, quindi sarebbe intelligente montare in tale posizione
il disco USB. Ora vediamo dove risiedono i file: selezioniamo
lopzione usb, dopodich scegliamo il punto di mount
(potrebbe essere qualcosa tipo /mnt/hd1 o /mnt/hd2):
ora il sistema chieder di connettere fisicamente il disco USB
alla RP. SqueezePlug si occuper di mostrare i parametri
dellultima periferica connessa, come il tipo di filesystem
e il numero identificatore (ID). Se saremo soddisfatti dei dati
mostrati, passeremo allultima azione da fare, cio montare
fisicamente il disco nel punto di mount precedentemente
visto. Se vogliamo essere proprio pignoli usciamo dal setup
e una volta tornati a riga di comando digitiamo mount per
verificare che il disco sia effettivamente collegato e montato
come ci si aspetta che sia. Possiamo andare a curiosare nel
disco montato con cd e ls, insomma, i soliti comandi Bash
che chiunque usi Linux dovrebbe conoscere almeno per

SqueezePlug pu leggere i file immagazzinati sulla stessa SD


del sistema operativo, da dischi USB e addirittura da aree
condivise tramite Samba o NFS

LMS, acronimo
di Logitech Media
Streaming,
un server
gestore
di flussi (stream)
sviluppato
da Logitech

sentito dire. Spegnendo la RP, si perdono ovviamente


le impostazioni del disco e questultimo deve essere connesso
prima di riaccendere la scheda, in modo che venga
automaticamente rimontato nella posizione impostata.
Ancorch LMS sia primariamente concepito per interagire
con la SqueezeBox di Logitech, il server pu inviare flussi
multimediali anche ad altri media player. Oltre ad avere
il supporto per varie lingue tra le quali lItaliano (selezionabile
tramite apposito menu a tendina), il server dispone anche
di plug-in, i quali permettono di gestire podcast e live radio
ormai molto diffuse in tutti i continenti. Per installare il server,
rilanciamo il setup e andiamo nella sezione Server_and_
Player e selezioniamo Server: questo ci permetter
di scegliere una serie di servizi supportati. A questo punto
si scelga il primo della lista, LMS: si avr cos la possibilit
di installarlo o rimuoverlo. Ovviamente scegliamo di installarlo
e il tool provveder alle varie incombenze, proponendo
la versione 7.7.2: nel caso si desideri unaltra versione,
si pu farlo digitando manualmente il percorso di installazione
del file .deb. Invero, la maggior parte degli utenti preferisce
premere Invio e accettare la versione di default. Alla fine
del processo, linterfaccia Web sar attiva sulla porta 9000,
quindi da un altro PC della nostra rete locale potremo
accedervi scrivendo semplicemente 192.168.2.100:9000
nella barra degli indirizzi del browser. La prima volta che
ci si connette, si attiva un percorso guidato di configurazione:
saltiamo il primo passo in quanto non disponiamo di un
account su www.mysqueezebox.com. Il passo successivo
quello di indicare dove risiedano gli archivi musicali,
Linux pro 133

65

Tutorial Raspberry Pi

Anche se
non si dispone
di una Logitech,
possiamo
inoltrare i flussi
multimediali
a client software

e qui specificheremo il punto di mount, probabilmente /mnt/


hd1. Stessa cosa nel passo successivo, dove occorre indicare
il percorso delle Liste Musicali: dopo aver controllato che
tutto sia a posto, confermiamo le impostazioni con il tasto
Finito. Ora siamo trasportati sulla pagina principale di LMS,
cosa che richieder un certo tempo in funzione della quantit
di file musicali da indicizzare. Linterfaccia divisa in due
carina e facile da esplorare: a sinistra abbiamo lintera massa
di file audio che LMS ha diligentemente riordinato per
categorie come Artista, Genere e Anno. Questa indicizzazione
possibile grazie
ai metadati
contenuti nei
file audio stessi.
Puntando una
singola traccia,
possibile
suonarla o aggiungerla a una lista, mostrata sulla pannello
di destra: nella parte superiore di questultimo presente
un pulsante che permette la creazione di una nuova lista,
popolata con tutte le tracce dellalbum correntemente
selezionato. Una cosa bella di LMS la possibilit di creare
liste dascolto non soltanto con file locali, ma anche con
podcast e radio che trasmettono via Internet, una bella
comodit! Nella parte bassa dellinterfaccia presente
il pulsante Settings, che consente di personalizzare LMS
tramite lattivazione/disattivazione di plug-in, la modifica dello
sfondo e altre opzioni ancora. Al momento, LMS configurato
unicamente per veicolare flussi audio, ma a meno che non
si possegga una Logitech SqueezeBox come Boom o Touch,
questa configurazione non ha periferiche a cui inviare musica.
Ciononostante, LMS pu inviare un flusso audio a programmi,
cio player veri e propri. Ecco quindi che ne dobbiamo
istallare almeno uno, in modo che la RP stessa possa buttare
fuori musica, indifferentemente tramite HDMI, il classico jack
audio o via USB. Al pari di altri server che erogano flussi
multimediali, SqueezePlug dispone di parecchi riproduttori
audio con i quali suonare i file erogati da LMS, avendo quindi
server e client che girano entrambi sulla RP. Decidiamo
di installare il client SqueezeSlave, che ben si integra
con LMS: ma prima di fare ci, colleghiamo le casse
e assicuriamoci che funzionino. Sempre nel menu di
configurazione andiamo in Server_and_Player D Player D
Audio_Settings: qui possiamo scegliere quale uscita audio
preferire, inoltre sono presenti un paio di file di test (Test_
Sound_1 e Test_sound_2) che ci permettono di verificare
il corretto funzionamento della sorgente sonora selezionata.
ora di risalire di un livello nel menu e dedicarci
a SqueezeSlave, la cui procedura di installazione simile
a quella di LMS, per cui non ci attarderemo in spiegazioni.
Durante linstallazione, il client si accorger della presenza

Come i server per


lo streaming, SqueezePlug
gestisce tanti riproduttori

66

Linux pro 133

di LMS sulla RP, quindi lasciamo vuoto il campo dellIP del


server e premiamo Invio un paio di volte, per poi selezionare
RPI_internal alla richiesta di quale periferica audio utilizzare.
Finita linstallazione, torniamo sullinterfaccia Web di LMS: ora
in alto a destra, il menu a tendina indica SqueezeSlave come
disponibile per cui possiamo finalmente ascoltare musica
e le centinaia di radio Web! Certo, interfacciarsi da un altro
PC non deve essere lunica opzione possibile, ecco perch
sul Google Play Store disponibile Logitech SqueezeBox
Controller oppure Squeezer per poter controllare il server
di stremaming da cellulare o tablet Android: lapplicazione
riveler automaticamente il server, dandoci il completo
controllo su di esso. Fine della storia, il server di streaming
audio configurato, onde per cui si pu staccare dalla RP
tutto quello che non server come tastiera, mouse e monitor.
Pensate: con una o due chiavi USB da 64 GB connesse,
potete lasciare la RP dietro le casse, con il solo cavetto
audio collegato (oltre ovviamente allalimentazione!)
e quando sar il momento, baster qualche tocco sul cellulare
per avere il sottofondo musicale preferito.

Un ulteriore passo
Durante listallazione, abbiamo notato che sono disponibili
vari server come per esempio MiniDLNA e MediaTomb:
questultimo un server UPnP (Universal Plug & Play) che
permette di interagire con tutti i programmi che supportano
tale protocollo, come il noto VLC, sistemi Android e financo
la PlayStation3. Invece MiniDLNA ha come punto di forza
lestrema leggerezza, ma non disponendo di uninterfaccia
Web, necessario modificare un file di configurazione
testuale: tanto basta per lasciarlo da parte e concentrarsi su
Media Tomb. Per installarlo, seguiamo la solita trafila Setup
D Server_and_Player D Server D Media_Tomb:
installiamolo come abbiamo imparato a fare. La porta sulla
quale funziona la 49152, utenza e password sono la stessa
parola, cio mediatomb. Anche qui nellinterfaccia Web
dobbiamo configurare il percorso dove sono immagazzinati
i file video: nel pannello di sinistra selezioniamo Filesystem
e spostiamoci su /mnt/hd1, dopodich confermiamo
premendo il pulsante + presente sulla destra della directory
o del singolo file che si desidera rendere disponibile. A destra
del + c un altro + allinterno di una spirale: esso permette
s di condividere i file, ma anche di impostare ulteriori
parametrizzazioni avanzate, come laggiornamento del
database a periodi fissi. Il risultato del lavoro fatto visibile
selezionando la voce Database nella colonna di sinistra.

MediaTomb, oltre a suonare sulle casse locali, pu inoltrare


musica e non solo a tutti i client presenti in rete

Raspberry Pi Tutorial
MediaTomb e VLC
a SqueezePlug, come per esempio SqueezeSlave che, guarda
caso avevamo gi installato. Quindi dovrebbe essere sufficiente
configurare BubbleUPnP sulla periferica Android per inviare
alla RP luscita audio, invece che veicolarla localmente sugli
altoparlantini della tavoletta. Ecco come fare: in BubbleUPnP
andare sulla linguetta Device e cambiare limpostazione
del renderer verso SqueezeSlave e nella sezione library
impostare Local Media Server: ora facciamo una prova
selezionando un file audio e opl!, il suono esce dalle casse,
dimostrando lavvenuto cambio di configurazione. Come Airplay
ma senza ingrassare Apple: non male!

Con Shairport, va anche liPhone


La potenza dellUpnP ovvia se le periferiche hanno un client
che supporta tale protocollo, come VLC

opo aver installato MediaTomb e aggiuntagli la lista


di file video, il pi fatto. Qualunque riproduttore video
compatibile UPnP installato su di un qualunque
PC/tablet/cellulare presente sulla stessa rete di MediaTomb potr
vedere i file video. Purtroppo il livello di efficienza di UPnP
su Linux desolante, i programmi standard di GNOME e KDE
non supportano tale standard: invero, Amarok su KDE dispone
di un plug-in, il quale per non si dimostrato particolarmente
affidabile. Una nota di merito va invece a VLC, che essendo
disponibile su vari sistemi operativi, garantisce il massimo
della scelta allutente finale. Sul nostro PC client lanciamo VLC,
andiamo in Visualizza D Scaletta (raggiungibile direttamente
premendo Ctrl+l): poi nel pannello di destra scegliamo Rete
Locale D Universal PlugnPlay, in modo che VLC scansioni
la Intranet alla ricerca dei server. Quello che ci interessa
si chiama ovviamente MediaTomb, quello installato sulla RP:
clicchiamoci sopra. Possiamo navigare nel suo contenuto,
visualizzando i file precedentemente resi visibili: quando troviamo
il file di nostro interesse, facciamoci sopra un doppio click e dopo
pochi secondi, ecco che VLC comincer a mostrare il video
in streaming. Allo stesso modo possiamo vedere i file sul cellulare
Android: noi abbiamo usato BubbleUPnP, la cui versione free
presenta alcune restrizioni, assenti se invece si spende qualche
euro per la versione completa. Troverete tutto sul Google Play
Store. Attenzione per che BubbleUPnP di per s non fa nulla
perch necessita di un player esterno, come MX player,
MoboPlayer o DicePlayer, quindi assicuratevi di averne almeno
uno installato sul cellulare/tablet in vostro possesso. Lanciando
BubblePnP per la prima volta, verr richiesto di configurare
laccesso a Internet per poter accedere a svariate sorgenti
di flussi multimediali, cosa che possiamo evitare in quanto non
necessaria alle nostre esigenze. Quando BubblePnP in funzione,
ci spostiamo sulla linguetta Devices che mostra le librerie
e i server. Qui, assicuriamoci di selezionare MediaTomb, mentre
la linguetta Library mostrer la nostra raccolta automaticamente
organizzata suddivisa tra Recenti, Anno, e cos via: selezioniamo
con un tocco il file audio/video di nostro interesse ed ecco che
il player comincer a riprodurlo. Ora, non sarebbe veramente
bello se si potesse mandare luscita audio del tablet direttamente
alla RP, che a sua volta pu sfruttare le casse Hi-Fi collegate?
Se avete seguito il tutorial passo passo, avete gi configurato tutto
e quindi sufficiente aggiungere un player compatibile UpnP

A proposito di Airplay: anche i possessori di iPhone, possono


mandare laudio alla RP, ma occorre installare unestensione
a SqueezePlug che si chiama ShairPort e che consente
di ricevere e suonare i flussi audio in formato Airplay.
Per installare lestensione, spostiamoci nel menu Setup
D Server_and_Player D Player D ShairPort e poi
procediamo come fatto con le precedenti installazioni,
dopodich inseriamo il nome con cui si desidera identificare
il servizio (si pu lasciare AirPi, che il nome preimpostato).
Ora sufficiente tornare suliPhone, attivare un qualsiasi
programma di riproduzione audio e selezionare la voce
Airplay: a quel punto comparir il nome del server disponibile
(AirPi nel caso non lo si sia modificato prima). Dopo averlo
selezionato, ecco che la RP comincer a suonare la canzone
che riceve dalliPhone. Siamo giunti alla fine dellarticolo,
abbiamo visto come veicolare audio e video a e da
qualunque periferica connessa alla rete locale e, cosa
pi importante, tramite software Open Source, spendendo
una frazione del denaro che ci sarebbe stato depredato
se avessimo ceduto alle lusinghe di hardware proprietario,
come il noto Sonos o peggio ancora, Airplay. Considerando
lestremo risparmio che il suo lavoro ci ha permesso, non pensate
sarebbe giusto donare qualche soldino al creatore
di SqueezePlug? Noi pensiamo di s. LXP

Ecco la semplice
interfaccia
di BubbleUPnP
in azione
su un cellulare
di prova

Linux pro 133

67

Tutorial Raspberry Pi
Tutorial Xxxx
Raspberry
Pi
NAS Ecco

come gestire al meglio un NAS


per tutte le nostre esigenze di rete

Come si usano i NAS

PARTE 2

Un protocollo di larga diffusione, denominato iSCSI, permette di agganciare


volumi creati in ambienti NAS e SAN in modo efficace e affidabile
di protocolli per laccesso allo storage dalla rete, tra cui iSCSI
e NFS. In questo articolo vedremo come utilizzare iSCSI
in maniera proficua su Linux.

Qualche dettaglio su iSCSI

Lautore
Silvio Umberto
Zanzi
szanzi@
informazione.biz

l mercato offre oggi una scelta molto ampia di soluzioni


di storage affidabili e veloci. Con un investimento modesto
si pu acquistare ununit connessa in rete in grado di accogliere
almeno due dischi e applicare schemi RAID di tipo mirror o stripe.
Con disponibilit finanziarie superiori si possono avere un numero
maggiore di cassetti per dischi, un numero superiore di porte,
uno spettro pi ampio di meccanismi di ridondanza, meccaniche
ad alta affidabilit, connessioni dischi pi veloci, ecc. Non esiste
un limite superiore per quanto riguarda i costi degli ambienti
di storage, sostanzialmente perch non esistono limiti alle
necessit di memorizzazione nellattuale societ dellinformazione.
Nel numero precedente di questa serie abbiamo esaminato
un ottimo dispositivo NAS prodotto da Buffalo, dotato di due alloggi
dischi, schemi RAID, due porte Ethernet veloci e una lunga lista

1 Qui possiamo vedere che sullunit NAS Bufalo TeraStation usato per il tutorial
configurato un volume iSCSI da 40 Gbyte

68

LINUX PRO 133

Lobiettivo di iSCSI liberare il protocollo SCSI dal vincolo del bus


locale in cui ha agito per decenni e renderlo operativo su lunghe
distanze attraverso normali connessioni di rete. I comandi e i dati
che venivano scambiati in origine tra i dischi e lhost adapter,
linterfaccia dati innestata su un connettore a pettine del computer,
sono ora oggetto di dialogo tra un sistema di storage e un server
che possono essere separati letteralmente da un oceano. Il flusso
SCSI incapsulato dentro una sessione TCP tra i due interlocutori.
Tecnicamente il sistema di storage dove sono presenti i volumi
esportati in iSCSI viene definito target mentre il computer
che esegue la comunicazione con lo storage denominato
initiator. Il target dotato di un indirizzo iSCSI che deve essere
correttamente formato secondo le norme standardizzate in RFC
3720. Lindirizzo viene denominato IQN (iSCSI Qualified Name)
ed composto dalla stringa iqn, da un punto (.), da una data
nel formato aaaa-mm, da un punto (.), dal dominio di primo livello,
da un altro punto separatore (.) e dal dominio di secondo livello.
Un esempio valido iqn.1992-01.com.example. La data
presente nellIQN rappresenta il mese e lanno in cui stato
riservato il dominio presente nellIQN, in questo caso example.com.
Questo schema garantisce che non vi siano indirizzi iSCSI duplicati
nella rete Internet, permettendo la comunicazione tra initiator
e target arbitrari senza problemi di conflitti. Lindirizzo IQN pu
proseguire con una parte locale, dotata di una serie di livelli stabiliti
a discrezione dellamministratore, separati sempre dal simbolo
di punto (.), come nellesempio iqn.1992-01.com.example:nas1.
disco1. Il simbolo di due punti (:) separa lindirizzo di alto livello utile
per la comunicazione sulla rete pubblica dalla parte che specifica
il dominio locale a discrezione dellamministratore.

Scansione iSCSI
Lelenco dei volumi disponibili presso ununit di storage pu essere
ottenuto attraverso una scansione del sistema NAS. I volumi
disponibili saranno in questo modo elencati per leventuale
connessione. Questa pu essere libera ma generalmente protetta
da credenziali di accesso per impedire luso da parte di utenti non
autorizzati. Un volta che un initiator connesso con un volume
iSCSI, questo non risulta pi disponibile per altri initiator, in caso
contrario vi sarebbe il rischio di corrompere i dati e rendere larea
di memorizzazione inutilizzabile. Le prestazioni delle sessioni iSCSI
variano in base alla qualit dellhardware presente allinterno
del NAS ma anche dal carico presente sulla tratta di rete locale
e dal tipo di mezzo impiegato. Il traffico sulla rete locale pu avere
un impatto rilevante, soprattutto se la rete carica per lunghi
periodi della giornata. Si deve anche tenere in considerazione
che il protocollo Ethernet non permette di impiegare in maniera
efficiente tutta la banda teorica disponibile. Nei casi reali si deve

NAS Tutorial
tenere in considerazione un valore di banda intorno al settanta per
cento, valore che pu essere anche inferiore in caso di congestione.
Per questi motivi si dovrebbe impiegare almeno un sistema Gigabit
Ethernet e se lhardware del NAS e gli switch lo permettono,
si dovrebbe impiegare il trunking e unire pi porte di rete sullunit
NAS per incrementare la banda disponibile. Questa pratica del
tutto comune durante la configurazione di dispositivi di storage.

Accedere ai target iSCSI


da Linux
Laccesso ai target iSCSI possibile tramite un apposito pacchetto
da installare nella propria distribuzione Linux, si tratta di iscsiinitiator-utils. Sulla distribuzione CentOS utilizzata per questo
tutorial necessario digitare questo comando:
yum install iscsi-initiator-utils
Il file di configurazione per questo pacchetto si chiama iscsid.conf
e si trova nel percorso /etc/iscsi. La configurazione fornita generica
ma dovrebbe comunque essere gi operativa. per necessario
indicare username e password nel caso si abbia configurato lunit
di storage per richiedere unautenticazione. Questa condizione
auspicabile: si sconsiglia di esportare volumi iSCSI in rete locale
o peggio, su Internet, senza alcun meccanismo di protezione.
I parametri di autenticazione si trovano nella sezione Chap Settings.
Dobbiamo togliere il commento sulla linea seguente:
node.session.auth.authmethod = CHAP
Si devono togliere i commenti anche nelle due righe seguenti:
node.session.auth.username = username
node.session.auth.password = password
Al posto delle stringhe username e password si devono inserire
le credenziali che linitiator deve fornire al target per accedere
alle risorse. Se stata impostata anche una autenticazione inversa
verso linitiator si devono togliere i commenti e impostare anche
le righe qui indicate:
node.session.auth.username_in = username_in
node.session.auth.password_in = password_in
Il file di configurazione del demone iSCSI contiene unaltra coppia
di parametri nel caso sia necessaria lautenticazione anche per
eseguire la scansione dello storage allo scopo di ottenere lelenco
dei volumi disponibili. Qui di seguito elenchiamo le righe pertinenti
del file di configurazione:
# To set a discovery session CHAP username and password for
the initiator
# authentication by the target(s), uncomment the following lines:
#discovery.sendtargets.auth.username = username
#discovery.sendtargets.auth.password = password
# To set a discovery session CHAP username and password
for target(s)
# authentication by the initiator, uncomment the following lines:
#discovery.sendtargets.auth.username_in = username_in

2 Il protocollo iSCSI descritto in RFC 3720, datato aprile 2004

#discovery.sendtargets.auth.password_in = password_in
Come per lautenticazione illustrata pi in alto, abbiamo i parametri
per indicare la user-id e la password verso il dispositivo di storage
e leventuale coppia di parametri di autenticazione nel caso sia
impostata anche lautenticazione inversa. Una volta impostati
i comandi in maniera corretta si pu attivare il demone:
/etc/init.d/iscsi start
Non resta che eseguire una scansione del target per scoprire quali
volumi sono disponibili. In questo tutorial viene utilizzata una unit
Buffalo TeraStation 5200D preventivamente configurata con uno
spazio dedicato al protocollo iSCSI. Lo spazio complessivo sullunit
NAS stato diviso in due gruppi, uno esportato con i protocolli
di alto livello di condivisione, perci accessibile dai client attraverso
i normali meccanismi di accesso alle unit di rete messi
a disposizione dai sistemi operativi. Una parte stata invece riservata
a iSCSI e visibile in rete solamente attraverso questo protocollo.
Per eseguire la scansione digitiamo sulla linea di comando:
iscsiadm -m discovery -t sendtargets -p 192.168.0.50
Il parametro -m specifica la modalit di accesso, in questo caso
vogliamo eseguire loperazione di discovery per visualizzare
i volumi. Questa modalit di accesso pu essere abbinata
al parametro -t per indicare loperazione specifica che vogliamo
eseguire, in questo caso stiamo richiedendo la lista dei target
disponibili. Infine con il parametro -p indichiamo lindirizzo
dellunit di storage. Attraverso il comando si ottiene
dal NAS di Buffalo questa risposta:

Ringraziamenti
Come per la scorsa puntata di questa serie
dedicata ai NAS (la trovate nel DVD allegato alla
rivista se per caso lavete persa) anche in questo
tutorial abbiamo utilizzato il NAS TeraStation
5200 (TS5200D) di Buffalo. Si tratta di ununit
compatta (170 x 170 x 230 mm) con due
alloggiamenti per dischi da 3.5 in formato SATA
III. Lunit in prova contiene due dischi da 1 TB ma
sono disponibili versioni con dischi da 2, 3 o 4 TB.

I dischi, con tecnologia Hot-Swap, possono essere


configurati in modalit RAID mirror o striping.
animato da una CPU Intel Atom dual-core e ha
quattro porte USB (2 di tipo 3.0 e 2 di tipo 2.0). Si
collega alla rete tramite 2 porte Gigabit Ethernet e
supporta tutti i maggiori protocolli di rete. Il prezzo
consigliato dellunit (con due dischi da 1 TB)
di 765,90 euro. Ringraziamo Buffalo per averci
messo a disposizione questo NAS per le prove.

LINUX PRO 133

69

Tutorial NAS

3 Il sito ufficiale del Linux-iSCSI Project

192.168.0.50:3260, 1 iqn.2004-08.jp.buffalo.106f3f178128.
iscsi-test1
Viene visualizzato lindirizzo IQN pubblico iqn.2004-08.jp.
buffalo, preimpostato su tutte le novit Buffalo immesse
in commercio. Poi abbiamo la stringa locale con il nome
che lamministrazione ha assegnato al target, in questo caso
iscsi-test1. Il comando esegue anche un aggiornamento della
configurazione di sistema con questa nuova unit disponibile.
Impartendo perci un riavvio del demone iscsi si otterr un nuovo
device utilizzabile per le operazioni sul file-system. Verifichiamo
richiedendo la lista delle partizioni disponibili al comando fdisk:
fdisk -l
Nella postazione di test su CentOS vedremo le partizioni
di sistema correntemente in uso per la gerarchia del sistema
operativo e larea di swap, pi il nuovo spazio iSCSI scoperto
a seguito della scansione sul NAS TeraStation di Buffalo:
Disco /dev/sdb: 42.9 GB, 42949672960 byte
64 testine, 32 settori/tracce, 40960 cilindri
Unit = cilindri di 2048 * 512 = 1048576 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x00000000
La partizione mostrata da fdsk corrisponde con quanto configurato
sullo storage di rete. Accedendo al pannello di configurazione Web

dellunit si potr sincerarsi di questo dettaglio. Come evidenziato


in Fig.1 presente un solo volume da 40 Gbyte denominato
iscsi1-test. Per una ulteriore verifica possiamo controllare il file
di log messages presente in /var/log. Dovrebbero essere presenti
alcune righe generate dal kernel e dal demone iscsi in relazione
al nuovo target disponibile:
Aug 25 09:21:25 linuxcage iscsid: Connection1:0 to [target:
iqn.2004-08.jp.buffalo.106f3f178128.iscsi-test1, portal:
192.168.0.50,3260] through [iface: default] is operational now
Ora non resta che rendere il volume utilizzabile dal sistema
operativo. Dobbiamo cio creare almeno una partizione e poi
dobbiamo formattare lunit. Per creare la partizione usiamo
il comando seguente:
fdisk /dev/sdb
Il nome corretto di device si deduce dalloutput del comando
fdisk -l, riportato pi in alto. Il device potrebbe essere differente
su altri sistemi. Quanto riportato in queste pagine riguarda infatti
la postazione di test usata per la stesura del presente tutorial.
Prestiamo massima attenzione a indicare il device corretto
per il volume iSCSI della nostra unit. Indicando il device
errato si rischia di cancellare partizioni contenenti dati o il sistema
operativo in modo irreversibile. Una volta allinterno di fdisk
impartiamo i normali comandi per la creazione della partizione.
Premiamo su n per creare una nuova partizione, poi selezioniamo
p per indicare che vogliamo una partizione primaria e poi
premiamo il numero 1. Questa sequenza di comandi motivata
dal fatto che il volume del tutto vuoto e quindi scegliamo
di creare ununica partizione primaria che parte dal primo cilindro
disponibile fino allultimo cilindro dellunit. Infine premiamo
su w per scrivere la tabella delle partizioni sul disco. Infine
usciamo da fdisk premendo q. Prestiamo molta attenzione
allutilizzo di fdisk; questo strumento permette modifiche
che possono rendere il sistema non operativo e comportare
la perdita di tutti i dati presenti in modo irrimediabile. Se non
si ha esperienza in merito alla gestione dei device di sistema
e alla creazione e gestione delle partizioni si consiglia
di non utilizzare fdisk. Ora si pu proseguire con la
formattazione dello spazio:
mkfs.ext3 /dev/sdb1
Loperazione impiegher un po di tempo trattandosi di una unit
collegata in rete. Completata loperazione possiamo eseguire
il mount del target iSCSI remoto sul nostro filesystem.
Si pu creare una directory dedicata dentro /mnt, denominata
per esempio iscsi1 e poi dando il comando di mount:
mount /dev/sdb1 /mnt/iscsi1
Questa operazione non permanente. Al riavvio del sistema
dovremo nuovamente montare la partizione a meno di non
scrivere una riga di configurazione allinterno di /etc/fstab:
/dev/sdb1 /mnt/iscsi1 ext3 _netdev 0 0
La riga specifica rispettivamente il nome del device (/dev/sdb1),
il punto del filesystem dove agganciare il volume iSCSI

Tempo di accesso e latenza nei dischi meccanici


Ogni volta che si richiede laccesso a un dato
presente su disco, la testina del drive deve
posizionarsi nel cilindro corretto e poi deve
attendere una certa quantit di tempo prima che
il settore corretto ruoti in corrispondenza della
testina di lettura. Questi due fenomeni denominati

70

LINUX PRO 133

tempo di accesso e latenza determinano un


degrado delle prestazioni quando si eseguono
molti accessi di tipo random sul disco. Nel caso di
accesso sequenziale per blocchi contigui di grandi
dimensioni si ha un unico tempo di accesso e un
solo periodo di latenza. Per il resto le prestazioni

sono date dalla velocit con cui i dati sono


trasferiti dalla meccanica al controller del disco
e da questo alla memoria del computer.
I trasferimenti sequenziali sono la condizione
ottimale per un disco meccanico. Nei dischi
SSD non esiste invece latenza.

NAS Tutorial
(/mnt/iscsi1) e il tipo di filesystem (ext3). Il parametro seguente
(_netdev) specifica che si tratta di un volume di rete
e che necessaria la presenza preventiva dellinfrastruttura
software di networking per poter eseguire il mount. Il meccanismo
provvede per simmetria a smontare lunit nel caso la rete
sia disattivata sul sistema Linux locale. Seguono due zeri
per indicare che non necessario il dump (una funzione
di backup) e il controllo del filesystem allavvio del sistema
operativo. importante che il demone iSCSI sia attivato
automaticamente allavvio del sistema. Si pu usare lutility
ntsysv oppure digitare il comando seguente:
chkconfig iscsi on
Ora si pu utilizzare la nuova partizione per copiare i dati.
Le prestazioni di accesso allo storage dipenderanno da molti
fattori, primo fra tutti la velocit del mezzo fisico a cui il NAS
connesso e che separa il dispositivo dal proprio client.
importante anche la qualit dellunit impiegata, in questo
tutorial un ottimo dispositivo prodotto da Buffalo e lo schema
RAID applicato sui dischi. Se si dispone di una unit con molti
alloggiamenti disco possibile impiegare una configurazione RAID
10 e distribuire cos le operazioni su pi unit in parallelo.

Verificare le prestazioni
Linux mette a disposizione uno strumento per verificare le
prestazioni dei device collegati. Si tratta del comando dd. In realt
si tratta di un meccanismo per eseguire copie ma viene spesso
impiegato per misurare i tempi con cui i dispositivi a blocchi sono
in grado di eseguire operazioni di lettura e scrittura. un comando
che deve essere impiegato con molta attenzione: indicando
i parametri in modo erroneo possibile azzerare o corrompere
intere partizioni disco. In caso di dubbi si sconsiglia di utilizzare dd
per evitare danni irreversibili al sistema operativo e ai dati. Il test
di prestazioni viene realizzato copiando un flusso di dati dal device
zero verso un file che verr creato sulla partizione che si intende
misurare, in questo caso il target iSCSI montato in /mnt/iscsi1.
Il comando da usare :
dd if=/dev/zero of=/mnt/iscsi1/testfile bs=10M count=20
Il parametro if specifica il file di input, in questo caso il device zero.
Questo un dispositivo che implementa un file virtuale composto
da un flusso infinito di zeri. Il flusso di zeri viene inviato al file
di output specificato nel parametro of, in questo caso il file
testfile sul percorso /mnt/iscsi1 corrispondente alla partizione
iSCSI. I parametri seguenti specificano che la dimensione del
blocco sar pari a 10 Mbyte (bs=10M) e che dovranno essere
trasferiti 20 blocchi. Il risultato delloutput per la piattaforma di test
usata per questo tutorial riportato qui di seguito:
[root@linuxcage ~]# dd if=/dev/zero of=/mnt/iscsi1/testfile
bs=10M count=20
20+0 records in
20+0 records out
209715200 bytes (210 MB) copied, 35,6485 s, 5,9 MB/s
Il server Linux impiegato per il test connesso su una rete
Fast Ethernet a 100 Mbit/s. Si tratta di un ambiente molto limitato
per esigenze di storage. Meglio impiegare almeno una rete di tipo
Gigabit e unire se possibile pi porte di rete se lunit NAS
lo permette. Per ottenere un paragone si esegue lo stesso
test usando il disco locale collegato fisicamente al server
Linux in modalit SATA:
[root@linuxcage iscsi]# dd if=/dev/zero of=/root/testfile bs=10M
count=20
20+0 records in
20+0 records out

4 I NAS di qualit come il Buffalo TS5200D permettono di impostare parametri


dettagliati del protocollo iSCSI

209715200 bytes (210 MB) copied, 1,94156 s, 108 MB/s


evidente il collo di bottiglia causato dalla configurazione
di rete non adeguata per lo storage di rete. Per condurre
test significativi si dovrebbe lanciare diverse sessioni del comando
dd e impiegare blocchi di dati di dimensioni differenti per simulare
condizioni differenti. Lo scopo verificare la velocit dellunit
nei due casi limite, ovvero molti blocchi di piccole dimensioni
e pochi blocchi di grandi dimensioni. Ripetendo il test sul target
iSCSI, questa volta con molti blocchi di piccole dimensioni,
si ottiene questo risultato:
[root@linuxcage iscsi]# dd if=/dev/zero of=/mnt/iscsi1/testfile
bs=1024 count=200000
200000+0 records in
200000+0 records out
204800000 bytes (205 MB) copied, 36,6765 s, 5,6 MB/s
Le prestazioni risultano simili alla condizione con blocchi di grandi
dimensione. Questo probabilmente significa che c un forte
impatto dovuto alla tipologia di rete locale utilizzata. In generale
si dovrebbero rilevare prestazioni migliori su file sequenziali
di grandi dimensioni piuttosto che su molti file di piccole
dimensioni. Nei blocchi di grandi dimensioni si mitigano gli effetti
dovuti alla latenza dei dischi meccanici, significativa invece
con molti trasferimenti di piccole dimensioni. I valori comparabili
misurati nei due test stanno a indicare che il sistema disco
sottoutilizzato nella configurazione impiegata e che necessario
prima di tutto migliorare lambiente di rete. Nel prossimo articolo
di questa serie vedremo laccesso a sistemi di storage in rete
attraverso il protocollo di alto livello NFS. LXP

NAS o SAN?
I termini NAS o SAN sono sempre
pi diffusi negli articoli tecnici, sui siti
per gli esperti di IT e sui forum. Si tratta
di due approcci differenti per risolvere
la medesima necessit di storage. Il NAS,
acronimo di Network Attached Storage,
un dispositivo di memorizzazione
che si collega alla rete locale Ethernet.
A prescindere dal numero di dischi e dalla
qualit del sistema il NAS si distingue per

il fatto di collegarsi alla propria LAN.


SAN invece acronimo di Storage Area
Network. Si tratta di una rete aggiuntiva
alla lan dedicata ai dispositivi di storage.
Generalmente si stende una rete in fibra
ottica vista la necessit di velocit e bassa
latenza che collega le unit di storage
e i server. Una SAN una soluzione
costosa, tipicamente impiegata
da aziende medie-grandi.

LINUX PRO 133

71

Tutorial Raspberry Pi
Tutorial Xxxx
Raspberry
Pi Configuriamo due macchine
MariaDB

per evitare interruzioni del servizio

Replicare un database
Non deludete gli utenti della vostra applicazione Web: ecco come replicare
un database MariaDB per aumentare la velocit di accesso e la sicurezza

ggigiorno le applicazioni Web sono utilizzate da molte


migliaia di utenti, ognuno dei quali si aspetta che i suoi dati
siano disponibili allistante e per sempre: per far fronte
a queste richiese gli sviluppatori e gli amministratori di database
hanno dovuto scoprire nuove tecniche. Per quanto riguarda
MySQL, la pi importante di queste nuove tecniche la
replicazione. Lidea quella di avere un database master che invia
tutte le modifiche dei suoi dati a un insieme di database slave,
che di solito sono in esecuzione su un hardware fisico differente.
In questo tutorial illustreremo i benefici della replicazione di un
database e vi mostreremo come potrete realizzarla voi stessi.
Useremo per MariaDB, un sostituto totalmente compatibile
di MySQL che sta guadagnando popolarit tra i team d sviluppo
delle distribuzioni GNU/Linux.

e crescita orizzontale del servizio. Con il primo si intende


sostanzialmente lacquisto di hardware pi veloce e costoso su cui
far girare il database. una soluzione facile da adottare e non
richiede limpiego di tecniche particolarmente sofisticate,
ma lhardware pu raggiungere solo una determinata velocit
massima. Cosa succede se gli utenti continuano ad aumentare
e avete gi acquistato il server pi veloce esistente sul mercato?
A questo punto dovete per forza passare allo scale out.
Cio, anzich comperare un nuovo server pi veloce, acquistate pi
server e distribuite le operazioni tra di essi. Aggiungete un secondo
server e sarete in grado di avere il doppio degli accessi in lettura,
con un terzo il triplo e cos via. Se la vostra applicazione Web
richiede un grande numero di accessi in lettura al database,
la replicazione proprio la tecnica pi adatta per risolvere
il problema. Mantenendo sincronizzati con la copia master un certo
numero di server slave, potrete usare un load balancer,
un bilanciatore di carico o una tecnica simile per distribuire
le letture su tutti i server disponibili. Il secondo beneficio offerto
dalla replicazione consiste nellalta disponibilit (high availability
in inglese). Nel caso di un guasto hardware o di qualche altro
genere, la replicazione in grado di fornire un modo rapido per
riportare lapplicazione online, in alcuni casi addirittura prima che gli
utenti si rendano conto che esiste un problema.

Crescita verticale e orizzontale

I benefici

Cominciamo prendendo in considerazione i benefici offerti


alle applicazioni Web dalla replicazione. Immaginate di aver creato
una nuova Web App: il primo giorno avete solo 10 utenti;
il secondo giorno 20, poi 40, poi 80, poi lapplicazione viene
presentata su TechCrunch. Il sesto giorno vi ritrovate allimprovviso
con un numero significativamente maggiore di utenti, nellordine
delle decine di migliaia, tutti desiderosi di usare la vostra
applicazione nello stesso istante. Naturalmente, dato che avete
scritto il vostro software in modo da essere facilmente scalabile,
usando Node.js e Nginx, i server di front-end non danno problemi.
Il server del database, invece, inizia a scricchiolare sotto il nuovo
carico, il tempo di download delle pagine aumenta a dismisura
e gli utenti cominciano ad abbandonarvi anzich attendere che
la situazione migliori. Ci sono due possibili soluzioni a questo
problema cruciale: fare uno scale up del servizio o uno scale out.
Potremmo tradurre i due termini parlando di crescita verticale

Immaginate di nuovo lo scenario: la vostra applicazione Web usa


un database per conservare le informazioni relative ai tipi di gatto
preferiti dagli utenti. Lapplicazione deve essere in grado di scrivere
nuove informazioni nel database e di recuperare da esso quelle
vecchie. Se il server ha un problema. lapplicazione smette
di funzionare e gli utenti se ne vanno altrove, magari in un sito
dedicato ai porcellini dIndia. Ovviamente siete dei tipi responsabili
e create regolarmente copie di sicurezza del vostro database,
ma in caso di guasto al server il servizio rimarr a lungo non
disponibile. Dovrete trovare un nuovo server, installare il sistema
operativo e il software del database, configurarli e ripristinare
il backup pi recente dei dati. Lultimo passo, tra laltro, pu
richiedere parecchio tempo per una grande mole di dati,
anche parecchie ore. Se, al contrario, stavate usando la
replicazione, potreste ridirigere il traffico verso un server slave.
Questoperazione richiederebbe non pi di alcuni minuti (anche

O
intermedio

72

Linux pro 133

LXP_133_72_75_tut_MariaDB 72

29/10/13 12:03

MariaDB Tutorial
meno se vi sarete affidati a procedure automatiche) e la vostra
applicazione riprenderebbe a funzionare pressoch
istantaneamente. inoltre, avere un server slave aggiornato permette
anche di eseguire dei backup accurati senza pregiudicare
le prestazioni o la disponibilit della vostra applicazione Web.
inoltre possibile installare e collaudare gli aggiornamenti
del software senza il rischio di danneggiare i dati.

Come funziona la replicazione?


La tecnica di replicazione usata dalla famiglia del database MySQL
(oracle MySQL, MariaDB, Percona, ecc.) in generale
un processo molto semplice. Sul server master bisogna attivare
il Binary Log (registro binario): si tratta di una funzionalit che
registra tutte le modifiche ai dati contenuti nel database master.
registra cio tutte le istruzioni insert, update, alter, ecc, ma non
registra le istruzioni di tipo select. il server replica legge poi questo
registro binario e copia i record nel suo relay log (queste
operazioni sono eseguite nel thread di i/o). i record del relay log
sono poi a loro volta letti e le azioni in essi descritte sono eseguite
sulla copia locale dei dati (questo viene eseguito allinterno
del thread SQL). in questo modo i dati del server slave sono
mantenuti allineati a quelli del master. importante notare come
questo approccio alla replicazione non sia sincrono. il master non
attende cio che lo slave completi loperazione di aggiornamento
prima di fare qualcosaltro: quindi possibile che lo slave risulti
leggermente disallineato rispetto al master. Se usate lo slave
per le operazioni di lettura, i vostri utenti potrebbero vedere dati
leggermente vecchi e non aggiornati. Se invece promuovete
a master uno slave, potreste scoprire di aver perso qualche
transazione. Questo inevitabile, ma se progettate con attenzione
la vostra applicazione Web potrete mitigare il problema. ora che
sapete cos la replicazione, perch pu risultare molto utile e pi
o meno come funziona, vediamo come configurare la replicazione
tra due server MariaDB. per seguire questa parte del tutorial avrete
bisogno di accedere a due macchine, entrambe sulla medesima
sottorete. nellultima pagina del tutorial mostriamo come
configurare allo scopo due macchine virtuali.

Avviare la replicazione
una volta configurate le due macchine bisogna eseguire tre
operazioni per avviare la replicazione tra le due macchine:
1 creare un utente per la replicazione su ciascuna macchina;
2 configurare ciascuna macchina per la replicazione;
3 dire allo slave di iniziare a replicare i dati dal master.
per completare il primo passo dovete creare su ciascuna macchina
un utente del database MySQL (nel seguito useremo questo

impostare correttamente le opzioni allinterno di my.cnf di vitale importanza


per un corretto funzionamento della replicazione. Per fortuna la versione presente
su openSUSe piena di commenti

termine per indicare un generico database della famiglia


compatibile) che abbia i permessi richiesti per la replicazione. Come
per aggiungere qualsiasi altro utente a un database MySQL, dovrete
eseguire il login nella console MySQL e usare il comando grant:
mysql -uroot -p
grant replication slave, replication client on *.* to
test@192.168.69.% identified by password;
il comando usato per concedere permessi agli utenti del
database, ma anche in grado di creare un utente nel caso
si cerchi di modificare i permessi di un utente che non esiste gi.
nel nostro caso abbiamo garantito i permessi replication slave
e replication client su tutti i database e su tutte le tabelle (*.*)
allutente test, identificato dalla password password. Abbiamo
inoltre specificato che lutente di replicazione pu collegarsi
solamente da macchine che si trovano sulla rete locale:
test@192.168.69.%. Lutente ha accesso a tutti i dati
nel database (attraverso i log binari), quindi si tratta di una
precauzione sensata.

Modifiche alla configurazione


del server MySQL
Fatto questo, dovrete apportare alcune modifiche
alla configurazione del server MySQL per abilitare

Log binari e backup


Labilitazione del log binario su un server provoca
una qualche riduzione delle prestazioni, perch
ogni operazione che modifica il database deve
essere scritta allinterno del database stesso
e nel log binario. nonostante ci, il log binario
utile anche per scopi diversi dalla replicazione,
e potreste prendere in considerazione lipotesi di
attivarlo su tutti i vostri server, che siano replicati
o meno. Questo perch potreste usarlo per
fornire una soluzione a grana fine per il backup.
insolito eseguire un backup completo di un
database pi di una volta al giorno, ma cosa

succede se il vostro database va in crash 23 ore


dopo il pi recente backup? Che quasi tutti gli
aggiornamenti di una giornata sono persi, a meno
che non abbiate abilitato il log binario. Quando
create il backup, fate in modo che lo script che
lo esegue prenda nota delle coordinate nel log
binario (posizione e nome del file di log). potete
farlo con i comandi show binary logs e show
master status. nel caso poi di un crash del
server, la prima cosa da fare eseguire un
ripristino del backup completo. Fatto questo,
potete rieseguire i log binari sul backup

ripristinato: tutte le operazioni di aggiornamento


eseguite a partire dallultimo backup e fino al
momento del crash del server saranno ripetute.
Quando questoperazione terminer avrete una
copia esatta del vostro database al momento del
crash. per rieseguire i log binary bisogna usare
lo strumento a riga di comando mysqlbinlog:
mysqlbinlog --start-position <posizione-masterlog> <file-master-log> | mysql -uroot -p
Se volete esaminare le istruzioni eseguite, non
passate loutput del comando direttamente a
MySQL con una pipe, ma ridirigetelo su un file.

Linux pro 133

LXP_133_72_75_tut_MariaDB 73

73

29/10/13 12:03

Tutorial MariaDB
la replicazione. Sul master, che nel seguito chiameremo repldemo, dovrete accertarvi che le seguenti opzioni siano presenti in /
etc/my.cnf:
log_bin = mysql-bin
server_id = 2
Sullo slave invece il file dovr presentarsi cos:
log_bin = mysql-bin
log_slave_updates = 1
server_id = 3
read_only = 1
La prima opzione, log_bin, abilita il log binario che, come spiegato
sopra, registra tutte le modifiche ai dati sul server master perch
siano copiate dal server replica. La seconda opzione d un
identificativo univoco al server. Tutte le macchine in una catena di
replicazione devono avere un server_id differente e, dato che il
default 1, una buona idea quella di assegnargli esplicitamente
un valore diverso, in modo da non partire accidentalmente con due
server con lo stesso iD. Sullo slave sono presenti due ulteriori
opzioni: labilitazione di log_slave_updates dice allo slave
di aggiungere gli eventi di replicazione al suo log binario. Questo
significa che lo slave pu, se necessario, agire come server master
di un altro server slave. Catene di replicazione di questo genere
possono risultare utili in taluni scenari, e abilitare gli aggiornamenti
per default pu semplificare la promozione di uno slave a master
nel caso di un guasto. infine, sullo slave abbiamo impostato
lopzione read_only. Questo potrebbe non essere necessario,
dipende dalla vostra configurazione, ma un buon sistema per
impedire che unapplicazione configurata male possa scrivere nel
database del server slave e causare inconsistenze con i dati
presenti sul master. Dopo aver modificato /etc/my.cnf su entrambi
i server dovrete riavviare il servizio MySQL usando lapposito
strumento messo a disposizione dalla vostra distribuzione, come ad
esempio Systemctl.

Cambiare padrone...
A questo punto siete finalmente pronti per avviare
la replicazione sullo slave. Sul master dovrete dare il comando
show master\G e prendere nota dei valori relativi al file di log
binario e alla posizione al suo interno. poi, sullo slave, digitate il
seguente comando:
change master to
master_host = 192.168.69.1,
master_user = test,
master_password = password,
master_log_file = mysql-bin.00004,
master_log_pos = 245;

Assicuratevi di inserire i valori esatti letti sul master per master_


log_file e master_log_pos. Fatto questo, usate il comando start
slave e poi show slave status\G per vedere se la replicazione sta
funzionando. Se tutto a posto dovreste vedere slave_sql_
running=yes e slave_io_running=yes. potete facilmente
verificare se funziona tutto regolarmente eseguendo alcuni
comandi sul master e verificando se vengono replicati sullo slave.
potreste ad esempio creare un database sul master:
create database lxp;
un rapido show databases; sullo slave dovrebbe mostrare
il nuovo database. Buon divertimento!

Replicare un database esistente


nellesempio qui sopra abbiamo iniziato la replicazione con due
database vuoti. Se invece avete un database gi pieno di dati da cui
volete iniziare a replicare, dovrete eseguire qualche operazione
in pi. per prima cosa dovrete verificare che il master abbia
le impostazioni necessarie nel file my.cnf, come mostrato nel testo
principale. Se non ci fossero aggiungetele e riavviate il server.
Dovrete poi bloccare la scrittura di nuovi dati nelle tabelle del
master. Esistono vari modi per ottenere questo risultato, il pi
semplice consiste nel fermare il processo MySQL con Systemctl
o con un comando simile; potete anche dare il comando flush
tables with read lock dalla console MySQL. Fatto questo,
segnatevi il nome del file di log e relativa posizione sul master
dando il comando show master status\G, come spiegato sopra,
e poi create una copia del database master. una volta creata
la copia potrete riavviare MySQL o rilasciare il lock sulle tabelle.
Lultimissima cosa da fare consiste nel mettere la copia del
database nella directory dei dati del nuovo slave, riavviare
il processo del server MySQL e poi dare il comando change
master to esattamente come sopra. La parte pi difficile
ottenere la copia dei dati, perch pu richiedere molto tempo e
quindi causare un blocco della vostra applicazione. La soluzione
migliore del problema consiste nellinstallare la directory dei dati del
database su LVM o su un filesystem come btrfs o zfs. potrete allora
eseguire uno snapshot della directory, cosa che, spesso, richiede
meno di un secondo, e poi far ripartire database e applicazione.
potrete poi copiare i dati dallo snapshot senza ulteriori interruzioni.
perch occorre fermare gli aggiornamenti dei dati durante la
copia? perch lo slave deve iniziare a replicare dal punto esatto
in cui la sua copia del database stata aggiornata, punto
rappresentato da posizione e file di log. ogni volta che viene
eseguito un nuovo aggiornamento, la posizione nel file di log
cambia e, se non si pone un lock sulle tabelle, non sar possibile
avere le esatte coordinate di log della copia. LXP

Sharding dei database


La replicazione su uno o pi slave utile solo per
le operazioni di lettura, non per quelle di scrittura.
possibile creare un sistema di replicazione mastermaster in grado di eseguire scritture su pi macchine,
ma sarebbe una cattiva idea. potreste alla fine
ritrovarvi con quello che noto come split-brain,
un cervello diviso in cui ciascun server si ritrova con
versioni diverse dei medesimi dati. Questo porta
a corruzione dei dati e deve essere evitato a ogni
costo. inoltre, replicando le operazioni di scrittura non
si ottiene nessun beneficio di scalabilit. ogni scrittura
deve essere replicata su tutti gli slave, quindi se

74

scrivete una volta su un master ci sar unoperazione


di scrittura in pi per ciascuno slave. Se volete
incrementare le prestazioni in scrittura della vostra
applicazione, una delle soluzioni pi comuni consiste
nelleseguire uno shard dei database. Vengono creati
pi database, ognuno responsabile di una parte
dei dati (shard in inglese significa frammento),
e le scritture vengono suddivise tra di essi. i database
vengono spesso divisi in base agli account degli utenti
(il primo milione di utenti usa un database,
il successivo milione di utenti un altro) oppure alla
geografia (un database per gli utenti in Europa e un

altro per lAsia). Esistono anche molte altre possibilit,


dipende dalla singola applicazione. il programma per
deve essere scritto in modo da funzionare con
un database diviso in shard, in modo da inviare
le interrogazioni a quello corretto. occorre creare
una tabella indice su un database condiviso, che
specifichi su quale database si trova ciascun utente,
in modo che, se lapplicazione deve usare i dati di
un utente, sappia a quale database connettersi. Come
lindice di un libro, la tabella indice risulta molto pi
piccola della tabella degli utenti e le ricerche al suo
interno sono pi veloci di quelle nellintero database.

Linux pro 133

LXP_133_72_75_tut_MariaDB 74

29/10/13 12:03

MariaDB Tutorial
Passo passo Clonare una macchina

Installate una macchina in VirtualBox

Installate una macchina virtuale con la distro di vostra scelta in VirtualBox.


Selezionate Impostazioni e assicuratevi di averla configurata in modo da avere due
interfacce di rete: 1) NAT, 2) Rete interna. Configurate eth0 (la prima interfaccia)
in modo da usare DHCP. Questo vi garantir laccesso a Internet.

Installate MariaDB

Usando il gestore di pacchetti della vostra distribuzione, installate MariaDB


e MariaDB-client (o i pacchetti equivalenti). Configurate MariaDB in modo
che parta al boot usando Chkconfig, Systemctl o lequivalente comando
della distribuzione usata.

Riavviate e fate ripartire la rete

Dovrete poi avviare la nuova macchina e assegnare il nuovo hostname,


modificando eth1 in modo da usare lindirizzo IP 192.168.69.2/24.
Fatto questo, fate ripartire la rete.

Configurate le interfacce di rete

Dovrete configurare la seconda interfaccia, eth1, in modo da avere come indirizzo IP


192.168.69.1/24; configurate inoltre entrambe le interfacce in modo da partire
al boot. Impostate il nome dellhost a repl-demo (opzionale). Assicuratevi inoltre
che il firewall permetta laccesso alla porta 3306 dalla rete locale.

Clonate la macchina

Spegnete la macchina e poi, in VirtualBox, cliccate con il tasto destro


e clonatela, chiamando la nuova macchina repl-demo-a. Assicuratevi
di aver spuntato la casella Inizializza nuovamente lindirizzo MAC
di tutte le schede di rete.

Riavviate e provate

Verificate ora che tutto funzioni correttamente. Avviate la prima macchina


(la seconda gi in esecuzione dal passo precedente) e verificate che le due
macchine siano in grado di comunicare tra loro usando ping.

Linux pro 133

LXP_133_72_75_tut_MariaDB 75

75

29/10/13 12:03

Concetti

Ritorno alle basi:


scrivere un programma
Continua la guida di Linux Pro sulla programmazione Python.
Questo mese, vedremo come concludere il nostro clone di cat

el corso degli ultimi due mesi abbiamo fatto parecchia


strada, implementando la possibilit di riprodurre
in output il contenuto di pi file, la possibilit di
visualizzare in output le stringhe ricevute dallo standard input,
la capacit di determinare le opzioni inviate dallutente
al nostro programma. Tutto
ci che ci resta da fare
aggiungere lopzione per
visualizzare il numero di riga
stampata e mettere il tutto
assieme per creare un unico
programma funzionante.

presentarvi questo aspetto della programmazione in Python.


Potreste, in ogni caso, con un po di attenzione,
implementare la stessa funzionalit utilizzando alcuni cicli
innestati, anche se non sarebbe molto leggibile come
soluzione. Quando lavorate su programmi complessi, cercate
di pensare a come potete
organizzare il lavoro in modo
da mantenere il vostro codice
semplice da leggere;
distinguere con semplicit
quali variabili sono utilizzate
dalle varie funzioni,
semplificare aggiornamenti, ampliamenti o laggiunta
di nuove funzionalit pu essere cruciale. Per rendere
il tutto pi semplice, esistono diversi paradigmi che aiutano
a gestire la complessit. Uno di questi paradigmi la
programmazione a oggetti. Nella programmazione a oggetti,
gli elementi che compongono il programma sono separati
in oggetti che contengono gli stati, che sono delle variabili
che descrivono la condizione attuale delloggetto, e i metodi,
che ci permettono di compiere delle azioni sulle variabili
o sulloggetto stesso. un modo molto naturale di pensare,
perch rispecchia molto da vicino il mondo reale. Possiamo
descrivere un set di propriet della nostra mano, come avere
cinque dita in posizioni specifiche, e possiamo descrivere
metodi o cose che possiamo fare con la nostra mano, per
esempio muovere un dito per premere un tasto o tenere
una tazza. La nostra mano un oggetto, con stati e metodi
che ci permettono di lavorare con essa. Stiamo per
trasformare il nostro programma cat in un oggetto,
dove i suoi stati registrano quante linee sono state mostrate,
e i suoi metodi eseguono lazione del programma cat,
visualizzare il contenuto dei file sullo schermo.

un metodo naturale di
pensare perch rispecchia
quello del mondo reale

Oggetti
Nellultimo tutorial abbiamo concluso dicendo che esistono
diversi modi per implementare nel nostro programma
lopzione che conta le righe. Ora vi mostreremo come
implementare questa funzionalit utilizzando un approccio
a oggetti, perch questo ci offre un buon pretesto per

Gli oggetti in Python

Per dimostrare il corretto funzionamento, ecco unesecuzione della nostra


implementazione di cat, con tutte le opzioni abilitate

76

Linux pro 133

Python implementa gli oggetti attraverso un sistema a classi.


Una classe un template, e un oggetto una particolare
istanza di quella classe, modellata sul template. Definiamo
una nuova classe utilizzando una keyword, in modo molto
simile a come definiamo una funzione;
class CommandoCat:
Allinterno della classe, specifichiamo dei metodi (funzioni)
e degli stati che vogliamo associare a ogni istanza
delloggetto. Esistono alcuni metodi speciali, che spesso
vengono utilizzati. Uno di questi il metodo init. Questo
metodo viene eseguito quando la classe istanziata in un

Concetti
oggetto, e ci permette di specificare le variabili che vogliamo
appartengano a quelloggetto.
def __init__(self):

self.conta = 1
In questo caso, abbiamo assegnato il valore 1 alla variabile
conta, e utilizzeremo questa variabile per registrare quante
righe sono state visualizzate. Avrete probabilmente notato
la variabile self passata come primo argomento al metodo,
e vi starete chiedendo cos. Bene, questa la differenza
principale tra i metodi e le funzioni. I metodi, anche quelli
sprovvisti di altri argomenti, devono avere la variabile self.
una variabile popolata in automatico, che punta sempre
allistanza delloggetto su cui state lavorando. Quindi
self.conta una variabile esclusiva dellistanza delloggetto
CommandoCat.

Il metodo run
Ora abbiamo bisogno di un metodo che esegua la logica
appropriata a seconda di quali opzioni sono impostate.
Lo abbiamo chiamato metodo run:
def run (self, i, opzioni):
#set opzioni di default
e =
for riga in i:
#modifichiamo la riga a stampa in base alle opzioni
if opzioni.showend:
[mese scorso]
if opzioni.shownum:
riga = {0} {1},format(self.conta, riga)
self.conta += 1
print(riga, end = e)
Da notare il fatto che abbiamo passato la variabile self
anche a questo metodo. Gli altri due argomenti verranno
passati alla funzione in seguito, quando la chiameremo,
esattamente come una normale funzione. La prima, i, sar
una referenza al file da visualizzare, mentre la variabile
opzioni sar una referenza alle opzioni decodificate dal
modulo OptParse. La logica abbastanza chiara: per ogni
riga nel file corrente, modifichiamo la riga in base a quali
opzioni sono state impostate. Come abbiamo visto il mese
scorso, modifichiamo la riga aggiungendo come carattere
finale $\n o utilizziamo il metodo .format che vi abbiamo
suggerito di approfondire il mese scorso per aggiungere
la variabile conta, definita nel metodo init, al resto della riga.
A questo punto incrementiamo conta e stampiamo la riga.
La parte pi importante luso della variabile self.
Ci permette di referenziarci a variabili presenti nellistanza
delloggetto, che persistono anche quando il metodo run
ha concluso il suo lavoro. Fintanto che utilizziamo il metodo
run allinterno della stessa istanza delloggetto il conteggio
continuer progressivamente a contare le righe anche
cambiando file. Potrebbe sembrare pi naturale, visto che
abbiamo detto che un metodo corrisponde a unazione,
suddividere gli argomenti in metodi diversi, e potrebbe essere
un buon modo di approcciarsi al problema. Il motivo per cui
abbiamo deciso di farlo in questo modo che ci ha permesso
di avere un codice pi leggibile e meno soggetto a errori.
Ora tutto quello che rimasto da fare mettere assieme
il tutto. Faremo ci scrivendo una funzione main. Non
richiesta in Python, ma molti linguaggi di programmazione
utilizzano questo idioma, per questo lo faremo anche noi:

Il programma finito non molto lungo, ma ci ha dato la possibilit di introdurre molti


aspetti diversi del linguaggio Python

def main():
[opzioni per parsare il codice]
c = CommandoCat()
if len(args) > 1:
for a in args:
f=open (a,r)
c.run(f, opzioni)
else:
c.run(sys.stdin, opzioni)
Non abbiamo inserito la parte di codice vista la volta scorsa
dato che non ha subito modifiche. Quello che c di nuovo
la riga c=CommandoCat(). Questo il modo in cui
creiamo una nuova istanza della classe, cio generiamo
un oggetto. Loggetto c ora ha una variabile, conta, che
accessibile da tutti i suoi metodi come variabile self.conta.
Questo ci che ci permetter di tenere traccia del numero
di riga. Vediamo poi se sono stati passati degli argomenti.
Se ce ne sono, chiamiamo il metodo run delloggetto c per
ogni file passato, passando alla funzione il file stesso e tutte
le opzioni estratte utilizzando OptParse. Se non ci sono
argomenti, semplicemente chiamiamo il metodo run
passandogli sys.stdin al posto delloggetto file. Lultima
cosa che ci resta da fare chiamare la funzione main
quando il programma viene lanciato:
if __name__ == __main__:
main()
Le ultime due righe sono le pi strane di tutte, ma molto
utili in diverse circostanze. La variabile name una variabile
speciale, quando il programma viene eseguito da riga
di comando, o come applicazione standalone, impostata
a main; quando viene importato come modulo esterno
da un altro programma Python, non lo . In questo modo
possiamo eseguire automaticamente il metodo main
quando il programma viene chiamato, ma non quando
viene importato come modulo. LXP

Linux pro 133

77

Ruby on Rails

Il re dello sviluppo Web


Andiamo alla scoperta di ruby on rails, un potente framework open Source
scritto in ruby che pone al primo posto la felicit del programmatore

l banner che campeggia sulla homepage di Ruby on Rails non


esattamente quello che ci si potrebbe aspettare. non afferma che
rails il pi veloce, il pi potente o il pi completo dei framework;
sostiene invece che lobiettivo di rails quello di ottimizzare la felicit
e la produttivit del programmatore. Se in passato avete avuto a che
fare con altri framwework del genere, apprezzerete senzaltro questa
dichiarazione dintenti. Troppi strumenti di sviluppo sacrificano
la produttivit del programmatore in cambio di una maggiore
potenza nel codice. Fortunatamente rails non soltanto un potente
strumento, ma anche piacevole da usare! rails ha una struttura
che incoraggia la realizzazione di codice accuratamente progettato
e facilmente gestibile e lutilizzo di best practice in ciascuna fase dello
sviluppo. Questo significa che passerete meno tempo alla ricerca
di bug allinterno di codice criptico e involuto e nella scrittura di parti
ripetitive di codice standard, e avrete pi tempo da dedicare alla
realizzazione di cose interessanti. nel corso di questa serie di tre
articoli vedremo come rails ci pu aiutare non solo a realizzare
fantastiche applicazioni Web, ma anche a costruirle in una maniera
che ci renda soddisfatti e produttivi. in questa prima parte faremo
una veloce panoramica dello strumento, getteremo le basi della
nostra applicazione di esempio e vi aggiungeremo alcune funzionalit.

Installazione e configurazione
Anche se quasi certamente la vostra distribuzione mette a
disposizione i pacchetti per ruby, noi useremo rbenv per installare
ruby e rails, dato che permette di creare e gestire versioni isolate
di ruby allinterno della directory home di un utente. Gli sviluppatori
lo usano per essere in grado di accedere a differenti versioni di ruby
in base alle esigenze dei vari progetti, ma per noi il principale
vantaggio consiste nellevitare di modificare la configurazione del
sistema, cosa che richiede i privilegi di root, ed essere sicuri di partire
tutti dalla stessa versione del software. Cominciamo installando rbenv
e ruby-build con Git, il noto sistema di controllo delle versioni.
Se non avete Git dovrete installarlo usando il gestore di pacchetti
della vostra distribuzione. Aprite un terminale e scrivete:
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
informate poi la shell dellesistenza di rbenv aggiungendolo ai suoi file
di configurazione. Se non avete .bash_profile nella directory home,
modificate ~/.profile oppure date unocchiata alla homepage
di rbenv per informazioni.
$ echo export pATH=$HoME/.rbenv/bin:$pATH >>

La console
rails un framework per il Web, ma non
accessibile unicamente dal browser.
$ bundle exec rails console
Questo comando fa partire la console
interattiva di rails in cui potete eseguire
codice allinterno dellambiente rails,
ma senza bisogno di un browser.

78

Linux pro 133

potete aggiungere un nuovo task cos:


t = Task.create(:titolo => usare la
console, :scadenza => Time.zone.now +
10.minutes)
La console utilissima per sperimentare
con oggetti e metodi e acquisire
familiarit con essi.

~/.bash_profile
Bisogna anche aggiungere una riga che provvede allinizializzazione
di rbenv allavvio della shell:
$ echo eval $(rbenv init -) >> ~/.bash_profile
Fate ripartire la shell oppure aprite una nuova finestra e digitate
il comando rbenv: dovreste vedere comparire sullo schermo
il relativo messaggio di aiuto. Se funziona tutto possiamo installare
ruby, il linguaggio su cui si basa rails:
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/
ruby-build
$ rbenv install 1.9.3-p392
$ rbenv rehash
Fatto questo, il comando rbenv version dovrebbe stampare
il numero di versione di ruby e il percorso in cui si trova allinterno
della directory ~/.rbenv. in seguito useremo anche SQLite 3
per archiviare i dati: anche in questo caso il vostro gestore di
pacchetti dovrebbe essere in grado di installarlo, ad esempio cos:
$ sudo apt-get install sqlite3

Breve introduzione a Ruby


ruby stato pensato come un linguaggio che renda produttivi
e soddisfatti i programmatori. La sintassi si presta a una espressione
molto chiara delle idee e una comprensione operativa delle sue
funzionalit, semplici ma potenti, pu essere raggiunta in un paio
dore. in termini tecnici ruby un linguaggio object oriented: tutto
quello con cui interagite trattato come una scatola autonoma
di dati su cui possibile eseguire operazione per mezzo
dei metodi. per esempio:
a = una stringa
a.reverse # agnirts anu
vettore = [3, 2, 1]
vettore.sort # [1, 2, 3]
5.next # 6
in ruby passerete la maggior parte del vostro tempo definendo
e usando delle classi, che possono essere pensate come schemi
per la creazione di oggetti. Qui sotto definiamo una nuova classe
chiamata Persona, che sa di avere un nome e come fare un saluto:
class persona
attr_accessor :nome
def initialize(nome)
self.nome = nome
end
def saluta
Ciao, io sono #{nome}
end
end
paolo = persona.new paolo
paolo.saluta => Ciao, io sono paolo
una caratteristica interessante di ruby che le parentesi sono in larga
parte opzionali e certi caratteri non alfabetici possono essere usati nei

Ruby on Rails
nomi di funzione, quindi del tutto valido scrivere:
nome = Paolo
nome.is_a? String
vettore = [mela, arancia, nil]
vettore.empty?
vettore.compact!
Questo rende Ruby ideale per scrivere codice molto espressivo
e facile da leggere. Quello che segue codice Ruby eseguibile,
ma il suo significato del tutto evidente, anche ai non programmatori
(almeno a quelli che conoscano un po di inglese):
oggetti.each do |o|
o.update_timestamp and o.save! unless o.new_record?
end
Dora in poi ci concentreremo su Rails, ma vi raccomando di dare
unocchiata alla serie di articoli di introduzione a Ruby pubblicati
su Linux Pro 129/132.

Approntare Rails
Rails viene distribuito sotto forma di gemma, il formato di pacchetto
standard allinterno della comunit Ruby: procediamo quindi con la
sua installazione e con la creazione dello scheletro dellapplicazione:
$ gem install bundler
$ gem install rails --version=3.2.12
$ rbenv rehash
$ rails new todolist --skip-test-unit
Rails un framework con delle idee ben precise. C un posto giusto
per ciascuna cosa del suo mondo, a cominciare dalla struttura
predefinita dei file, e questa struttura comune a tutti i progetti.
Se usate Git per il controllo delle versioni dei sorgenti, apprezzerete
il fatto che Rails abbia piazzato degli appropriati gitkeep e gitignore
qua e l. Le dipendenze da altre librerie Ruby sono gestite attraverso
il file Gemfile che si trova nella directory radice del nuovo progetto.
Apriamolo e aggiungiamo quanto segue pi o meno alla riga tre:
gem therubyracer, ~> 0.11.4
group :development, :test do
gem rspec-rails, ~> 2.13.0
end
Poi, tornati al terminale, installiamo queste gemme con bundler
e lanciamo qualche magia post-installazione. Useremo queste librerie
il mese prossimo, quando impareremo cos il behaviour-driven
development, ma per ora possono essere ignorate:
$ bundle install
$ rbenv rehash
$ rails generate rspec:install

Esploriamo MVC
Rails segue il design pattern MVC (Model/View/Controller, cio
Modello/Vista/Controllore). Si tratta di una maniera astratta di pensare
la suddivisione delle responsabilit tra i differenti aspetti della vostra
applicazione. Rails fa corrispondere questi tre aspetti alle
corrispondenti sottodirectory della directory /app. I modelli sono
collezioni significative di dati che sono di solito molto specifiche
dellapplicazione. Utenti, Messaggi, Calendari, Compiti e Progetti sono
validi oggetti per un modello. responsabilit del modello gestire
la sua archiviazione su disco e le relazioni con gli altri modelli. Nella
nostra applicazione Task (compito) e Project (progetto) saranno dei
modelli. Le viste presentano i dati agli utenti finali. In unapplicazione
Rails questo di solito significa HTML, JSON, XML o PDF. Le viste
dovrebbero preoccuparsi di come visualizzare le cose e di non molto
altro. Rails mette a disposizione un certo numero di librerie di aiuto
per trasformare i modelli in HTML, risolvendo tra laltro i problemi
di internazionalizzazione e altre questioni del genere. Al centro della

Limpalcatura di Rails non produce forse le pagine pi belle del mondo, ma molto
utile per avere velocemente unapplicazione funzionante con codice ben progettato

triade stanno i controllori. Il loro compito consiste nellinterpretare


le richieste in arrivo dagli utenti e nel selezionare il modello corretto
da passare a una vista per la visualizzazione dei dati. Nella nostra
applicazione il controllore decide su quale Task operare, di che
operazione si tratta e quale template usare per la visualizzazione
dei risultati. Lutilit del pattern MVC risiede nel fatto che crea delle
precise aree di responsabilit. Ad esempio, un Task dovr possedere
alcuni requisiti per essere considerato valido, come ad esempio un
titolo e una data di scadenza. Il controllore non deve in alcun modo
sapere di cosa si tratta, ma deve sapere come chiedere a un Task sei
valido? e cosa spedire come risposta al browser dellutente in base al
risultato. Analogamente, un Task non ha bisogno di sapere nulla circa
lHTML, ma la vista sa come estrarre da esso un dato e presentarlo
come un modulo, una tabella e cos via. Vediamo come tutto questo
funziona in pratica costruendo la nostra prima funzionalit.

Creare i Task
$ bundle exec rails generate scaffold task titolo:string note:text
scadenza:datetime fatto:boolean
Questo comando genera uno scaffold (impalcatura): una versione
boilerplate, cio standardizzata, dello stack MVC per la classe Task.
Questa impalcatura contiene solo il codice strettamente necessario
alla manipolazione di una tabella di database chiamata tasks (Rails
genera automaticamente i plurali, per questo usiamo nomi inglesi: una
tabella compitos sarebbe un po ridicola...) per mezzo di un modello,
un controllore e un po di viste. Alla vista dello scaffold la maggior
parte delle persone reagisce in uno dei due seguenti modi: Oddio,
Rails scrive codice per me! oppure Ah, Rails solo un generatore
di codice standard. In effetti Rails non n luna n laltra cosa.
Lo scaffold inteso come punto di partenza per imparare a scrivere
codice Rails e per far funzionare velocemente lapplicazione.
Come suggerisce il nome, lo scaffold aiuta durante la costruzione,
non pensato per rimanere per sempre. Si limita a fornirci un
esempio idiomatico di codice in Rails. Rails ha creato un database
SQLite e una tabella per conservare i nostri oggetti. Tutto questo
stato ottenuto attraverso le migrazioni: file il cui nome contiene data
e ora di creazione che si trovano nella directory db/migrate. Da
notare che non abbiamo scritto nulla che ci leghi a uno specifico tipo
Linux pro 133

79

Ruby on Rails
di database. Anche se usassimo MySQL o PostgreSQL, questa
migrazione genererebbe lSQL corretto per creare la tabella.
Descrivendo le nostre tabelle in Ruby anzich in SQL siamo
in grado di adattarci a qualsiasi database. Digitiamo quindi il comando
che esegue la creazione vera e propria e poi facciamo partire
il server Web interno di Rails:
$ bundle exec rake db:migrate
$ bundle exec rails server
A questo punto potete visitare con il browser lURL
http://localhost:3000/tasks per iniziare a interagire con
lapplicazione (per ora solo la sua impalcatura) aggiungendo,
modificando e cancellando elementi. Nelle pagine relative alle
operazioni di creazione e modifica (new/*edit*) potrete apprezzare
come Rails abbia letto il formato delle colonne del database
e generato il tipo di campo appropriato: caselle di spunta
per i booleani, menu a tendina per le date, aree di testo per le
stringhe lunghe. Per terminare il server Rails basta premere CTRL+C.
Notate inoltre come Rails abbia anche deciso la struttura degli URL.
Per default Rails segue larchitettura REST (https://it.wikipedia.org/
wiki/REST). In pratica questo significa che tutti i progetti Rails
condividono la stessa relazione tra oggetti, controllori e URL. Questo
rende pi semplice la creazione di estensioni Open Source perch
tutte le applicazioni usano le stesse convenzioni. Il file config/routes.
rb responsabile della definizione della corrispondenza tra URL
e controllori, azioni e parametri, come vedremo in seguito. possibile
realizzare cose incredibili con il linguaggio di Rails dedicato al routing,
ma le impostazioni di default sono per ora pi che sufficienti.

Il modello
Aprite il vostro editor di testo allinterno della directory ./app:
cominceremo ad esaminare models/task.rb. Non c un granch,
vero? Le classi ActiveRecord di Rails si occupano di tutte le interazioni
con il database e vi lasciano liberi di concentrarvi sul comportamento
delloggetto. Tutto quello che il nostro modello contiene allinizio
una lista di attributi. Rails decider quali attributi dovr avere
un oggetto di tipo Task in base alle colonne della relativa tabella
del database. Noi dobbiamo solo essere sicuri di regolare laccesso
dellutente ai vari campi delloggetto, proteggendo quelli che lutente
non deve essere in grado di modificare. In pi Rails fornisce un gran
numero di funzioni di uso comune allinterno di unapplicazione che
si basa su un database, come quelle per la gestione delle relazioni
tra modelli e per la validazione dei dati inseriti. Un Task non molto
utile se non sappiamo di cosa si tratta, quindi accertiamoci di avere
un titolo prima di permettere che loggetto venga salvato. Aggiungete
la seguente riga allinterno della classe Task, in un punto qualsiasi
compreso tra la prima riga e lend finale:
validates :titolo, :presence=>true
Tornate ora al browser e provate a creare un task senza titolo:
comparir una pagina contenente un messaggio di errore. Il metodo
validate di Rails ci permette di imporre una vasta gamma di controlli
sui modelli, senza bisogno di scrivere del codice ogni volta che
abbiamo bisogno di essere sicuri che un campo sia di una certa
lunghezza, si trovi in un certo stato oppure che sia presente o assente.
Aggiungiamo un controllo leggermente pi sofisticato: non dovrebbe
essere possibile creare un oggetto di tipo Task con data di scadenza
nel passato. Modificate quindi task.rb aggiungendo le righe qui sotto
e poi provate a creare un nuovo oggetto gi scaduto:
validate :scadenza_nel_passato
def scadenza_nel_passato
errors.add(:scadenza, nel passato!) if scadenza < Time.zone.now
end

80

Linux pro 133

Rails dispone di un server web interno utilizzabile durante


la fase di sviluppo. Lanciatelo, visitate http://localhost:3000
e tenete docchio quello che succede allinterno del Terminale

Funziona, ma, aspettate: cosa succede se proviamo a marcare come


completato un task che scaduto? Modificate un task esistente
e gi scaduto e provate a salvarlo. Uhm, sembra che dobbiamo
essere pi precisi e specificare che la condizione si applica solo
ai task appena creati. Modificate quindi il vostro codice:
validate :scadenza_nel_passato, :on => :create
Ora Rails sa che deve applicare questa validazione solo quando
un nuovo record viene creato.

Il controllore
Quando dal browser abbiamo inviato i dati del modulo di creazione
di un task al server, come ha fatto Rails a trasformarli nei dati
da scrivere sul database e come ha deciso se doveva mostrarci
di nuovo il modulo oppure ridirigere il nostro browser alla pagina
di visualizzazione? Per rispondere a queste domande diamo
unocchiata a controller/task_controller.rb. Ogni metodo della
classe corrisponde a una delle possibili richieste che arrivano dal
browser di un utente. A seconda dellURL e del tipo di richiesta
(POST, GET, ecc), il sistema di instradamento di Rails eseguir
unazione di uno dei controllori presenti allinterno dellapplicazione
e spedir loutput al browser. Diamo unocchiata al metodo update:
def update
@task = Task.find(params[:id])
respond_to do |format|
if @task.update_attributes(params[:task])
format.html { redirect_to @task, notice: Task was successfully
updated. }
format.json { head :no_content }
else
format.html { render action: edit }
format.json { render json: @task.errors, status: :unprocessable_
entity }
end
end
end
Con un numero limitato di righe di codice otteniamo parecchi risultati.
Iniziamo recuperando uno dei nostri task per mezzo del metodo find
della classe Task, a cui viene passato il parametro id che Rails
ha estratto dallURL. Poi entriamo nel blocco respond_to, che la
maniera di Rails di trattare con i diversi tipi di output possibili. Per ora
non usiamo JSON, quindi concentriamoci sul formattatore HTML.
Per prima cosa proviamo il metodo update_attribute sul nostro
oggetto di tipo Task, passandogli i dati recuperati dal modulo.
Questo restituisce vero o falso in base al risultato delloperazione

Ruby on Rails
di aggiornamento delloggetto. Se non riusciamo a salvare i dati, nella
maggior parte dei casi a causa di un errore di validazione, il controllore
ripresenta allutente il modulo per la modifica, aggiungendo i messaggi
di errore. In caso di successo invece il browser viene ridiretto
a @task. Quando effettuiamo una ridirezione a un oggetto anzich
a un URL, Rails suppone che esista unazione show allinterno del
controllore che prende il nome da quello della classe. Notate tutto
quello che non abbiamo dovuto fare. stato possibile accedere
direttamente alla richiesta HTTP proveniente dallutente, perch
Rails lha analizzata e convertita automaticamente in oggetti Ruby
facilmente manipolabili da parte del nostro codice. Non stato
necessario conoscere i dettagli interni degli oggetti di tipo Task:
il controllore si semplicemente affidato a @task perch gestisse
il suo stato interno e si potuto concentrare sul risultato. Infine,
seguendo la convenzione sui nomi di Rails, siamo stati in grado
di eseguire la ridirezione o di mostrare la pagina di dettaglio senza
doverci preoccupare dei relativi URL o dei file di template delle
pagine. Forse tutto questo pu sembrare poca cosa, ma tenete conto
del fatto che la maggior parte delle pagine di ogni applicazione Web
del pianeta una collezione di visualizzazioni, modifiche, aggiornamenti,
creazioni o cancellazioni di record su un database. Rails fornisce solo
il corretto livello di astrazione per rendere pi semplice lintero
processo. Potete sempre entrare nei dettagli e modificare quello
che vi serve, ma in moltissimi casi questo non necessario.

La vista
Infine vediamo il linguaggio usato per i template delle pagine HTML.
Aprite la directory views/tasks: vedrete cinque file. Nella terminologia
di Rails quattro sono azioni e uno un parziale. Tutti sono scritti
nel linguaggio di default per i template usato da Rails: ERB. Si tratta
sostanzialmente di Ruby iniettato allinterno di file di testo. Anche se
questo significa che tecnicamente possibile chiamare un qualsiasi
metodo di Ruby dallinterno di un template, farlo fortemente
sconsigliato. I template dovrebbero preoccuparsi unicamente
della presentazione dei dati. In generale, se trovate pi di due righe
consecutive di Ruby allinterno di un template, vuole dire che c
qualcosa che non va. Allinterno del nostro template edit troverete
semplicemente il rendering di un altro template, il parziale form.
Questo ha senso se pensate che aggiornare un task esistente
e crearne uno nuovo sono essenzialmente lo stesso processo.
Perch tenere due copie dello stesso modulo quando possibile
semplicemente riutilizzarne uno? Questo illustra un altro principio

Il posto migliore per cercare altre informazioni su Rails


http://rubyonrails.org, la homepage del progetto. Troverete
numerosi screencast, link ad altri tutorial e tutti i dettagli
che vi servono per progredire nelluso di Rails

su cui si basa Rails: Do not Repeat Yourself (non ripeterti), o DRY.


Il codice deve esistere in unico posto canonico. Se dobbiamo avere
due copie dello stesso modulo allora una quasi certamente finir per
non essere allineata allaltra. DRY mantiene il codice pulito e la mente
sgombra. Esaminate ora il parziale _form.html.erb. Vedrete che
la maggior parte del template sta allinterno di form_for(@task).
Questo applica al nostro oggetto @task un form helper, cio una
funzione di utilit predefinita che permette di assegnare i dati
del nostro oggetto agli opportuni tag HTML, si occupa di mostrare
gli eventuali messaggi di errore e decide a quale URL deve puntare
il nostro modulo.

Aggiungiamo una funzionalit


Ora che sappiamo dove si trovano le cose, aggiungiamo una nuova
funzionalit alla nostra applicazione: i task dovrebbero avere una
priorit e quelli con priorit maggiore dovrebbero essere mostrati
allinizio della tabella. Per prima cosa abbiamo bisogno di un nuovo
campo nel modello per conservarci la priorit. Per fare questo
dobbiamo creare una nuova migrazione:
$ bundle exec rails generate migration add_priorita_to_tasks
priorita:integer
$ bundle exec rake db:migrate
Seguendo la convenzione di terminare il nome della migrazione con
quello del modello da modificare, Rails si incaricher di assicurarsi che
sia modificata la tabella corretta. Dobbiamo a questo punto modificare
il modulo per permettere agli utenti di assegnare una priorit
a un task. Apriamo il parziale del modulo e aggiungiamo nellHTML
un nuovo campo corrispondente al nuovo attributo del modello:
<div class=field>
<%= f.label :priorita %><br />
<%= f.text_field :priorita %>
</div>
Per poter accedere a questo nuovo campo dobbiamo specificare
nel modello che gli utenti sono abilitati a modificarlo:
class Task < ActiveRecord::Base
attr_accessible :fatto, :note, :scadenza, :titolo, :priorita
Facciamo in modo che gli utenti non tentino di fare cose strane, come
ad esempio assegnare alta alla priorit di un task...
validates :priorita, :numericality => true
Siamo ora in grado di specificare la priorit di un task. Ora rimane
solo da mostrarli nellordine corretto. Diciamo allazione index
del nostro controllore di richiedere espressamente che la collezione
sia ordinata per priorit cambiando la prima riga del codice, quella
in cui costruiamo @tasks:
@tasks = Task.order(:priorita)
Rails mette a disposizione una sintassi molto comoda per costruire
interrogazioni piuttosto complesse sul database senza bisogno
di usare lSQL. Per esempio, potremmo escludere dal nostro indice
tutti i task gi completati modificando il codice cos:
@tasks = Task.where(:done => false).order(:priorita)
Per assicurarvi che i task sono visualizzati nellordine corretto, provate
a modificare il template dellazione index in modo che visualizza
la priorit di ciascun task. A questo punto abbiamo creato una
applicazione Rails funzionante e ci siamo fatti unidea della maniera
corretta di fare le cose. Il mese prossimo ci concentreremo su quello
che forse la parte pi importante nella marcia di Rails verso la
felicit: il test driven development, cio lo sviluppo del codice guidato
dai test. Vedremo come indirizzare lo sviluppo delle funzionalit della
nostra applicazione per mezzo della creazione di test automatici
che vengono eseguiti in parallelo ad essa per verificare costantemente
la presenza di bug o di problemi di progettazione e per eliminare
il codice non necessario. LXP
Linux pro 133

81

Firefox OS

Mettiamo le mani
sul nuovo Firefox OS!

PARTE 2

Dopo una prima parte fortemente teorica giunta lora di sporcarci le mani!
Ecco cosa possiamo fare con il nuovo sistema operativo mobile e che novit porta...
Lautore
Alberto
Bottarini

ella prima parte di questa serie su Firefox OS


ci siamo dedicati, ahim, agli aspetti teorici del nuovo
sistema operativo di casa Mozilla. nonostante non sia
particolarmente divertente, la teoria un aspetto fondamentale
quando ci si imbarca in un nuovo progetto o in una nuova idea.
Con questa seconda parte, invece, creerete la prima applicazione
e inizierete a visionare le nuove Api introdotte da Mozilla
che permettono di sviluppare applicazioni Web che nulla hanno
da invidiare a quelle native.

Lemulatore
ogni produttore di dispositivi che si rispetti offre alla comunit
degli sviluppatori un emulatore, ovvero uno strumento software,
disponibile su pC desktop che appunto emula il comportamento
del dispositivo fisico permettendo quindi di sviluppare applicativi
senza dover per forza installare ogni volta lapplicazione sul
dispositivo. Lemulatore di Firefox oS, essendo derivato dal
motore di rendering Gecko, non nientaltro che un plug-in
standard di Firefox installabile quindi su qualsiasi sistema
operativo che supporti il famoso browser. puntiamo quindi il
nostro browser nel repository di add-ons di Firefox e scarichiamo
lemulatore (la versione corrente la 4.0). una volta installato,
lo troverete nel menu sotto le voci Tools Web Developer
Firefox OS Simulator. La sua interfaccia abbastanza
semplice: oltre a un intuitivo switch per avviare e spegnere
lemulatore, presente una lista di applicazioni (al momento
ovviamente vuota) e alcuni pulsanti per installare nuove
applicazioni sia puntando a una cartella locale sia tramite
urL al file manifest, che introdurremo tra poco.

La prima Web App


Firefox oS rappresenta benissimo il modello di Open Web Apps
ideato da Mozilla con unidea ben precisa in testa: offrire agli
sviluppatori una serie di strumenti per creare unesperienza
utente ricca di funzionalit e che possa essere resa accessibile
tramite una moltitudine di dispositivi siano essi smartphone, tablet

o desktop. il modello di open Web Apps prevede che ciascuna


Web App presenti un file descrittore, un manifest, che contenga
tutte le informazioni richieste da un browser per interagire con
essa. Secondo Mozilla proprio questo manifest che distingue
un semplice sito Web da una vera applicazione. il file manifest
conterr, per esempio, il nome e la descrizione dellapplicazione,
licona da mostrare nei vari menu e i permessi richiesti
dallapplicazione per poter essere eseguita. un normalissimo
file JSon composto da alcuni campi particolari:
{
name: FooApp,
description: A foo firefox oS webapp,
launch_path: /,
icons: {
128: /img/icon-128.png
},
developer: {
name: Alberto Bottarini,
url: http://www.sprea.it/
},
default_locale: it
}
Gli unici campi obbligatori del manifest sono name e description
mentre ne esistono una serie di opzionali; eccone i principali:
appcache_path: permette di includere nel manifest
un secondo descrittore relativo alla cache locale
dellapplicazione, molto utile per permettere lutilizzo
della vostra applicazione anche in condizione di connettivit
assente o limitata
default_locale: utile per i filtri nel Marketplace
developer: informazioni relative allo sviluppatore
fullscreen: serve a indicare se lapplicazione deve essere
lanciata in fullscreen o meno (utile per i giochi)
icons: elenco di icone in diversi formati
launc_path: path al quale il browser deve puntare
per visualizzare lapplicazione

Ecco come si presenta lemulatore appena installato: ancora nessuna applicazione presente, uno switch per attivarlo e una serie di pulsanti di utilit

82

Linux pro 133

Firefox OS
orientation: definisce gli orientamenti permessi
del dispositivo
permissions: identifica un elenco di permessi richiesti
dallapplicazione a partire da un set pubblico
version: identifica la versione corrente dellapplicazione.
Per creare la prima applicazione per Firefox OS, vi baster
quindi creare la vostra copia del json rinominandola in
manifest.webapp e creare un file HTML e licona per
richiamare lapp dal menu. Come abbiamo visto, lemulatore
in grado di installare applicazioni sia da URL sia da cartelle
locale. Noi consigliamo caldamente di utilizzare sempre
la prima scelta, magari configurando un VirtualHost dedicato
in modo da ragionare sin dallinizio come se la Web App
fosse installata in un ambiente definitivo.

Web API
Firefox OS si basa completamente su API definite da Mozilla gi
standardizzate dal W3C o in fase di standardizzazione. Alcune di
queste sono API classiche che esistono nel mondo del Web gi
da tempo ma la maggior parte sono nate in seguito al progetto
Firefox OS. Alcune di queste API verranno rese disponibili
in futuro anche su desktop e su dispositivi Android, mentre
altre rimarranno disponibili solamente su Firefox OS. Il modello
previsto da Mozilla presenta diverse tipologie di API in relazione
al concetto di permission:
spesso per poter utilizzare una API necessario inserire
la permission nellapposito namespace del manifest (per esempio
le geolocation API richiedono la permission geolocation);
alcune API hanno accesso senza limiti (per esempio
le vibration API);
infine alcune API sono disponibili solamente alle applicazioni
certificate (ad esempio le Telephony API o le Power
Management API).

Chiamate HTTP e CORS


Una delle innovazioni pi importanti derivanti dallutilizzo delle
Web API riguarda le chiamate effettuate verso servizi esterni.
Prima di queste specifiche lunico strumento per effettuare da
codice invocazioni remote era tramite loggetto XMLHttpRequest
messo a disposizione dai diversi browser. Questo oggetto per
presentava una limitazione, dettata soprattutto da policy di
sicurezza, che permetteva di effettuare chiamate solamente verso
risorse appartenenti allo stesso dominio dal quale veniva eseguito
il codice. Questa policy prendeva il nome di same-origin policy.
Le nuove Web API proposte da Mozilla introducono CORS,
un nuovo meccanismo, basato su nuovi header HTTP, che
permette di ovviare a questa limitazione mantenendo per
le stesse sicurezze offerte dalla same-origin policy. Il suo
funzionamento abbastanza semplice: vengono inviati nuovi
header HTTP che permettono al server di descrivere quali domini
sorgenti (origin) hanno il permesso di accedere alla risorsa
richiesta tramite un browser Web. Oltre al semplice permesso
espresso in forma booleana, possibile specificare ulteriori filtri
per esempio il metodo HTTP da utilizzare. Per realizzare un
esempio di applicazione che utilizza questa tecnologia abbiamo
bisogno di configurare Apache per gestire due virtualhost,
rispettivamente per hostare lapplicazione (cors.test-app)
e i servizi Web (cors.test-server). Il secondo virtualhost deve
inoltre includere questa direttiva per permettere la ricezione
e linvio dei dati dal primo virtualhost:
Header set Access-Control-Allow-Origin http://cors.test-app
Una volta configurato Apache potete dedicarvi allapplicazione

Lemulatore, una volta avviato, verr visualizzato allinterno di una comoda popup

Il modello di sviluppo basato su Open Web App e consigliato caldamente


da Mozilla

Linux pro 133

83

Firefox OS

Lapplicazione finalmente installata! Si pu notare la tipologia di applicazione (che in questo caso hosted), lerrore legato ai permessi
(INVALID nel risultato) e la tendina effettivamente modificata per forzare la validit

Tip
AllurL
http://mzl.
la/1cG6pqu
possibile
visionare
lelenco delle
Api presenti in
Firefox oS con
il riferimento alla
tipologia minima
di applicazione
(hosted
o privileged) e il
comportamento
di default (allow
o prompt).

84

server creando il file data.json allinterno del virtualhost


test-server (ovviamente in un ambiente reale il file sar
creato dinamicamente da qualche applicativo):
H{
name:Alberto
}
e assicuratevi che sia fornito da apache con il giusto content-type
grazie al file .htaccess:
AddType application/x-web-app-manifest+json .webapp
potete ora spostarvi sulla applicazione vera e propria.
per effettuare chiamate HTTp necessario chiedere
una particolare permission (la systemXHR) agendo sul manifest.
webapp in questo modo:
permissions: {
systemxHr: {
description: per effettuare chiamate
a cors.test-server
}
}
Create quindi il vostro index.html, vero cuore dellapplicazione,
inserendo questo script:
<!doctype html>
<body>
<head>
<script>
var xhr = new xMLHttprequest({mozSystem: true});
xhr.open(GET, http://cors.test-server/data.json, true);
xhr.onreadystatechange = function(evt) {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
var data = JSon.parse(
xhr.response);
document.body.innerHTML =
Hello + data.name;
}
}
}
xhr.send();
</script>
</head>
<body>
</body>
</html>
La parte interessante sicuramente quella contenuta nella
<head> del documento: viene istanziato loggetto
xMLHttprequest con un particolare parametro mozSystem,
configurato lurL della chiamata e definita una funzione callback
di puro debug che mostra allinterno del <body> un saluto
recuperando il nome dal JSon scaricato dal server.
Lapplicazione ora pronta per essere lanciata. Aggiungendola
al vostro simulatore per otterrete un messaggio di errore relativo
al permesso richiesto systemxHr. Questo perch, essendo

Linux pro 133

unapplicazione Web, non abbiamo la possibilit di utilizzare


questa funzionalit aggiuntiva che, ricordiamo, viene resa
disponibile solamente alle applicazioni privileged. ovviamente,
dato che siamo in fase di sviluppo, possibile ovviare questo
errore agendo sulla tendina laterale forzando lo stato valid. Dopo
questa modifica lapplicazione pronta per essere testata.

App API
il secondo set di Api che verr introdotto riguarda la possibilit
di gestire da Api le applicazioni del dispositivo, installarne
di nuove e aggiornarne di gi presenti. Queste Api sono esposte
attraverso loggetto window.navigator.mozApps (che verr poi
standardizzato in window.navigator.apps). Senza dubbio il metodo
pi importante install che appunto scatena linstallazione
di una applicazione sul dispositivo o eventualmente lupgrade
se la stessa risulta gi installata a partire dallurL del file manifest
descrittore. il suo funzionamento , coerentemente con la natura
del linguaggio JavaScript, asincrono:
var manifesturl = http://..../manifest.webapp;
var installationrequest = window.navigator.mozApps.
install(manifesturl);
installationrequest.onsuccess = function() {
alert(Applicazione installata con successo!);rties of the
returned object, as shown in this ex
}
installationrequest.onerror = function() {
alert(Errore!);
}
Altri metodi interessanti possono essere getSelf, che permette
di ottenere informazioni sullapplicazione corrente,
e checkInstalled che restituisce un elenco di applicazioni
installate dalla stessa origine dellapplicazione corrente.
Sia questi metodi che quelli aggiuntivi avvengono in maniera
asincrona come avete visto nel metodo install.

Web App offline


Durante lo sviluppo di applicazioni Web classiche, il problema del
funzionamento in situazioni di bassa o scarsa connettivit non
assolutamente un aspetto prioritario da tenere in considerazione.
Spostandovi per nel mondo mobile, questo non solo acquisisce
pi importanza ma diventa bens un aspetto fondamentale se
volete offrire agli utenti unesperienza duso il pi ricca possibile.
per questo motivo le Web Api introducono una serie di strumenti
utili a questo scopo. Lapplication cache un meccanismo che
permette agli sviluppatori di definire quali risorse devono essere
salvate e rese disponibili anche agli utenti offline. Le direttive
per la gestione di questa cache sono contenute in un particolare
file, il cache manifest che pu essere associato a una
applicazione direttamente dal manifest (propriet
appcache_path). il cache manifest contiene gli urL delle risorse
da gestire e pu essere strutturato in tre diverse sezioni:
CACHE: identifica quali file devono essere messi in cache una

Firefox OS
volta scaricati (questa la sezione di default);
nETWorK: identifica quali file devono essere sempre richiesti
da remoto;
FALLBACK: identifica una serie di risorse alternative da offrire
se non disponibili.
Ecco un esempio di cache manifest:
CACHE MAniFEST
# v1 2011-08-14
# This is another comment
index.html
image/logo.png
css/style.css
js/main.js
nETWorK:
api/*
FALLBACK:
pagina2.html pagina2-offline.html
il secondo strumento offerto dalle onLine API, una serie
di propriet e di listener che permettono di alterare
il comportamento dellapplicazione in base allo stato
di connettivit. Avrete a disposizione sia la variabile navigator.
onLine che due listener, online ed offline.
//se sono online mostro la chat, altrimenti la nascondo
if(navigator.onLine) {
document.getElementByid(chat).style.display = block;
} else {
document.getElementByid(chat).style.display = none;
}
window.addEventListener(online, function(e) {
document.getElementByid(chat).style.display = block;
});
Lultima interfaccia utile per lo sviluppo di applicazioni Web
che vogliono offrire funzionalit anche se lutente offline
il local storage. Esso rappresenta un sorta di dispositivo
di memorizzazione basato sulla logica chiave/valore.
Vi permette di avere un hash di memorizzazione locale
che pu fungere da cache in attesa che la connettivit ritorni
disponibile. Supponiamo di dover sviluppare un client di posta.
Durante i periodi di connettivit assente lapplicazione
potrebbe salvare eventuali bozze localmente appunto
in questo storage e, una volta che la connettivit risulti
disponibile, inviare il messaggio al server confermando di fatto
la mail. Loggetto disponibile nella variabile localStorage
e i metodi per agirvi sono molto semplici:
//aggiungo un nuovo record
localStorage.setitem(message, Hello world!);
//recupero un record
var message = localStorage.getitem(message);
//elimino un record
localStorage.removeitem(message);
Loggetto localStorage non lunico storage disponibile:
esistono anche un sessionStorage, disponibile solamente

Ecco come si presenta il Firefox Marketstore: sono gi disponibili molte applicazioni

per una sessione di utilizzo, e il globalStorage, per deprecato


e non pi da utilizzare.

Non finisce qua...


ovviamente questi sono solamente alcuni degli esempi di nuove
Api presenti nel vasto mondo delle open Web App. Mozilla
direttamente coinvolta nel processo di definizione
e standardizzazione di nuove specifiche e per questo largomento
rimane di forte attualit e, sfortunatamente, suscettibile anche
a modifiche, principalmente a quelle Api non ancora approvate
dagli organi di standardizzazione. La maggior parte delle Web
App Api sono disponibili anche sui maggiori browser per desktop
con Firefox, ovviamente, a fare da aprifile; per questo motivo
eventuali test o approfondimenti possono essere tranquillamente
lanciati anche senza lemulatore di Firefox oS. LXP

CORS e JSONP
CorS una tecnologia recentissima, disponibile ancora
su poche piattaforme. in passato sono per esistite alternative,
utilizzate in ambito Web, per ovviare questa limitazioni. La pi

diffusa sicuramente JSonp, che permette di ricevere oggetti


in JSon solamente tramite chiamate GET. Questa tecnologia non
per accessibile in Firefox oS in quanto soppiantata da CorS.

Linux pro 133

85

Android

Librerie OpenGL:
texture e touchscreen
Dopo lintroduzione dello scorso numero, scoprite come integrare
touchscreen, movimenti sullo schermo e texturing

ndroid supporta OpenGL per migliorare il rendering


grafico e, nello specifico, come approccio Open
Source alla grafica 3D. Nello scorso numero avete
scoperto come disegnare forme e colori, gestire la vista della
fotocamera, la proiezione su schermo e i primi movimenti;
in questo tutorial imparerete a spostare gli oggetti in funzione

dei tocchi sullo schermo e darete uno sguardo alle tecniche,


moderatamente complesse ma utili, per applicare le texture.
Come nel numero precedente utilizzerete OpenGL ES 2.0,
supportato da Android 2.2 in poi. Ricordate inoltre di non
utilizzare lemulatore, dato il mancato supporto OpenGL 2.0,
ma di collegare un vero dispositivo per il debugging.

Traslazioni e touch screen


Per prima cosa, ideale affrontare le traslazioni (spostare
gli oggetti nello spazio) senza integrare il touchscreen. Anche
in questo caso dovrete lavorare con le matrici, translateM().
Aggiungete queste due righe dopo la rotazione in

CISGLRenderer.onSurfaceCreated():
Matrix.setIdentityM(iMatrix, 0);
Matrix.translateM(iMatrix, 0, 0.2f, 0.2f, 0f);
Dovrete inoltre creare la variabile iMatrix come variabile
di classe e aggiungere una linea extra in onDrawFrame()
dopo la moltiplicazione tra matrici:
Matrix.multiplyMM(uMVPMatrix, 0, tMatrix, 0, uMVPMatrix, 0);
Queste modifiche traslano il cubo di 0.2 unit verso sinistra
e di 0.2 unit verso lalto sullo schermo. Si noti come
lordinamento di moltiplicazione delle matrici sia
fondamentale! Si veda il box per maggiore approfondimento.
In alternativa, potreste voler muovere leggermente
il cubo a ogni frame aggiungendo questa linea
al metodo onDrawFrame():
Matrix.translateM(iMatrix, 0, 0.001f, 0.001f, 0);
Non necessario chiamare compilare ed eseguire per vedere
il cubo spostarsi progressivamente sullo schermo.

Trasformazioni e ordine
Per ottenere il giusto risultato nelloperazione
di traslazione, come in onSurfaceCreated(),
necessario effettuare la traslazione (moltiplicare
la matrice di traslazione iMatrix) dopo
la moltiplicazione delle matrici di proiezione
e camera view. In caso contrario troverete gli assi
X e Z invertiti e il cubo traslato diversamente
da quanto voluto. Il dettaglio di questo evento
richiede uno sguardo alla matematica delle
matrici e non lo affronteremo in queste pagine.
Tuttavia, dovete inoltre applicare la matrice
di rotazione, mMatrix, prima delle matrici
camera view e proiezione o incontrerete molti
problemi. possibile utilizzare mMatrix
per effettuare traslazione e rotazione

86

LINUX PRO 133

contemporaneamente. Nel caso lo facciate,


tuttavia, lapplicazione della rotazione nella prima
fase comporta che gli assi di traslazione non
siano pi i classici XYZ visualizzati sullo schermo
(dove X orizzontale, Y verticale e Z esce dallo
schermo). Utilizzerete, in questo caso, una mesh
ruotata: il cubo parte dalla posizione originaria
ma alla rotazione della matrice, la mesh ruota
con essa. Perci traslare di 0.2 nella direzione
X e 0.2 nella direzione Y significa traslare nelle
direzioni X e Y relative al cubo ruotato, non
relativamente alle coordinate su schermo.
Questo pu essere utile nel caso vogliate
muovere oggetti attorno allo schermo.
Per evitare problemi, utilizzeremo matrici

separate per rotazione e traslazione, e


considereremo lordine di moltiplicazione delle
matrici attentamente. Questi concetti sono molto
importanti nellinterazione con il touchscreen.

2D Mesh: versione normale a sinistra; mesh


ruotate con il quadrato a destra. Funziona
in modo analogo anche in 3D

Android
Eventi touchscreen
Spostare cubi ottimo, tuttavia sarebbe pi interessante
spostarli in reazione a un evento del touchscreen.
Il codice seguente far in modo di spostare il cubo
nella direzione di trascinamento del dito sullo schermo.
Per imparare meglio la tecnica, una buona idea
commentare le righe di rotazione in CISGLRenderer.
onDrawFrame() (in modo che lunico spostamento sia dovuto
alla traslazione) e la rotazione iniziale in CISGLRenderer.
onSurfaceCreated() (in modo da traslare sugli assi XYZ,
non su di un set di assi ruotati, come visto in precedenza).
Per gestire gli eventi del touchscreen, dovrete crearvi
un vostra classe SurfaceView, CISSurfaceView:
public class CISSurfaceView extends GLSurfaceView {
private CISGLRenderer renderer;
private float prevX = 0;
private float prevY = 0;
public CISSurfaceView(Context c) {
super(c);
setEGLContextClientVersion(2);
renderer = new CISGLRenderer(this.
getContext());
setRenderer(renderer);
}
public boolean onTouchEvent(MotionEvent e) {
float x = e.getX();
float y = e.getY();
float height = getHeight();
float width = getWidth();
switch (e.getAction()) {
case MotionEvent.ACTION_MOVE:
float dx = (x - width/2) * -1;
float dy = (y - height/2) * -1;
renderer.diffX = (dx - prevX) / (width/2);
renderer.diffY = (dy - prevY) /
(height/2);
prevX = dx;
prevY = dy;
}
return true;
}
}
Il costruttore semplicemente sposta codice dallActivity
principale alla View. La maggior parte del lavoro svolta
in onTouchEvent(). Qui, vengono ottenuti i valori X e Y
dal MotionEvent rilevato e altezza e larghezza dello schermo
dalla View. Al momento lunica azione che vi pu interessare
ACTION_MOVE, che viene lanciata al drag delle dita sullo
schermo. Questa registra ripetutamente (e molto
velocemente) levento finch le dita non lasciano lo schermo,
perci il metodo verr chiamato molte volte (potete vederlo
inserendo una linea di debug). dx e dy sono utilizzate
per tradurre le coordinate X e Y del touchscreen in un
sistema di coordinate centrato sullorigine. Le coordinate
del touchscreen hanno origine in basso a sinistra, con
lasse X che scorre verso destra e lasse Y verso lalto.
OpenGL utilizza invece unorigine centrata (X ancora a destra
e Y verso lalto). dx e dy indicano la posizione dellevento
touch in pixel dal punto di origine centrale.

Viene successivamente calcolata la differenza tra le


coordinate precedenti (prevX e prevY) e le coordinate
correnti (dx e dy) ed effettuata la conversione in coordinate
OpenGL dai pixel. OpenGL, come impostazione predefinita,
ha una scala di 1 unit dal centro per ogni lato; ovviamente,
il touchscreen ha (0.5 * altezza) pixel tra il centro e il lato
superiore e (0.5 * larghezza) pixel tra il centro e ogni lato;
perci possibile utilizzare questi punti per generare le
coordinate OpenGL. Passate, infine, questi valori al renderer.
Sostituite la riga translateM() statica in onDrawFrame()
nella classe CISGLRenderer con:
Matrix.translateM(iMatrix, 0, diffX, diffY, 0);
Ora aggiungiamo allinterno della classe Esecutore il codice
che usa (dovrete inoltre impostare diffX e diffY come
variabile pubbliche di classe). Compilate ed eseguite
per vedere il cubo spostarsi sotto le vostre dita.

PRO

dentro
Codice

desem

pio

Ottimizzare il movimento
In realt, il cubo si muove ma non segue esattamente i vostri
tocchi. Si sta, infatti, spostando su assi perpendicolari
al movimento stesso. Questo dovuto allinterazione
con le matrici camera view e di proiezione. Sono possibili
diversi fix per questa problematica. Uno di questi alterare
la direzione di movimento:
Matrix.translateM(iMatrix, 0, -diffX, diffY, 0);
Una soluzione migliore quella di utilizzare una matrice
aggiuntiva per le traslazioni legate ai tocchi e inserirla nelle
moltiplicazioni tra le altre matrici. Modificate il vostro
sorgente per inserire queste righe:
private float[] tMatrix = new float[16];
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
[ ... ]
Matrix.setIdentityM(tMatrix, 0);
}
public void onDrawFrame(GL10 gl) {
Matrix.translateM(tMatrix, 0, diffX, diffY, 0);
Matrix.setIdentityM(uMVPMatrix, 0);
Matrix.multiplyMM(uMVPMatrix, 0, mMatrix, 0,
uMVPMatrix, 0);
Matrix.multiplyMM(uMVPMatrix, 0, tMatrix, 0,
uMVPMatrix, 0);

Avviare e fermare il movimento


Una cosa che noterete immediatamente
alla prima esecuzione che, anche
se togliete il dito dallo schermo, il cubo
continuer a muoversi. Questo perch
diffX e diffY rimangono impostate
in CISGLRenderer. Potete sistemare
questo spiacevole bug aggiungendo
poche righe a CISSurfaceView.
onTouchEvent():
switch (e.getAction()) {
case MotionEvent.ACTION_UP:
renderer.diffX = 0;
renderer.diffY = 0;
break;

case MotionEvent.ACTION_DOWN:
prevX = (x - width/2) * -1;
prevY = (y - height/2) * -1;
break;
case MotionEvent.ACTION_MOVE:
[ ... ]
Viene effettuato il reset di diffX e diffY
a 0 non appena il dito lascia
effettivamente lo schermo (e quindi il
cubo smette di fatto di muoversi) e viene
registrato il valore iniziale per prevX e
prevY, in modo che il codice ACTION_
MOVE non faccia quindi schizzare subito
via il cubo al primo tocco.

LINUX PRO 133

87

il

Android

Matrix.multiplyMM(uMVPMatrix, 0, vMatrix, 0,
uMVPMatrix, 0);

Matrix.multiplyMM(uMVPMatrix, 0, projMatrix, 0,
uMVPMatrix, 0);

Matrix.multiplyMM(uMVPMatrix, 0, iMatrix, 0,
uMVPMatrix, 0);

[ ... ]
}

importante impostare la nuova matrice come matrice identitaria


prima di cominciare (altrimenti qualsiasi operazione sar inutile
dato che conterr 0). In seguito la utilizzerete per passare
i valori diffX e diffY, e moltiplicarli nella matrice unificata
dopo la rotazione ma prima delle modifiche dovute ai cambi
di vista e proiezione. Compilate ed eseguite nuovamente
per vederla muovere nelle direzioni attese. Si veda il box
per ulteriori consigli su come modificare questo codice.

Texture
Finora il vostro cubo stato colorato, il che fantastico,
tuttavia una delle migliori caratteristiche di OpenGL
labilit di utilizzare bitmap per applicare texture alle forme.
Questo permette ovviamente una maggiore flessibilit
rispetto alluso del solo colore. Per cominciare a utilizzare
le texture che possono essere molto complicate
da impostare ritornerete a disegnare un quadrato 2D.
La prima cosa da fare riscrivere vertex e fragment
shader (in CISGLRenderer) per utilizzare una texture
al posto del colore:
private final String vertexShaderCode =

uniform mat4 uMVPMatrix; \n +

attribute vec4 vPosition; \n +

attribute vec2 aTexture; \n +

varying vec2 vTexture; \n +

void main(){ \n +

gl_Position = uMVPMatrix * vPosition; \n +

vTexture = aTexture; \n +

} \n;
private final String fragmentShaderCode =

precision mediump float; \n +

uniform sampler2D u_texture; \n +

varying vec2 vTexture; \n +

void main(){ \n +

gl_FragColor = texture2D(u_texture, vTexture);
\n +

} \n;
Si noti come il codice dello shader sia molto simile al
precedente; sono stati semplicemente sostituiti i riferimenti
al colore con riferimenti a una texture. Nel vertex shader,
presente un attributo texture dal quale poter generare
una variabile varying da passare al fragment shader.
Nel fragment shader, poi, viene utilizzata una variabile
sampler2D, che consente il campionamento della texture
(Uniform indica che la variabile non cambia durante la
singola invocazione dello shader, perci per ogni frammento
il valore rimarr lo stesso). In seguito, viene utilizzato
il metodo OpenGL texture2D per collegare la variabile
sampler2D e la variabile vTexture passata dal vertex
shader. Il prossimo passo aggiungere una linea a
onSurfaceCreated() per ottenere una referenza alla variabile
aTexture, nello stesso modo di vPosition e aColour:
textureHandle = GLES20.glGetAttribLocation(program,
aTexture);
Infine, in onDrawFrame(), aggiungete una riga per disegnare
una quadrato con la texture (vedrete il metodo in seguito):
square.loadTexture(context, R.drawable.test);
square.draw(positionHandle, textureHandle, context, R.
drawable.yurt);

88

Linux pro 133

Notate come per ottenere la variabile context, sia stato


aggiunto un costruttore alla classe CISGLRenderer;
consultate il codice sul DVD per vederlo. Il contesto
necessario per il caricamento della bitmap nel metodo
loadTexture(). Dovrete inoltre fornire una bitmap; utilizzerete
la foto di uno yurta, ma potreste sostituirla con qualsiasi
foto preferiate, salvata in res/drawable. Passate
a Square.java per il nuovo metodo draw(). Per prima
cosa dovrete caricare la texture:
public void draw(int positionHandle, int textureHandle,
Context context, int bitmap_id) {

Bitmap bitmap = BitmapFactory.
decodeResource(context.getResources(), bitmap_id);

GLES20.glDeleteTextures(1, textures, 0);

GLES20.glGenTextures(1, textures, 0);
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D,
textures[0]);

// Setting MIN_FILTER required if not using
mipmaps
GLES20.glTexParameterf(GLES20.GL_
TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.
GL_LINEAR);

GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0,
bitmap, 0);
bitmap.recycle();
}
La prima operazione svolta il caricamento della bitmap
dalle risorse dellapplicazione (verr trattata come quadrata;
nel caso non lo fosse potrebbe apparire strana. Le bitmap
con altezze e larghezze che sono potenza di due sono inoltre
ben gestite a livello di memoria). Impostate ora le texture.
glDeleteTextures() cancella le texture presenti nel primo
elemento dellarray textures, in modo che sia possibile
utilizzare larray senza conflitti. glGenTextures() crea un
texture-name (ne viene richiesto uno dato che gestirete una
sola texture) e lo memorizza nellarray. glActiveTexture()
specifica lunit texture da attivare; viene utilizzata lunit
di texture di base (GL_TEXTURE0). Infine, glBindTexture()
associa il target specificato (GL_TEXTURE_2D) al primo
elemento dellarray textures. La riga seguente imposta
il parametro MIN_FILTER per il target della texture (GL_
TEXTURE_2D). Questo parametro imposta la modalit con
cui OpenGL calcola la texture per un pixel quando il pixel
mappa unarea pi grande di un pixel su texture. Immaginate
che la texture sia un pezzo di cellophane applicato sulla
superficie; OpenGL lo restringe o espande per adattarlo
alla superficie e la funzione di minimizzazione parte
del processo. Nel caso non si adottino mipmap (si veda

Android

A sinistra, il quadrato e lordine


in cui i vertici sono disegnati per
formare due triangoli. A destra,
i modi di disegnare la texture
e i risultati conseguenti

Limmagine appare rovesciata

Immagine corretta,
ma ruotata di 90 gradi

Immagine corretta
e con il giusto orientamento

il prossimo paragrafo), la scelta ricade su GL_NEAREST,


che seleziona lelemento texture pi vicino al pixel da
colorare, o su GL_LINEAR, che ritorna una media pesata
dei quattro elementi texture pi vicini. GL_NEAREST produce
unimmagine pi nitida tuttavia bene sperimentare per
vedere il miglior risultato nella propria app. Il mipmapping
un modo di fornire multiple versioni di unimmagine, scalata
in varie dimensioni. Fondamentalmente, significa che invece
di generare versioni ridotte dellimmagine in tempo reale,
il renderer pu scegliere unimmagine pre-renderizzata,
ridotta e con meno dettaglio, dal set di mipmap e utilizzarla
per il texturing. I renderer possono interpolare tra immagini
di diverse dimensioni per adattarsi a requisiti particolari.
Queste operazioni consentono di ridurre gli artefatti e rendere
il processo pi efficiente. Nel caso si programmino giochi
o altre app CPU intensive, vale la pena utilizzare
il mipmapping. In questo caso utilizzerete comunque
una singola immagine e lascerete fare il grosso del lavoro
al renderer. Esistono molti altri parametri da impostare,

tuttavia per questa bitmap non necessario impostarne


altri. Ad esempio:
GGLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_REPEAT);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_REPEAT);
Queste impostano il parametro di wrapping per le coordinate
s e t delle texture (equivalenti alle coordinate x e y)
a GL_REPEAT. Infine, viene utilizzato un metodo helper
da GLUtils per impostare la bitmap come texture. La bitmap
viene riciclata e il caricamento concluso. Dovrete inoltre
importare la variabile squareTextureBuffer analogamente
a quanto fatto per il buffer dei colori e aggiungere un paio
di righe a draw() per completare:
float verticesTexture[] = {
0.0f, 0.0f,
1.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
Linux pro 133

89

Android
}
public Square() {

[ ... ]

squareTextureBuffer = ByteBuffer.
allocateDirect(verticesTexture.length * 4).order(ByteOrder.
nativeOrder()).asFloatBuffer();
squareTextureBuffer.put(verticesTexture).
position(0);
}

Sono molte
le cose che
possono accadere
alle texture.
Non tutte
desiderabili

90

public void draw(...) {



[ ... ]

// Cancellate la linea __colourHandle__ e
sostituitela con

GLES20.glVertexAttribPointer(textureHandle, 2,
GLES20.GL_FLOAT, false, 0, squareTextureBuffer);
GLES20.glEnableVertexAttribArray(textureHandle);

[ ... ]
}
Si noti come le coordinate delle texture siano tutte tra 0 e 1;
questo per via del fatto che lorigine della texture in basso
a sinistra, piuttosto che (come in OpenGL) al centro dello
schermo. Nel caso compiliate il codice e lo eseguiate cos
come presentato al momento, noterete qualche problema
sulla texture. Per capire cosa non va, date unocchiata
al diagramma nella pagina precedente. Nel momento in cui
OpenGL procede al disegno del quadrato, disegna i vertici
nellordine indicato. Tuttavia, dato che in uso la modalit
di disegno triangle strip, vengono prese le prime tre
coordinate (-0.5, -0.5) = basso a sinistra, (0.5, -0.5)
= basso a destra, (-0.5, 0.5) = alto a sinistra e viene
disegnato un triangolo, che viene utilizzato per i primi due
vertici del secondo triangolo, che aggiunge la coordinata
finale (0.5, 0.5) = alto a destra. Due triangoli compongono
il quadrato, esattamente come mostrato dal diagramma.

Linux pro 133

The red book: il libro che ogni programmatore 3D dovrebbe


tenere nella sua libreria

Ripristinare lordine
La texture viene disegnata allo stesso modo, vertice per vertice.
Tuttavia, le texture OpenGL hanno lorigine in basso a sinistra,
mentre la maggior parte delle immagini da computer hanno
lorigine in alto a sinistra. Lasse y quindi girato (nonostante
lasse x sia posizionato correttamente), perci dovrete tenere
questo fatto in considerazione durante il disegno.
Per ottenere i segmenti in ordine, dovrete quindi riordinare
i vertici. Dovranno essere entrambi nella stessa direzione
di disegno del quadrato e rovesciati (disegnati dal basso allalto
invece che dallalto in basso). Il diagramma vi aiuter
a visualizzare la differenza. Nel sorgente presente nel DVD
sono presente i tre ordinamenti per i vertici e i risultati che
dovrebbero produrre. Nel caso gli shader vi diano problemi,
potete ottenere un limitato quantitativo di informazioni utili dal
debug dal programma e gli shader OpenGL utilizzando GLES20.
Se ottenete risultati strani, controllate lordinamento dei vertici
e modificate le dimensioni delle texture o provate a impostare
il parametro GL_TEXTURE_WRAP come visto in precedenza.

Android
Texture 3D
Avete ottenuto un quadrato con texture; e se voleste un cubo
texturizzato? Potreste semplicemente scambiare il codice del
quadrato con il cubo (attenzione allordine dei vertici delle
texture); provando questa soluzione, compilando ed
eseguendo il codice, vedrete come solo la prima faccia del
cubo mostri la texture (e la faccia posteriore nel caso
inseriate nuovamente il codice per la rotazione).
Le altre facce avranno invece un blur. Per fare funzionare
il tutto correttamente, necessario abbandonare la
scorciatoia degli indici per disegnare il cubo e indicare i vertici
in ordine di disegno (quattro vertici per faccia). In seguito
indicate le coordinate per le texture di ogni angolo, per ogni
faccia. Nel DVD trovate il codice completo.
Dovrete inoltre modificare la chiamata glDrawElements()
per utilizzare GL_TRIANGLES al posto di GL_TRIANGLE_
STRIP come metodo di disegno. Oltre a questo, il codice
praticamente lo stesso del quadrato ma con buffer
rinominati (inoltre la bitmap viene impostata nel costruttore
piuttosto che nella draw(); quale approccio adottare dipende
dalle vostre preferenze e da cosa dovrete fare con il cubo).
Compilate ed eseguite per ottenere un cubo perfettamente
texturizzato. Potreste voler giocare con lordine in cui i vertici
della texture vengono disegnati per fare in modo che questa
sia corretta in ogni faccia del cubo; disegnare uno schizzo
sulla sequenza di disegno dei vertici potrebbe essere utile
(dato che la cosa molto pi complicata che in un semplice
quadrato). Unaltra opzione per disegnare qualcosa in tutti
i lati di un cubo la CubeMap, che tuttavia al di fuori dello
scopo di questo tutorial. Potete inoltre ripristinare i colori
insieme alla texture (ripristinate i valori vColour e aColour
e aggiungete vColour a gl_FragColour). Naturalmente
OpenGL riserva ancora molte sorprese e sono presenti
moltissime risorse sul Web per aiutarvi a imparare.
Lilluminazione un fattore particolarmente interessante con
il quale giocare e potreste pensare inoltre di muovere il vostro
punto di vista con un semplice tocco.

Texture su tutti i lati del cubo

OGNI MARTED IN EDICOLA


+

12

14

LA TUA PALESTRA

PER LA MENTE
4 S EGNI

In entrambe le serie di numeri piazzare una e una sola


volta ciascuno dei 4 segni evidenziati (+, -, x, :) con lo
scopo di ottenere il totale indicato. Le operazioni si
eseguono rigorosamente nellordine.

12

LINUX PRO 133

91

Soluzione: 12-8+2x7:3=14; 12-5x2:7+3=5

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

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

92 Linux pro 133

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
LUG rieti
www.lugrieti.net
LUGroma
www.lugroma.org
LUGroma 3
www.lugroma3.org
TorLUG - Universit Tor Vergata - roma
www.torlug.org
V.i.S.C.O.S.a. - Ciampino
www.viscosa.org
LiGUria
Genuense Lug - Genova e dintorni
http://genova.linux.it
LugGe - Genova e provincia
www.lugge.net
GinLug - Genova Sampierdarena
www.sennaweb.org
Govonis GnU/LUG - Provincia di Savona
www.govonis.org
SavonaLug - Savona
http://savona.linux.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/

Leco dei LUG


LUGDucale - Vigevano
www.lugducale.it
LugMan - Mantova e provincia
www.lugman.org
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

www.gulp.linux.it
GuruAtWork - Grosseto e provincia
www.guruatwork.com
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

sardegna
CeSar LUG
non disponibile
GNUraghe
www.gnuraghe.org
GULCh - Cagliari
www.gulch.crs4.it
Isolalug
non disponibile
PLUGS - Sassari
www.plugs.it

trentino alto adige


AltinumLUG - Rovereto
nondisponibile
LinuxTrent - Trento
http://linuxtrent.it
LugBz - Bolzano
www.lugbz.org

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
Cancelliaperti
non disponibile
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

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 133

93

Guida

Software

Ogni mese Linux Pro vi offre i programmi e le distribuzioni pi recenti su DVD

Distribuzione

PRO
dentro il
Ogni volta
che troverete
questo simbolo
in un articolo,
vorr dire
che i file citati
si trovano
nel DVD allegato
alla rivista.

gNewSense 3.0

n questo numero vi abbiamo parlato di Trisquel, la pi


usabile delle distribuzioni GNU/Linux approvate dalla
Free Software Foundation. Ma Trisquel non certo
lunica distro che si pu definire totalmente libera:
nel DVD di questo mese trovate infatti gNewSense 3.0.
Nata nel 2006 partendo da Ubuntu, i suoi creatori
(due esperti irlandesi di Software Libero) volevano offrire
agli utenti una distribuzione che affiancasse alla stabilit
di Ubuntu tutta una serie di software totalmente liberi.
Questultima versione di gNewSense ha abbandonato
Ubuntu per passare allaltrettanto solida Debian 6.0.
La distro disponibile per tre architetture, i386, amd64
e mipsel; noi abbiamo messo le prime due nel lato B del
DVD di questo mese. La versione a 32 bit (i386) si avvia
direttamente dal DVD, mentre quella a 64 bit (amd64)
presente come immagine ISO. Al cuore della distro trovate
il kernel GNU Linux-libre, totalmente privo di driver
e componenti proprietari; tra gli altri programmi possiamo
citare Iceweasel (la versione di Firefox priva di elementi
proprietari), Ekiga (per il VoIP), OpenOffice.org 3.2.1 come

suite per lufficio e GIMP 2.6.10 per la grafica bitmap.


Lambiente grafico di default lottimo GNOME 2.30.2
Per maggiori informazioni: http://www.gnewsense.org.

Lambiente desktop classico e pulito. Bisogna


leggersi un po di documentazione, per, se si vogliono
far funzionare alcune cose, come i file multimediali

Distribuzione

Sabayon GNOME 13.08

lcuni di voi conosceranno la distribuzione


Gentoo, amata dagli utenti esperti ma ostica per
gli altri. Uno degli esperti amanti di questa distro
il nostro compatriota Fabio Erculiani che nel
2006 ha deciso di intraprendere un progetto (il nome
originale era RR4) che fosse in grado di offrire la potenza
di Gentoo anche ai meno esperti, assieme a tutti gli
strumenti che possono servire durante luso quotidiano
di Linux. Il lato A del nostro DVD ospita lincarnazione
pi recente di questo progetto, Sabayon 13.08 a 32
e 64 bit nella declinazione che si appoggia al desktop
GNOME 3.8.4. Sul sito http://www.sabayon.org trovate
anche altre versioni basate su KDE 4.10.5, Mate 1.6.2
e Xfce 4.10. Questa distro un vero concentrato
di tecnologia: si va dal kernel 3.10.4 con lo scheduler I/O
BFQ al supporto per il filesystem ZFS, passando per tutte
le versioni pi aggiornate dei programmi Open Source
pi usate. Sabayon parte come LiveDVD e al boot vi offre
la possibilit di avviare lambiente desktop di default,
oppure di entrare in modalit Media Center (con XBMC).
In alternativa potete procedere direttamente

94 LINUX PRO 133

allinstallazione su disco fisso (per entrambe le modalit).


Linstaller ben fatto e facile da seguire. Lambiente
desktop personalizzato davvero piacevole e la selezione
di software presente copre tutte le esigenze, dal normale
utente desktop al programmatore. Se non lavete mai
provata, ve la consigliamo caldamente. LXP

Sabayon rapida, bella da vedere e ricca di strumenti.


Da provare assolutamente

Fotografia Facile il mensile


per esprimere la tua creativit

CORRI IN EDICOLA

In edicola il 22 ottobre

NEL PROSSIMO NUMERO

MISSIONE FUTURO!
Ti sveliamo le competenze che ti servono per garantirti una carriera di successo a prova
di futuro: tutto quello che c da sapere su Vagrant, NoSQL, Nginx e molto altro!

E inoltre:
Terminale futuro

Distro anonime

A tutta forza

Dite addio alla vecchia e superata


riga di comando e scoprite la cosa pi
originale che abbiamo visto di recente.
Linux Pro vi spiega come sfruttare
al meglio Terminology

Abbiamo messo alla prova cinque


distribuzioni che hanno la privacy
dellutente come punto di forza:
scegliete quella che fa per voi con
i risultati dei nostri test approfonditi

arrivato il momento di far fare


gli straordinari alla scheda grafica!
Ecco come delegare un po di calcoli alla
GPU in modo da sfruttare al massimo
la potenza di calcolo del computer

LINUX

Abbonamenti (disponibili solo in versione con DVD)


Si sottoscrivono in 2 minuti con 2 click via Web.
Trovi lofferta speciale di questo mese allindirizzo
www.myabb.it/linuxpro oppure abbonamenti@
myabb.it; puoi anche abbonarti via fax 030 3198412,
per telefono 199 111 999 dal luned al venerd dalle ore
9 alle ore 19. Costo massimo della chiamata
da tutta Italia per telefoni fissi 0,12 + iva al minuto
senza scatto alla risposta. Per cellulari costo in funzione
delloperatore. Per chi volesse abbonarsi dallestero
+39 041.50.99.049.

Collegio sindacale: Roberto Bosa (Presidente),


Maria Luisa Capuzzoni, Ugo Besso

Digital media coordinator: Massimo Allievi

Arretrati
Si sottoscrivono online allindirizzo:
www.spreastore.it
Per informazioni: arretrati@linuxpro.it
oppure fax al numero 02.70.05.37.67.2

Distributore per lItalia e per lEstero:


Press-Di Distribuzione Stampa e Multimedia S.r.L.
20134 Milano

Realizzazione editoriale: Oku Studio

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

PRO

Mensile - 5,90 euro - 13,60 CHF


Direttore Responsabile:
Luca Sprea - direttore@linuxpro.it
Direttore Editoriale:
Stefano Spagnolo
Publisher: Mario Bosisio
Coordinatore redazionale: Massimiliano Zagaglia
Redazione: redazione@linuxpro.it
Brunetta Pieraccini (segreteria)

Iconografia e fotografie: Marco Coppola


Contenuti su licenza: Linux Format - Future P.ce
- London (UK)
Pubblicit: Luigi De Re - luigidere@linuxpro.it
Tel. 339 4546500

Sprea Editori S.p.A.


Socio unico Sprea Holding S.p.A.

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

Consiglio di amministrazione:
Luca Sprea (Presidente),
Stefano Spagnolo (Vice Presidente - Amministratore
Delegato), Mario Sprea (Consigliere)

Amministrazione: Anna Nese - amministrazione@sprea.it


Foreign rights: Gabriella Re - international@sprea.it
Marketing: Walter Longo
marketing@sprea.it

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, DCB Milano
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 su licenza della pubblicazione: Linux
Format Future P.ce London (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 Beltrami 21, 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.

Se T T

iM a

014
calendari 22014

In anteprima
SOLO
per
te!
O
AI
a

io

Febbra

N
GEN

Scegli i tuoi calendari preferiti

Indica il quantitativo delle pubblicazioni che vuoi ricevere

CALENDARIO-AGENDA
La nostra famiglia

1 Mercoled
2 Gioved
3 Venerd
4 Sabato
5 Domenica
6 Luned
e
7 Marted
8 Mercoled
9 Gioved
10 Venerd
11 Sabato
12 Domenica
e
a r T ir
13 Luned
14 Marted
a
iT
M
15 Mercoled
16 Gioved
o pa
17 Venerd
pa
18 Sabato
enaica 19 Domenica
an
20 Luned

d
vo Marted
nerio veSco21

di GeS
a
BaTT.
22 Mercoled
T ireGioved
arlticeedM ar23
fe
24 Venerd
d Sabato
le
BaT e
MeMracUroo a25
S.
26 Domenica
Luned
i pa pa
GioMavrecd27
ello
S.
28 Marted
rdMercoled
a BaT e
VeanneT29
onioGioved
S.
30CALENDARIO
2014
Venerd
o
31
t
Saba

2014

capodanno

S. BaSilio veSc.

S. Genoveffa verGine

S. faUSTa

S. aMelia MarTire

S. raiMondo Sac.

S. MaSSiMo

S. GiUliano MarTire

BaTT. di GeS

Totale Ordine

Totale quantit

Ritaglia o fotocopia il coupon, invialo in busta chiusa a:


Sprea Editori S.p.A. socio unico Sprea Holding 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 ulteriori informazioni puoi scrivere a info@calendarioagenda.it o telefonare al 02.87158224.

via

MARCO

S. ilario veScovo

5,90
5,90

COGNOME

S. iGino papa

calendario PADRE PIO f.to cm15x50

NOME

S. aldo ereMiTa

S. TaTiana

5,90

calendario-agenda per lei f.to cm15x50

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

2a

!!
ODO ! I
COM E SCOPR
IT
L IA
SFOG A PRATIC
LA SU

epifania del SiGnore

5,90

calendario-agenda per noi due f.to cm15x50

Ricevilo comodamente a casa


senza spese aggiuntive

1a

Maria Madre di dio

6,00

calendario-agenda dei nonni f.to cm15x50

GENNAIO

Acquario 21 Gennaio - 19 Febbraio

SeTTiMane

DELLA

FAMIGLIA 2014

calendario-agenda della famiglia f.to cm30x42,5

C.A.P.

CITT

3PROV.

TEL.
e-mail

S. felice MarTire

S. MaUro aBaTe

S. Marcello i papa

S. anTonio aBaTe

UGO

S. vincenzo MarTire

S. eMerenziana verG.

LAURA

S. franceSco di SaleS

conv. di S. paolo

01_ICOVER_famiglia.indd 1

NONNI NOI DUE

5a

LEI

DEI

OTTOBRE

Giuseppe

Gli impegni di...

Olga

2014

COMPLEANNI
ANNIVERSARI

1 Mercoled
2 Gioved
cena a casa dei nipotini
3 Venerd
NTO
UME
4 Sabato
STR CO
UN PRATIACE
EFFICTILE ILE
5 Domenica
U SAB
03_INTfamiglia.indd 1
EN
P
y
IS
Luned
a
.
6
IND
inGS d
rio M
S. M a Tin lUTher K
7 Marted
Mar
8 Mercoled
recita scuola materna H.16
9 Gioved
finale di bocce
no
h.10 gatto
10 Venerd
BaST ia
dal veterinario
iri
Sabato
S S. S e n o M a r T
11
ia
e fa B
12 Domenica
sarta
13 Luned
Vinaio
e
erGin
14 Marted
eSe v
n
G
a
.
h.16 t
S
15 Mercoled
con Elsa
16 Gioved
e
17 Venerd
giornata
con
i nipoti
ir
T
Mar
preparativi partenza
18 Sabato
cenzo
S. v in
H.10 partenza
19 Domenica
20 Luned
Marted
v er21G.
a
n
ia
22 Mercoled
erenz
S. e M
23 Gioved
SCOPRI
COM
Venerd
24
COMODO:
IMPEGNI,
COMPLEANNI
a lSabatoeS
S25
i
d
VISITE MEDICHE
o
Domenica
26
TUTTO
nce Sc
QUELLO CHE VUOI
Luned
S. f r a
27
RICORDARE
SEMPRE SOTTO
Marted
AI TUOI OCCHI
28
UN CALENDARIO PRATICO
CHE CI RICORDA LE BELLE
29 Mercoled
FRASI DEL SANTO PER ESSERE
ISPIRATI OGNI MESE
aol30oGioved
p
.
S
i
d
con v.
31 Venerd

T rice
S. B e a

LISA GOODMAN CALENDAR N. X/2013 - ANN - 5 ,9 0

S. TERESA VERG.

Dom

G. DEGLI ANIMALI

S. PLACIDO MONACO

02/07/13 10:05

S. BRUNO ABATE

SCELGO IL SEGUENTE METODO DI PAGAMENTO E ALLEGO:

S. PELAGIA VERGINE

PESCI il sognatore
Pianeta: Nettuno
Elemento: Acqua
Segno: Femminile
Colore: Verde mare
Transito del Sole: tra il 20 Febbraio
e il 19 Marzo
Pietra portafortuna: Turchese
Metallo: Stagno
Giorno favorevole: Gioved, giorno di Giove

S. DIONIGI

GIORNO DELLA VISTA

S. DANIELE

G. DELLA SALUTE MENTALE

S. BRUNO

FEBBRAIO

S. SERAFINO DA M.

2014

COLUMBUS DAY

S. EDOARDO RE

SFOGLIALO E SCOPRI LA PRATICIT


DI ORGANIZZARE IL TUO TEMPO

S. FORTUNATO

Non nego che le donne siano stupide;


Dio Onnipotente le ha fatte
per vivere insieme agli uomini.
George Eliot, Adam Bede, 1859

LEONE
23 Luglio
22 Agosto

S. RUGGERO

Gli impegni di...

S. EDVIGE

S.MARISA

S. BIAGIO
FESTA DELLA CANDELORA

Non
ostentando
ci che
desiderabile
si evita
di confondere
il cuore
della gente.

S. LAURA

LUGLIO

12/06/13 13:04

e S c.
113

vigili del fuoco

115

T eo v

nonni150X500.indd 10

112

emergenza sanitaria 118

23 OTTOBRE
22 NOVEMBRE

S. maria gorEtti mart.

cinema con Mariella

S. GUGLIELMO

partitona

RICORDO DELLE FOIBE

28

h.18 estetista

B. V. MARIA DI LOURDES

S. adriano

S. vEronica giuliani vErg.

SS. rufina E SEconda

S. bEnEdEtto abatE

S. fortunato martirE

S. Enrico ii impEratorE

non

riunione
a che ora torno???

S. bonavEntura vESc.

h. 17,30 tennis

S. EULALIA VERGINE

h. 19,30 corso di cucina

FESTE
COMPLEANNI
ANNIVERSARI

(Per favore riportare il numero della Carta indicandone tutte le cifre)


(Codice di tre cifre che appare

CVV
sul retro della carta di credito)
Nome e Cognome del Titolare

Data

Firma del titolare

anniversario
pap e mamma

tesoro ti porto in montagna

S. VALENTINO
FESTA DEGLI INNAMORATI

29

il nostro anniversario

SONO TUTTO PER TE

S. FAUSTINO

FESTA DEI SINGLE

S.Elvira

S. GIULIANA MARTIRE

S. alESSio mEndicantE

S. fEdErico vEScovo

1_ICOVERDUE150X500.indd 1

S. giuSta

12/06/13 14:18

S. SEvErina

S. lorEnzo da brindiSi

S. brigida di SvEzia rEl.

S. criStina martirE

SS. anna E gioacchino

30

h. 18 estetista

h.18 shopping
con Carla
inizio corso
di danza caraibica

S. PATRIZIA

01_cover_SINGLELEI150X500.indd
2 DEL GATTO
FESTA

S. CINZIA

S. MANSUETO VESCOVO

S. SILVANO

Venerd

Compleanno
Giorgio

Giornata alle Terme


con Pia
7

palestra
parrucchiere
palestra

SS. FOSCA E MAURA


SACRE CENERI

pom. con Elisa

S. camillo SacErdotE

S. giacomo il maggiorE ap.

07/06/13 18:17

S. APOLLONIA VERGINE

cena con i genitori

S. claudio martirE

S. maria maddalEna

SCORPIONE

Elisabetta

S. GIROLAMO EMILIANI

S. antonio Sac.

G.DELLA PSORIASI

carabinieri

S. TEODORO MARTIRE

S. tommaSo apoStolo

S. EliSabEtta rEgina

S. CRISPINO MARTIRE

HALLOWEEN

S. PAOLO MIKI

2014

FEDERICO
CENA DI LAVORO

S. ottonE vESc.

S. ANTONIO MARIA VESC.

soccorso pubblico
di emergenza

1 Marted
2 Mercoled
3 Gioved
4 Venerd
5 Sabato
6 Domenica
7 Luned
8 Marted
9 Mercoled
10 Gioved
11 Venerd
12 Sabato
13 Domenica
14 Luned
15 Marted
16 Mercoled
17 Gioved
18 Venerd
19 Sabato
20 Domenica
21 Luned
22 Marted
23 Mercoled
24 Gioved
25 Venerd
26 Sabato

S. EStEr rEgina

S. GIOVANNI SACERDOTE

S. LUCILLA VERGINE

PAOLA

Gli impegni di...

S. DONATO VESCOVO

S. GERMANO VESCOVO

o bonifico bancario sul conto IBAN IT 05 F 07601 01600 000099075871


intestato a Sprea Editori S.P.A. Via Torino 51 - 20063 Cernusco Sul Naviglio MI
Assegno bancario intestato a: Sprea Editori S.P.A.
Carta di Credito

S. AGATA VERGINE

G. DELLOSTEOPOROSI

S. ORSOLA E COMPAGNE

NUMERI
SALVAVITA

Ricevuta di versamento su CCP 99075871

S. GILBERTO VESC.

(Lao Tzu,
da Tao The Ching)

S. IRENE

S. ERMELINDA VERGINE

1 Sabato
2 Domenica
3 Luned
4 Marted
5 Mercoled
6 Gioved
7 Venerd
8 Sabato
9 Domenica
10 Luned
11 Marted
12 Mercoled
13 Gioved
14 Venerd
15 Sabato
16 Domenica
17 Luned
18 Marted
19 Mercoled
20 Gioved

S. MAURIZIO
GIORNO DELLA MARMOTTA

G. RIFIUTO DELLA MISERIA

S. LUCA EVANGELISTA

SS. SIMONE E GIUDA TADDEO AP.

S. VERDIANA VERGINE

G. DELLALIMENTAZIONE

S. DELIA

Indica con una la forma di pagamento desiderata

Scad.

B. V. MARIA DEL ROSARIO

S. EVARISTO PAPA

PROV.

N.

S. FRANCESCO DASSISI

1_ICOVERnonni150X500.indd 1

e T iMo

FESTE
COMPLEANNI
ANNIVERSARI

FESTA DEI NONNI

S. GERARDO DI BROGNE AB.

DISTRIBUTORE PER LITALIA E PER LESTERO: PRESS-DI DISTRIBUZIONE


S TA M PA E M U LT I M E D I A S . R . L . - 2 0 13 4 M I L A N O

12/07/13 13:03

S F O G L I A L O E S C O P R I L A P R AT I C I T
DI ORGANIZZARE IL TUO TEMPO
Gli impegni di...

SS. ANGELI CUSTODI

LISA GOODMAN CALENDAR N. X/2013 - ANN - 5 ,9 0

DISTRIBUTORE PER LITALIA E PER LESTERO: PRESS-DI DISTRIBUZIONE


S TA M PA E M U LT I M E D I A S . R . L . - 2 0 13 4 M I L A N O

SINGLE per Scelta e per Amore

ceno con Giovanni


fine set
timana
con Fedin monta
erico
gna

DISTRIBUTORE PER LITALIA E PER LESTERO: PRESS-DI DISTRIBUZIONE


S TA M PA E M U LT I M E D I A S . R . L . - 2 0 13 4 M I L A N O

S. Giovanni BoSco
SacerdoTe

DISTRIBUTORE PER LITALIA E PER LESTERO: PRESS-DI DISTRIBUZIONE


S TA M PA E M U LT I M E D I A S . R . L . - 2 0 13 4 M I L A N O

S. MarTina MarTire

L I S A G O O D M A N C A L E N D A R N . X / 2 0 13 - A N N - 5 , 9 0

7
18 enica
Dom
19 ed
Lun
0
2

Mar ted
21 coled
Mer
22 ed
Giov
23 erd
Ven
24 ato
Sab
5
2
enica
S. coSTanzo

L I S A G O O D M A N C A L E N D A R N . X / 2 0 13 - A N N - 5 , 9 0

S. ToMMaSo daqUino

C.A.P.

CITT

per

PADRE
PIO
MeM. della Shoah

1_ICOVERPADPIO150X500.indd 1

via

05/07/13 12:31

S. anGela Merici

COGNOME

SS. TiTo e TiMoTeo veSc.

NOME

4a

O
FID

S. aGneSe verGine

Voglio regalare questo calendario a:

Linux pro 133

SS. SeBaSTiano
e faBiano MarTiri

DISTRIBUTORE PER LITALIA E PER LESTERO: PRESS-DI

MARIA

MarTin lUTher KinGS day

LISA GOODMAN CALENDAR N. 4/2013 - ANN - 6,00

S. Mario M.

DISTRIBUZIONE STAMPA E MULTIMEDIA S.R.L. - 20134 MILANO

EDO

S. BeaTrice

8
12/06/13 14:33

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 Cremona (CR), via Beltrami 21, 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.

PRENOTALI SUBITO SU

www.spreastore.it
(tiratura limitata)

E
N
O
I
Z
O
M
UNE
ISCE MAI!
CHE NON FIN

ANCHE
SU IPAD

TUTTI I MESI IN EDICOLA