full circle magazine nr. 86 italiano

54

Upload: full-circle-magazine-italia

Post on 19-Dec-2015

272 views

Category:

Documents


0 download

DESCRIPTION

traduzione della rivista internazionale sul mondo Ubuntu FullCircleMagazine

TRANSCRIPT

Page 1: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 indice^

Full CircleLA RIVISTA INDIPENDENTE PER LA COMUNITÀ UBUNTU

NUMERO 86 - Giugno 201 4

FFuu llll CCii rrccllee MMaaggaazziinnee nnoonn èè aaffffii llii aa ttoo nnéé ssoosstteennuuttoo ddaa CCaannoonn ii ccaa ll LLttdd ..

HHEEAARRTTBBLLEEEEDD ee TTRRUUEECCRRYYPPTTCOSA STA SUCCEDENDO?

Photo

:Sam

Dal

Monte

(Flick

r.co

m)

Page 2: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 2 indice^

Gli articoli contenuti in questa rivista sono stati rilasciati sotto la licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo3.0. Ciò significa che potete adattare, copiare, distribuire e inviare gli articoli ma solo sotto le seguenti condizioni: dovete attribuire il lavoro all'autoreoriginale in una qualche forma (almeno un nome, un'email o un indirizzo Internet) e a questa rivista col suo nome ("Full Circle Magazine") e con suo

indirizzo Internet www.fullcirclemagazine.org (ma non attribuire il/gli articolo/i in alcun modo che lasci intendere che gli autori e la rivista abbiano esplicitamente autorizzatovoi o l'uso che fate dell'opera). Se alterate, trasformate o create un'opera su questo lavoro dovete distribuire il lavoro risultante con la stessa licenza o una simile o compatibile.Full Circle è completamente indipendente da Canonical, lo sponsor dei progetti di Ubuntu, e i punti di vista e le opinioni espresse nella rivista non sono in alcun mododa attribuire o approvati da Canonical.

Full CircleLA RIVISTA INDIPENDENTE PER LA COMUNITÀ UBUNTU

GRUB2 e Multibooting p.21

LibreOffice p.1 7

Python p.1 0

Blender p.23

HowTo

D&R p.43

Moneta virtuale p.39

Progettazione Open Source p.47

Comanda & Conquista p.06

Inkscape p.25

Tuxidermy p.42Lettere p.40

Sicurezza p.45

Linux Labs p.32

Notizie Linux p.04

Giochi Ubuntu p.49

Arduino p.28

Recensione: Ubuntu 1 4.04 p.36

Grafica

BACK NEXT MONTH

Page 3: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 3 indice^

EEDDIITTOORRIIAALLEE

BENVENUTI A UN ALTRO NUMERO DI FULL CIRCLE.

A nche questo mese abbiamo articoli da tutto esaurito. Ci sono Python, LibreOffice e laseconda parte delle serie sul menù di boot GRUB e sul multibooting. Abbiamo inoltre

Inkscape e Blender e, come potete vedere dalla copertina, un report speciale suHeartbleed/TrueCrypt di Kevin O'Brien (con il contributo di Michael Kennedy). La questionedi TrueCrypt sembra essere sicuramente molto controversa, ai limiti della cospirazione. I mieiesperimenti con Arduino continuano con l'aggiunta di un sensore di umidità allo scermo LCD.Si tratta del termometro più semplice di sempre! Ho anche scritto un breve pezzo di LinuxLabs (Charles è in vacanza). Per la precisione è di diversi mesi fa e successivo a un crash di cuiè meglio non parlare. L'ho fatto principalmente motivato da una curiosità morbosa, ma èstato interessante verificare quali file ho potuto recuperare dopo aver partizionato ereinstallato Mint per ben due volte.

Sfortunatamente, questo mese dobbiamo salutare David Rhys (Giochi Ubuntu) e Copil(Chiedi al Nuovo Arrivato) che si stanno spostando verso nuovi orizzonti. Gli faccio i mieimigliori auguri. E' stato un piacere lavorare con loro. Se siete in grado di scrivere qualcosa perFCM ogni mese, sentitevi liberi di mandarmi una mail con un paio di righe per spiegarmi sucosa vi piacerebbe scrivere. Rifletteteci bene però e pensate ad almeno dieci o dodiciargomenti. In questo modo non vi ritroverete a scrivere due articoli per poi rimanere senzamateriale.

Con i migliori saluti, e restate in contatto!Ronnie

[email protected]

Questa edizione è stata creata usando:

Full Circle PodcastRilasciato ogni due settimane, ogniepisodio tratta tutte le principalinotizie, opinioni, riviste, interviste efeedback dei lettori del mondo diUbuntu. I l Side-Pod è una novità: è unbreve podcast aggiuntivo (senzaregolarità) , inteso comeun'appendice del podcast principale.Qui vengono inseriti tutti gliargomenti di tecnologia generale emateriali non inerenti Ubuntu chenon rientrano nel podcast principale.

Ospiti:• Les Pounder• Tony Hughes• Jon Chamberlain• Oliver Clark

http://fullcirclemagazine.org

Page 4: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 4 indice^

NNEEWWSS

STEAM RAGGIUNGE IL

RAGGUARDEVOLE

TRAGUARDO DI 500 GIOCHI

C i sono ormai 500 giochicompatibili con Linux su Steam:

un numero davvero grande perchiunque. Nessuno potrà più dire:"ma per Linux non ci sono giochi".Purtroppo, quegli stessicontinueranno a dire che Linux hapochissimi giochi da tripla A, il che èvero; ma, ovviamente, a questo siporrà rimedio gradualmente.

Se gli Steam Machines/SteamOSavranno successo, dovremmo vederequesto numero crescere anche piùrapidamente.

Fonte:http://www.gamingonlinux.com/articles/steam-hits-the-big-500-for-linux-games.3849

Inviato da: Liamdawe

IL MOTORE DI GIOCHIWEBGL

PLAYCANVAS 3D È ORA OPEN

SOURCE

P layCanvas è il "motore per giochiWebGL più facile da usare de

mondo". E' gratis, open source eaffiancato da strumenti persviluppatori "stupefacenti". Beh, unacosa davvero interessante!

Ci hanno lavorato per gli ultimitre anni ed ora è disponibile con lalicenza MIT, perciò potetepraticamente farci tutto quello chevolete.

Ora, è solo questione di fare inmodo che gli sviluppatori di browserrendano meno problematical'esperienza di giocare attraverso unbrowser, e il Sistema Operativo cheutilizzate diventerà decisamentemeno rilevante.

Fonte:http://www.gamingonlinux.com/articles/playcanvas-3d-webgl-game-engine-now-open-rousce.3843

Inviato da: Liamdawe

LA VERSIONE MATE DI

UBUNTU POTREBBE

ARRIVARE PRESTO, E IPROTOTIPI HANNO GIÀ UN

ASPETTO FANTASTICO

S in da quando è stato introdottoUnity, alcuni utenti Ubuntu

hanno continuato a struggersi perGNOME 2, l'ambiente desktop in usofino all'arrivo di Ubuntu 1 1 .04.Gnome 2 aveva molti fans, e unaparte della comunità Linux speraancora che i bei tempi possanotornare.

Martin Wimpress, un membro delteam di MATE Desktop, si è presol'impegno di realizzare un prototipodi Ubuntu che comprendesse MATE,che ricorda moltissimo il vecchio stileutilizzato da Canonical fino al 201 1 .

Si tratta solamente di un lavoropreliminare ed è più un esperimentoche altro, ma lo sviluppatore è statoaiutato da Alan Pope di Canonical. Ilquale ha lasciato un messaggio in cuidiceva che qualcosa di interessantepotrebbe venir fuori da questa

esperienza: "qualcosa bolle inpentola ed ha un profumo delizioso.Grazie ad Alan Pope per l'aiuto".

Fonte:http://news.softpedia.com/news/Ubuntu-MATE-Flavor-Could-Arrive-Soon-445509.shtml

Inviato da: SilviuStahie

IL KERNEL LINUX 3.1 0.41 LTSÈ DISPONIBILE PER IL

DOWNLOAD

L a più recente versione di questoramo del kernel Linux stabile, la

3.1 0.41 , è stata annunciata da GregKroah-Hartman ed arriva con un belpo' di novità e soluzioni.

Il numero di cambiamenti emiglioramenti per questo ramo delkernel Linux è piuttosto ampio e glisviluppatori hanno aggiuntonumerosi driver ed altre migliorie.Questo sarà un rilascio LTS (cioè consupporto a lungo termine) ed è

Page 5: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 5 indice^

NEWSprobabile che sarà quindi aggiornatoper lungo tempo.

Se state usando una delleversioni rilasciate prima di oggi nelramo 3.1 0.x del kernel Linux, viraccomandiamo di farel'aggiornamento alla versionecorrente.

Fonte:http://news.softpedia.com/news/Linux-Kernel-3-1 0-41 -LTS-Is-Avaiable-for-Download-445652.shtml

Inviato da: SilviuStahie

LIBREOFFICE 4.3 BETA 2 È

ORA DISPONIBILE PER IL

TESTING

G li sviluppatori della DocumentFoundation hanno rilasciato

un nuovo build-in nel ramoLibreOffice 4.3 Beta, portandoaddirittura più novità rispettoall'ultimo update nella serie.Sembra che la 4.3 sarà piuttostointeressante, ma ci vorrà un po'prima che venga rilasciata.

Alcune soluzioni, a quanto risultadal registro delle modifiche, sono: èstato sistemato margine superiore

della tabella mobile multi-pagina perl'importazione WW8, l'errataposizione del testo in una listaraggruppata è stata corretta, laformattazione dirette dellanumerazione in .DOCX è ora gestitacorrettamente, e numerose altresoluzioni sono state implementate.

Ricordate che questa è unaversione di sviluppo e NON deveessere installata su macchine per laproduzione. E' stata realizzata per ilsolo scopo di essere testata.

Fonte:http.//news.softpedia.com/news/LibreOffice-4-3-Beta-2-Is-Now-Avaiable-for-Testing-445664.shtml

inviato da: SilviuStahie

LINUXM INT 1 7 CON

DESKTOP CINNAMON RIMANE

FOCALIZZATO SULLA

SEMPLICITÀ DI UTILIZZO

L inux Mint è una delle distroLinux per desktop più popolari

in uso oggigiorno, in larga partegrazie al suo obbiettivo principaledi migliorare l'esperienza desktopper gli utenti. si tratta di un

obbiettivo che è stato prefissatoper Linux Mint sin dal primo giorno.Quando Clement Lefebvre sviluppòLinux Mint nel 2006, lo fece con ilfine di creare una versione desktopdi Linux user-friendly. Linux Mint èbasato su Ubuntu Linux, conl'aggiunta di nuovi desktop,settaggi ed elementi diconfigurazione. La versione piùrecente di Linux Mint, versione 1 7(nome in codice Qiana), è basatasulla recente release di Ubuntu1 4.04 "Trusty Tahr", che fa parte diquelle che vengono chiamate rilasci

con supporto a lungo termine(LTS).

Fonte:http://www.eweek.com/enterprise-apps/slideshows/linux-mint-1 7-with-cinnamon-desktop-keeps-focus-on-ease-of-use.html

Inviato da: PeterOdigie

Page 6: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 6 indice^

L 'ultimo mese abbiamo copertouna serie di esempi di utilizzo di

Git in combinazione con Github. Perquanto riguarda questo articolo, hochiesto se ci fosse interesse sul comecreare/ospitare il proprio gitrepository host. E a quanto pare...esso c'è. E pertanto dedicheremol'articolo di questo mese allacreazione e all'hosting del propriorepository git, come anchediscuteremo su come gestire branchspecifici (e.s. clonare un singolobranch da un repository, fare il mergedi branch, crearne uno nuovo...).

SERVER GIT

I l modo più semplice diconfigurare git su di un serversarebbe quello d'installarcelo sopra edi configurarvi SSH. Dato che questoè il metodo che ho usato, sarà quellosu cui ci concentreremo questo mese.Darò per scontato che si abbia già unserver SSH funzionante installatosulla macchina remota. Se invece sipreferisce provare tutto su unamacchina locale e copiare i repositoryda e su di essa, si può semplicementeusare il normale formato per il

percorso dei file, al posto di quelloSSH.

CREARE UN NUOVO

REPOSITORY

Supponendo che la macchina siaun host remoto, ci sarà il bisogno difare SSH su di essa (si può pensare diutilizzare lo stesso utente anche pergit). Ottenuto questo, si potrà creareil repository con il seguente comando:

git --bare init <cartella>.git

Se la cartella non esiste verràcreata. Raccomando di tenere ilserver ordinato, posizionando tutti irepository git all'interno di unasottocartella nella home dell'utente.Qualcosa come/home/utentegit/repo-git/. Perquanto riguarda il comando: l'opzione--bare dice a git d'inizializzare ilrepository senza una cartella .gitseparata. Sembra che per i repositorycondivisi (quelli dove più gente faclone/push/pull/fetch) la praticacomune sia quella di usare la tipologiabare. Se state creando questorepository in locale e pianificate diaccedere alla cartella da un altra

macchina solo occasionalmente,potreste fare a meno dell'opzione --bare. In ogni caso non dovresteincorrere comunque in alcunproblema.

AGGIUNGERE FILE ALREPOSITORY

Di default niente verrà aggiunto alrepository, sia che lo si inizializzi inuna cartella vuota o contenente deifile. Avrete bisogno di eseguire:

git add .

In modo tale che qualsiasi cosa siaaggiunta. Dopo l'aggiunta è anchenecessario fare un commit deicambiamenti con:

git commit -m "Messaggio"

Sostituite "Messaggio" conl'appropriato messaggio di commit. Inalternativa si può fare queste duecose contemporaneamenteattraverso:

git commit -a -m "Messaggio"

L'opzione -a dice a git di

aggiungere tutto ciò che è presentenella directory e farne un commit. Atal proposito, se si volesseaggiungere solo alcuni file, sidovrebbe o creare un .gitignoreoppure aggiungere i fileseparatamente con git add. Ora che ilrepository è stato creato e ha delcontenuto, è arrivato il momento diclonarlo in una nuova macchina.

CLONARE UN REPOSITORY GIT

TRAMITE SSH

Presupposizioni:• Si sta usando la porta ssh piùcomune (22)• Il proprio nome utente è utentegit• Il dominio del server ègit.esempio.com• Il path è /home/utentegit/repo-git/• Il repository stesso si chiama cc-esempio.git

Basandosi su questi presupposti, ilcomando clone di git dovrebbepresentarsi in questo modo:

git clonessh://[email protected]:22/home/utentegit/repo-git/cc-esempio.git

CCOOMMAANNDDAA && CCOONNQQUUII SSTTAAScritto da Lucas Westermann

sseerrvveerr GGiitt ee ggeessttiioonnee bbrraanncchh

Page 7: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 7 indice^

COMANDA & CONQUISTA

Se si è creato il repository senza ilsuffisso .git (o lo si è fatto in un'altradirectory preesistente), si dovràsemplicemente adattare il path diconseguenza (ad esempio si leggeràsolo "cc-esempio" alla fine).Assumendo che non si sia configuratoSSH per usare i keyfile, verrà chiestodi accettare il fingerprint e d'inserirela propria password.

Il formato SSH per git è ilseguente:

ssh://<utente>@<host>:[porta]<path assoluto>

Rimpiazzate <utente> conl'attuale nome utente di SSH, <host>con l'IP/Dominio/Hostname delserver in questione, [porta] con laporta che si sta utilizzando (potetelasciare questo campo vuoto perusare la porta predefinita 22) e il<path assoluto> deve essere sempreassoluto - cioè che si deve specificarepartendo dalla root del filesystem:• Corretto: /home/utentegit/repo-git/cc-esempio.git• Sbagliato: ~/repo-git/cc-esempio.git, repo-git/cc-esempio.git,ecc. ecc.

Se si sta usando la porta standard,è possibile abbreviare un po' la formascrivendo in questo modo:

git clone<utente>@<host>:<pathassoluto>

Tuttavia, non dovrebbe esseretroppo dispendioso usare la formacompleta, che potrebbe anche ridurrele possibilità di sbagliare quando siusa una porta non standard. Unavolta clonato il repository, si può fareun git add, git commit, e quindi (perpoter sincronizzare i cambiamenti)usare git push. Il formato di questicomandi (come nel mese precedente)è:

git push <target-remoto><branch>

Tipicamente il <target-remoto>sarà considerato l'origin e il <branch>sarà considerato il master. Quindi untipico comando potrebbe essere:

git push origin master

Se si incorre in un errore (comequello di non aver definito l'originremoto), si dovrà aggiungere il targetal proprio repository. Per farlobisogna andare nella directory radicedel repository e quindi dare:

git remote add originssh://[email protected]:22/home/utentegit/repo-git/cc-esempio.git

Questo definirà un target remoto

chiamato origin nel repository usandol'URL fornitogli. Solitamente questonon è necessario (nei miei test non homai dovuto farlo). Si può anche usarequesto comando per definire targetremoti multipli, nel caso abbiate piùserver di backup; anche se ciòpotrebbe facilmente finire perdiventare molto complesso.

BRANCH

I l lettore che mi ha contattato haanche espresso il desidero di averealcune informazioni sulla creazione,merge e clone di specifici branch sulrepository. Chiunque pianifichid'iniziare a sviluppare seriamente congit, vorrà conoscere il funzionamentodei branch per poter mantenereseparati gli snapshot dalla versionestable.

CREARE UN NUOVO BRANCH

Assicurarsi che la directorycorrente (pwd) sia quella del propriorepository, e quindi eseguire ilseguente comando:

git checkout -b <branch>

Questo creerà un nuovo branchchiamato <branch>. Questa è inpratica la versione concisa dei

seguenti due comandi:

git branch <branch>git checkout <branch>

Come potete vedere la versioneconcisa è meno ripetitiva. Questi duepassi sono richiesti solo se si stacreando nuovi branch, per spostarsifra di essi basta semplicementescrivere:

git checkout <branch>

Dopo che si è selezionato il branchsulla quale si vuole operare,continuare a lavorare come si farebbenormalmente (modificare file,aggiungerli e farne un commit).Tuttavia, c'è un importantecambiamento sulla parte del push:

git push origin <branch>

Per fare il push sul nuovo branchdel host remoto "origin", è necessarioassicurarsi di fornire il corretto nomedel branch. Solitamente il valoresottinteso di default è master maquesto è corretto solo se si staaggiornando il branch master (in altreparole la versione stable).

Presupponendo si sianocompletati i progressi nel branch disviluppo, e si sia pronti per il suomerge nel branch stabile (master),

Page 8: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 8 indice^

COMANDA & CONQUISTAbisognerà procedere come segue:

git checkout master

Questo comando ci farà tornare albranch stabile; mentre si fa un mergeè necessario trovarsi nel branchtarget (in questo caso "master").Quindi fare il merge dei branch con:

git merge <branch>

Assicurarsi d'inserire il nomecorretto del branch interessato.Questo tipo di merge usa l'approcciotipico di git ai conflitti; se esso non èin grado risolverli automaticamente,mostra i cambiamenti fra i file delrepository da risolvere manualmenteper poi doverne rifare un add ed uncommit. Vedere il precedentearticolo per più dettagli. Se si èabituati a sviluppare in modo lineare(e.s. se il branch stable si riferiscesempre a un punto più vecchio dellatimeline e il branch di development èsempre più recente), non sidovrebbero avere problemi. Tuttavia,se ci sono branch concorrenti (e.s.dopo l'ultimo rilascio stable sicontinua a procedere normalmentema si effettua anche un branch sullaversione di development mobilepartendo dallo stesso snapshot)potrebbero causarsi alcuni conflittidurante il merge.

CANCELLARE UN BRANCH

Cancellare un vecchio branchlocalmente è molto semplice:

git branch -D <branch>

Tuttavia se si vuole rimuoverloanche dall'host remoto bisogneràfare anche questo:

git push origin :<branch>git push origin --delete<branch>

La differenza fra i due comandi èche il primo è supportato in versionidi git come la 1 .5.0 mentre il secondolo è a partire dalla 1 .7.0.

RINOMINARE UN BRANCH

Se si vuole rinominare un branchlocale (e.s. da development a dev):

git branch -m <vecchio><nuovo>

Quindi riferendosi all'esempio:

git branch -m development dev

È anche possibile rinominare ilbranch corrente omettendo la parte<vecchio> del comando, e.s. gitbranch -m dev.

Rinominare un branch localequando si sta per fare un push sulserver remoto significa, per esempio,che si ha un branch chiamato testingsulla propria copia del repository. Ilproblema è: qualcuno, battendovi sultempo, ha creato un branch chiamatotesting con cambiamenti diversi daivostri. Sarà possibile, naturalmente,rinominare il proprio branch prima difarne un push. Oppure dire al targetremoto come rinominare il branchquando si sta facendo un push di essocon il seguente comando:

git push origin<locale>:<remoto>

Quindi, nel nostro esempio:

git push origin testing:mobile

Questo prenderà il nostrorepository testing locale e lo invieràal server rinominando il branch inmobile. Questo potrebbe aiutareanche a capire il comando dicancellazione in git 1 .5.0:essenzialmente si sta facendo il pushdi un repository NULL (cioèinesistente) al branch remoto chequindi lo eliminerà.

CLONARE UN BRACH

SPECIFICO

Questa è l'ultima domanda postanell'email che ho ricevuto. Io presumoche egli volesse letteralmenteclonare un singolo branch ignorandotutto il resto. Questo è un compito unpo' più complicato, ed è descritto inseguito:

mkdir <cartella>cd <cartella>git --bare init

In alternativa si può eseguiresolamente git --bare init <cartella>

git remote add originssh://[email protected]:22/home/utentegit/repo-git/cc-esempio.git

Questo è richiesto per potercollegare il repository remoto con ilnuovo repository locale appenacreato, che finirà col contenereunicamente il branch voluto.

git fetch origin<branch>:refs/remotes/origin/<branch>

Ci sono alcune cose da notare suquesto comando: se il vostro targetremoto è diverso da origin bisognasostituire entrambe le sueoccorrenze nel comando. Bisognaanche sostituire <branch> con il nomedel branch desiderato. Non cambiarela parte "/refs/remotes/". In pratica ci

Page 9: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 9 indice^

Lucas ha imparato tuttoquello che sa danneggiandoripetutamente il suo sistema, nonavendo nessuna alternativa ha quindidovuto imparare come ripararlo.Potete scrivere a Lucas presso:[email protected].

COMANDA & CONQUISTAsi è preparato al download dalrepository del solo branch specificovoluto.

git checkout -b <branch> --track origin/<branch>

E con questo si crea il branch nelproprio repository locale e lo sicollega quindi al branch del targetremoto, creando effettivamente unrepository contenente solo questobranch.

Nota: se non si ha l'intenzione discaricare tutti i branch esistenti e sivuole che git semplicemente siapreimpostato su un diverso branch(e.s. se si prevede di fare un mergepiù tardi), si può semplicementeeseguire:

git clonessh://[email protected]:21/home/utentegit/repo-git/cc-esempio.git -b <branch>

Questo clona il repository come alsolito (includendo tutti i branch) equindi sostituisce il branchpredefinito (il master) con il branchspecificato (e.s. testing).Generalmente io preferisco fare cosìal posto della complicata serie dipassaggi elencati precedentemente.Probabilmente si finirà con l'averebisogno di qualche altro branch e in

questo modo sarà facile farlosemplicemente spostandosi fra diessi.

Spero che quanto detto abbiacontribuito alla spiegazione di alcunedelle complessità della gestione diserver e branch di git. Se aveteulteriori questioni o incappate in unqualsiasi problema con gli esempinell'articolo, sentitevi liberi discrivermi [email protected]. Sieteinoltre veramente i benvenuti ascrivermi per la richiesta di articoli ose volete offrire il vostro parere suuno dei passi qui mostrati.

PYTHON EDIZIONI SPECIALI:

http://fullcirclemagazine.org/issue-py01 / http://fullcirclemagazine.org/issue-py02/

http://fullcirclemagazine.org/python-special-edition-issue-three/

http://fullcirclemagazine.org/python-special-edition-volume-four/

http://fullcirclemagazine.org/python-special-edition-volume-five/

http://fullcirclemagazine.org/python-special-edition-volume-six/

Page 10: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 0 indice^

HHOOWW--TTOOScritto da Greg D. Walters PPrrooggrraammmmaarree II nn PPyytthhoonn -- PPaarrttee 5555

Q uesta è la parte seconda di untutorial a più parti sulla creazione

di un generatore di modelli per ilpunto croce. Nella prima parte (FCM85), abbiamo creato un database checontiene i colori DMC™ del floss con iloro valori RGB più prossimi. In questaparte, creeremo la GUI utilizzandoTkinter. Useremo inoltre PIL (PythonImaging Library) e PMW (PythonMega Widgets). Dovrete scaricare einstallare tali librerie prima di andaretroppo avanti. Per PIL, andiamo nelfork di Pillow pressohttps://github.com/python-imaging/Pillow e scarichiamo l'ultimaversione. Per PMW, andiamo inhttp://pmw.sourceforge.net/ escarichiamola da qui.

Occorreranno inoltre due fileimmagini. Uno è un semplicerettangolo grigio di 500x400 pixel.Potete usare GIMP o qualche altroprogramma di manipolazione diimmagini per crearlo. Chiamatelodefault.jpg e posizionatelo nellacartella del codice sorgente insiemecon il database. L'altro è un'immaginedi una cartella per il pulsante diapertura dell'immagine. Ne hoottenuta una da clipard, cercando

"folder". Ne ho trovata una discretapressohttps://openclipart.org/detail/1 77890/file-folder-by-thebyteman-1 77890.Aprirla con GIMP, ridimensionarla a30x30 e salvarla nella stessa cartellacome 'open.gif'.

Sotto c'è una schermata di comeapparirà la GUI quando finita. Ci sonoquattro pannelli principali nella GUI.Tre sul lato sinistro e uno su quellodestro. Quando entriamo nelprocesso di costruzione del widget, miriferirò a essi come Pannellosuperiore, Pannello centrale, Pannelloinferiore e Pannello laterale. Il

pannello superiore si occupadell'immagine originale. Quellocentrale processa l'immagine. Ilpannello inferiore mostra a sinistral'immagine originale e a destra quellaelaborata, mentre il pannello lateralemostra i colori e i floss necessari.Sembra, da una prima occhiata, essercimolto spazio sprecato, ma vedendo ilprogramma in esecuzione, una voltaaddentrati nella porzione dellatrasformazione, non ci sarà in effettitanto spazio vuoto.

Ora siamo pronti per iniziare alavorare sul codice. Ecco il nostrolungo elenco di importazioni...

from Tkinter import *

import tkFileDialog

import tkCommonDialog

import tkMessageBox

import ttk

from PIL importImage,ImageTk,ImageOps

import Pmw

import apsw # Database Access

import math # Math library

import sys

Dal grande numero di import,possiamo dire che sarà un programmalungo. Infatti, la parte di codice per laUI sarà di oltre 300 righe, inclusi icommenti. La 'buona' notizia è checirca 200 righe avranno a che fare conla porzione di programma per Tkinter,la vera e propria GUI. La maggior partedelle restanti linee di codice sonoparti di funzioni necessarie per ilprossimo articolo.

Creeremo una classe percontenere tutto il codice dielaborazione della UI (prossimapagina, in alto a destra).

Page 11: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 1 indice^

HOWTO - PYTHON PARTE 55

Prima definiamo la classe e poi lafunzione __init__ a cui passiamo lafinestra 'root' TopLevel. Creiamo lafinestra TopLevel nelle ultime quattrorighe del programma. Dentro lafunzione __init__, prima di iniziare conle altre funzioni, abbiamo definitotutte le variabili globali e fatto alcuneassegnazioni iniziali. La prima cosa chefacciamo è creare un elenco di tupleche contengono i formati dei fileimmagine necessari quando apriamola finestra di dialogo OpenFile. Le duesuccessive righe definiscono epreparano i due file immagine cheabbiamo appena creato (il file GIF peraprire la cartella e il rettangolo grigio,che sarà usato come segnaposto perle nostre immagini utilizzate percreare il modello).

self.openimage =PhotoImage(file='open.gif')

self.DefaultImage=ImageTk.PhotoImage(self.Thumbnail("default.jpg",450,450))

Entriamo ora nelle definizioniglobal (centro destra). Se vi ricordate,quando usiamo Tkinter, se abbiamodei widget quali una casella diinserimento testo o una casellacombinata dai quali vogliamorecuperare le informazioniselezionate o inserite, definiamo una

variabile globale e la assegniamo poi auna classe di variabili (BooleanVar,DoubleVar, IntVar o StringVar).Questa terrà quindi 'traccia' deicambiamenti dei valori dentro ai valoridel widget, quindi possiamo accedercicon i metodi .get() e .set(). Nellesuccessive linee di codice, creiamo inomi delle variabili globali, quindi gliassegniamo la classe contenitriceappropriata. Ho inserito alcunicommenti nel codice, nel tentativo diaiutarvi a tenere traccia di ciò chestiamo facendo.

Come potete vedere, stiamoimpostando una variabile chiamataOriginalFileName che contienel'immagine dalla quale vogliamocreare il modello, una chiamataOriginalColorCount che contiene ilnumero di colori dell'immagineoriginale e una chiamata OriginalSizeche contiene la dimensione in pixeldell'immagine originale. Come diconoin tv... "MA, ASPETTATE!C'ÈALTRO!"(in basso a destro):

La variablile ComboStitch èimpostata da una casella combinata emanipola le dimensioni della magliadell'aida che si vogliono usare nelprogetto. Anche la variabileComboSize è impostata da una casellacombinata e contiene la misura deltessuto aida. FabricHeight e

FabricWidth sono le scomposizionidelle dimensioni dell'aida. MaxColor èun valore preso da un casellad'inserimento per impostare ilnumero dei colori e BorderSize è unvalore a virgola mobile che specifica laquantità di aida inutilizzata per la

composizione.

global ProcessedColors

ProcessedColors = StringVar()

global ProcessedSize

ProcessedSize = StringVar()

class XStitch:def __init__(self, master):

self.picFormats = [('JPEG / JFIF','*.jpg'),('Portable Network Graphics','*.png'),('CompuServer GIF','*.gif'),('Windows Bitmap','*.bmp'),('All File Types *.*','*.*'),]

#-------------------------------------------# Global Definitions#-------------------------------------------# UI Requiredglobal OriginalFilenameOriginalFilename = StringVar()global OriginalColorCountOriginalColorCount = StringVar()global OriginalSizeOriginalSize = StringVar()

global ComboStitchComboStitch = IntVar()global ComboSizeComboSize = StringVar()global FabricWidthFabricWidth = DoubleVar()global FabricHeightFabricHeight = DoubleVar()global MaxColorsMaxColors = IntVar()global BorderSizeBorderSize = DoubleVar()

Page 12: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 2 indice^

HOWTO - PYTHON PARTE 55global DmcColor

DmcColor = StringVar()

Le variabili finali 'variable class'sono usate per le informazioniconseguenti alla manipolazionedell'immagine originale con iparametri desiderati.

Il prossimo insieme di global (inalto a destra) è usato per un accessofacile in tutto il programma. Per lamaggior parte sono ovvie, dato il loronome, o diventano ovvie una voltautilizzate. Ci sono tre variabili non-così-ovvie. BackgroundColor1 eBackgroundColor2 sono tuple usatenel processo di reticolatura e lavariabile ReadyToProcess è usata perindicare che l'immagine originale èstata caricata e ogni cosa è pronta,giusto in caso che l'utente prema ilpulsante Process troppo presto.

Finalmente abbiamo assegnatotutte le nostre variabili globali e oraabbiamo il codice che crea di fatto laGUI. Apriamo il database, creiamo ilmenù, impostiamo i widget e infine lisistemiamo nei posti giusti. Tanto perdarvi una dritta, useremo il gestoregeometrico di collocamento di Grid.Ne riparleremo più avanti.

#-------------------------

self.OpenDB()

self.MakeMenu(master)

frm = self.BuildWidgets(master)

self.PlaceWidgets(frm)

La successiva parte di codice(centro destra) imposterà la barra delmenù. Ho provato a disporlologicamente quindi sarà facilecomprenderlo.

Definiamo una funzione chiamataMakeMenu e la passiamo alla finestraTopLevel. Definiamo poi treimpostazioni di menù che creeremo.Uno per i File, uno per il Processo euno per l'Aiuto.

menu.add_cascade(label="File", menu=filemenu)

menu.add_cascade(label="Process",menu=process)

menu.add_cascade(label="Help",menu=help)

Ora impostiamo il menùopzioni File (in basso a destra).Open aprirà la nostra immagineusando la funzione 'GetFileName'.Save creerà il file PDF usando lafunzione 'FileSave'. Aggiungiamo unseparatore e infine la funzione 'Exit'.

Passiamo ora all'opzione Process e

alle funzioni Help (prossima pagina, inalto a destra).

Tutte le opzioni nella barra delmenù sono disponibili da vari pulsantidentro al programma.

Realizziamo ora la funzione

BuildWidgets, che crea tutti i widgetche saranno usati nella GUI.

Iniziamo con la definizione dellafunzione, passandogli la finestra(principale) TopLevel e posizionandociun pannello che contiene tutti gli altriwidget. Ho aggiunto dei commenti

#-------------------------------------------global ShowGridShowGrid = Trueglobal ProcessedImageProcessedImage = ""global GridImageGridImage = ""global backgroundColor1backgroundColor1 = (120,)*3global backgroundColor2backgroundColor2 = (0,)*3global ReadyToProcessReadyToProcess = False

#======================================================# BEGIN UI DEFINITION#======================================================

def MakeMenu(self,master):menu = Menu(master)root.config(menu=menu)filemenu = Menu(menu, tearoff=0)process = Menu(menu,tearoff=0)help = Menu(menu,tearoff=0)

#-------------------------------------------# File Menu#-------------------------------------------filemenu.add_command(label="New")filemenu.add_command(label="Open", command=self.GetFileName)filemenu.add_command(label="Save", command=self.FileSave)filemenu.add_separator()filemenu.add_command(label="Exit", command=self.DoExit)

Page 13: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 3 indice^

HOWTO - PYTHON PARTE 55per aiutare a capire qual'è la parte dicodice che tratta il pannello. Cioccuperemo prima di quellosuperiore.

def BuildWidgets(self,master):

self.frame =Frame(master,width=900,height=850)

Supponendo che vi ricordiate o visiate rinfrescati la memoria su Tkinter,dovrebbe essere abbastanzasemplice. Vediamo la prima etichetta,come elemento di discussione.

self.label1 =Label(self.frm1,text ="Original Filename: ")

Per primo, definiamo il nome delwidget (self.label1 =). Poi impostiamola variabile al tipo di widget chevogliamo usare; in questo caso Label.Infine impostiamo i parametri chevogliamo applicare a quel widget,iniziando con il widget genitore(self.frm1 ) e, in questo caso, il testomostrato nell'etichetta. Prendiamociun momento per osservare il pulsanteself.btnGetFN.

self.btnGetFN =Button(self.frm1, width=28,image=self.openimage,

command=self.GetFileName)

La prima cosa da notare è che èspezzato in due righe. Potetetranquillamente mettere tutto su unariga... è solo troppo lungo peradattarsi a una riga di 72 caratteri.Porremmo la vera attenzione aiparametri usati qui. Primo, il genitore(frm1 ) vicino a width impostato a 28.Quando usiamo un widget che hal'opzione testo o immagine,dobbiamo impostare con attenzionela larghezza. Se conterrà testo, ilparametro larghezza è il numero dicaratteri che conterrà. Se visualizzaimmagini, sarà impostato con ilnumero di pixel. Infine, impostiamo ilparametrocommand, chedice al sistemaquale funzionechiamare quandosi preme ilpulsante.

Un'altra cosa

da osservare è il parametrotextvariable, che ci dice quale variabileconterrà le informazioni che sarannovisualizzate nel widget. Leimposteremo al più presto nellafunzione __init__. Un'altra cosa dacitare è che il pannello stesso ha due

parametri che potreste non ricordare.Il parametro Relief imposta il tipo dicontorno del pannello, che in questocaso è GROOVE, e il parametro bdimposta la larghezza del contorno. Perimpostazione predefinita il valore è 0quindi se volete vederne gli effetti,

#-------------------------------------------# Process Menu#-------------------------------------------process.add_command(label="All",command=self.Process)#-------------------------------------------# Help Menu#-------------------------------------------help.add_command(label="Help",command=self.ShowHelp)help.add_separator()help.add_command(label="About",command=self.ShowAbout)

# ---------------- TOP FRAME ---------------------self.frm1 = Frame(self.frame,width=900,height=100,bd=4,relief=GROOVE)self.label1 = Label(self.frm1,text = "Original Filename: ")self.entFileName = Entry(self.frm1,width=50,textvariable=OriginalFilename)self.btnGetFN = Button(self.frm1, width=28, image=self.openimage,

command=self.GetFileName)self.label2 = Label(self.frm1,text = "Original Colors: ")self.lblOriginalColorCount = Label(self.frm1,text="",width=10,

textvariable=OriginalColorCount)self.label3 = Label(self.frm1,text = "Original Size: ")self.lblOriginalSize = Label(self.frm1,text="",width=10,

textvariable=OriginalSize)

# ---------------Middle Frame --------------------self.frm2 = Frame(self.frame,width=900,height=160,bd=4,relief=GROOVE)self.lbl4 = Label(self.frm2,text="Aida Stitch Size: ")self.lbl5 = Label(self.frm2,text="Aida Fabric Size: ")self.TCombobox1 = ttk.Combobox(self.frm2,textvariable=ComboStitch,width=8)self.TCombobox1.bind('<<ComboboxSelected>>', self.StitchSizeSelect)self.TCombobox1['values'] = (7,10,11,12,14,16,18,22)self.TCombobox2 = ttk.Combobox(self.frm2,textvariable=ComboSize,width = 8)self.TCombobox2.bind('<<ComboboxSelected>>',self.AidaSizeSelect)self.TCombobox2['values'] = ("12x18","15x18","30")

Page 14: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 4 indice^

HOWTO - PYTHON PARTE 55dovete impostare la larghezza delcontorno (bd è una scorciatoia).

Ora ci occuperemo del widget delpannello centrale.

Le ultime sei righe di questasezione (pagina precedente, centrodestra) si occupano delle due casellecombinate nella UI. Ciascuna di esseusa tre righe (il modo in cui hoprogrammato per renderlo facile dacapire). Nella prima riga impostiamo iparametri essenziali. La rigasuccessiva lega l'eventoselezione/cambiamento della casellacombinata alla funzioneStitchSizeSelect e l'ultima riga ha unelenco dei valori che sarannodisponibili nella tendina.

Ogni altra cosa è roba abbastanza'normale'. Ora impostiamo i valoripredefiniti per i widget che nenecessitano. Di nuovo, useremo levariabili globali impostate nellafunzione __init__ e legate alle variabilidi classe del widget.

ComboStitch.set(14)

ComboSize.set("15x18")

FabricWidth.set(15)

FabricHeight.set(18)

MaxColors.set(50)

BorderSize.set(1.0)

Occupiamoci ora del pannelloinferiore. È davvero semplice, poichédobbiamo impostare soltanto ilpannello e due etichette che sarannousate per contenere le nostre

immagini.

Infine occupiamoci del pannellolaterale, che conterrà unScrolledFrame dalla libreria PMW. Èfacilissimo da usare e fornisce unagraziosa interfaccia per le

informazioni sul floss che dovrebbeessere usato. Potete cercare loScrolledFrame per conto vostro,poiché qui abbiamo ancora molto dicui parlare.

Questo è tutto sui widget. Ora

self.lbl6 = Label(self.frm2,text="Max Colors: ")self.entMaxColors = Entry(self.frm2,textvariable=MaxColors,width=3)self.lbl7 = Label(self.frm2,text="Border Size: ")self.entBorderSize = Entry(self.frm2,textvariable=BorderSize,width = 8)self.frmLine = Frame(self.frm2,width=6,height=80,bd=3,relief="raised")

self.lbl8 = Label(self.frm2,text=" Processed Image Colors: ")self.lbl9 = Label(self.frm2,text="Processed Image Stitch Count: ")self.lblProcessedColors = Label(self.frm2, width=10,textvariable=ProcessedColors,

justify=LEFT)self.lblProcessedSize = Label(self.frm2, width=10, textvariable=ProcessedSize,

justify=LEFT)self.btnDoIt = Button(self.frm2,text="Process",width=11,command = self.Process)self.btnShowGrid = Button(self.frm2,text="Hide Grid", width=11,

command=self.ShowHideGrid)self.btnCreatePDF = Button(self.frm2, text="Create PDF", width=11,

command=self.CreatePDF)

# --------------- Bottom Frame ------------------self.frm3 = Frame(self.frame,width=450,height=450,bd=4,relief=GROOVE)self.lblImageL = Label(self.frm3, image=self.DefaultImage,

height=400, width=400, borderwidth=2, relief=GROOVE)self.lblImageR = Label(self.frm3, image=self.DefaultImage, height=400,

width=400,borderwidth=2, relief=GROOVE)

#---------------- Side Frame -------------------self.frm4 = Frame(self.frame,width = 300,height=580,bd=4,relief=GROOVE)# Create the ScrolledFrame.self.sf = Pmw.ScrolledFrame(self.frm4,

labelpos = 'n', label_text = 'Processed Color List',usehullsize = 1,hull_width = 300,hull_height = 567,)

return self.frame

Page 15: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 5 indice^

HOWTO - PYTHON PARTE 55dobbiamo collocarli. Come ho dettoprima, useremo il gestore geometricodi Grid anziché quello assoluto o delpacchetto.

Il metodo Grid posiziona il widgetin una griglia (avete indovinato),referenziata dai titoli di righe ecolonne. Userò il pannello superiorecome esempio (mostrato in alto adestra).

Posizioniamo prima il pannello.

Potete vedere che posizioniamo ilwidget usando il comando{nomewidget}.grid, seguito dalleposizioni delle righe e delle colonne.Notare che stiamo dicendo al widgetdi inserire un intervallo di 5 colonne. Ivalori Padx e Pady piazzeranno alcunispazi extra sia a sinistra che a destra(padx) che in alto e in basso (pady). Ilparametro sticky è simile al comandogiustificato per i testi.

Il pannello centrale è un po' piùcomplicato, ma fondamentalmente lostesso di quello superiore. Potrestenotare un pannello extra al centro delcodice (self.frmLine). Questi cifornisce un grazioso divisore tra lesezioni option e display. Poiché non cisono widget per le linee verticali oorizzontali, ho barato usando unpannello con una larghezza di 6 pixel e

un bordo di 3, rendendolo simile a unasottile linea.

Il pannello inferiore è semplicepoiché c'è solo il pannello e le due

ROW | Col 0 | Col 1 - Col 6 |Col 7 | Col 9 | Col 10 |-------------------------------------------------------------------------------

0 | Label1 | entFileName |btnGenFN| Label2|lblOriginalColorCount |1 | | Label3|lblOriginalSize |

-------------------------------------------------------------------------------

def PlaceWidgets(self,frame):frame.grid(column = 0, row = 0)# ---------------- TOP FRAME ---------------------self.frm1.grid(column=0,row=0,rowspan=2,sticky="new")self.label1.grid(column=0,row=0,sticky='w')self.entFileName.grid(column=1,row=0,sticky='w',columnspan = 5)self.btnGetFN.grid(column=7,row = 0,sticky='w')self.label2.grid(column=9,row=0,sticky='w',padx=10)self.lblOriginalColorCount.grid(column=10,row=0,sticky='w')self.label3.grid(column=9,row=1,sticky='w',padx=10,pady=5)self.lblOriginalSize.grid(column=10,row=1,sticky='w')

# ---------------- MIDDLE FRAME ---------------------self.frm2.grid(column=0,row=2,rowspan=2,sticky="new")self.lbl4.grid(column=0,row=0,sticky="new",pady=5)self.lbl5.grid(column=0,row=1,sticky="new")self.TCombobox1.grid(column=1,row=0,sticky="new",pady=5)self.TCombobox2.grid(column=1,row=1,sticky="new")self.lbl6.grid(column=2,row = 0,sticky="new",padx=5,pady=5)self.entMaxColors.grid(column=3,row=0,sticky="new",pady=5)self.lbl7.grid(column=2,row=1,sticky='new',padx=5)self.entBorderSize.grid(column=3,row=1,sticky='new')self.frmLine.grid(column=4,row=0,rowspan=2,sticky='new',padx=15)self.lbl8.grid(column=5,row=0,sticky='new',pady=5)self.lbl9.grid(column=5,row=1,sticky='new')self.lblProcessedColors.grid(column=6,row=0,sticky='w')self.lblProcessedSize.grid(column=6,row=1,sticky='new')self.btnDoIt.grid(column=7,row=0,sticky='e',padx=5,pady = 5)self.btnShowGrid.grid(column=7,row=1,sticky='e',padx=5,pady = 5)self.btnCreatePDF.grid(column=8,row=0,rowspan=2,sticky='ew',padx=10)

# ---------------- BOTTOM FRAME ---------------------self.frm3.grid(column=0,row=4,sticky="nsew")self.lblImageL.grid(column=0,row=0,sticky="w")self.lblImageR.grid(column=1,row=0,sticky="e")

Page 16: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 6 indice^

HOWTO - PYTHON PARTE 55etichette che contengono leimmagini.

Il pannello laterale è bene o malela stessa cosa, tranne per loScrolledFrame, che consente a unpannello di essere impostatoall'interno del pannello per il widgetdi scorrimento. Creiamo poi qui trewidget e li posizioniamo nelle lorogriglie come intestazioni di colonna.Facciamo ciò poiché qui assegniamo ilpannello interno per lo scorrimento edobbiamo assegnare il genitore(self.sfFrame) dopo averlo creato.

Questo è tutto il lavoro difficileper ora. A questo punto, creeremotutte le funzioni necessarie peravviare la GUI, abbozzando molte diloro fino al prossimo mese. Ce nesono alcune con cui andremo avantiper completarle, ma sono abbastanzacorte.

La prima funzione sarà l'opzioneExit dalla barra del menù. È sottol'opzione di menù File.

def DoExit(self) :sys.exit()

L'unica altra è la funzioneThumbnail. Ci occorre per riempire irettangoli grigi nelle etichette deipulsanti del pannello. Passiamo il

nome del file, l'altezza e la larghezzadesiderati per la miniaturadell'immagine.

Poiché questo articolo è troppolungo, vi darò un elenco di nomi difunzioni, e tutto quello che dovetefare è di abbozzarle usando ilcomando pass. Le riempiremo ilprossimo mese. Vi fornirò la primacome esempio, ma dovreste giàsapere come fare.

def GetFileName(self):pass

Per il resto delle funzioni, vi darògiusto le righe def. Assicuratevi diincluderle tutte nel vostro codice.

Potete vedere che c'è moltolavoro da fare il prossimo mese.Abbiamo ancora quattro ulterioririghe da scrivere prima di chiudere perquesto mese. Questo è al di fuori delcodice della classe.

root = Tk()

root.title("Cross Stitch

Pattern Creator")

test = XStitch(root)

root.mainloop()

La prima riga imposta la finestraroot TopLevel. La successiva neimposta il titolo. La terza istanzia lanostra classe XStitch e l'ultima avvia ilciclo infinito che mostra la UI efornisce il controllo su di essa.

Bene, questo è molto per questomese, ma abbiamo finalmente finito.Potete avviare davvero il programmaper vedere la GUI.

Come sempre, il codice èdisponibili su Pastebin pressohttp://pastebin.com/XtBawJps.

Il prossimo mese arricchiremo ilcodice. Ci vedremo allora.

# ---------------- SIDE FRAME ---------------------self.frm4.grid(column=2,row=0,rowspan=12,sticky="new")self.sf.grid(column=0,row=1)self.sfFrame = self.sf.interior()self.lblch1 = Label(self.sfFrame,text=" Original")self.lblch2 = Label(self.sfFrame,text=" DMC")self.lblch3 = Label(self.sfFrame,text="Name/Number")self.lblch1.grid(column=0,row=0,sticky='w')self.lblch2.grid(column=1,row=0,sticky='w')self.lblch3.grid(column=2,row=0,sticky="w")

def Thumbnail(self,file,hsize,wsize):size = hsize,wsizeextpos = file.rfind(".")outfile = file[:extpos] + ".thumbnail"im = Image.open(file)im.thumbnail(size)im.save(outfile,"JPEG")return im

def ShowHelp(self):, def ShowAbout(self):, def OpenDB(self):, def ShowHideGrid(self):def StitchSizeSelect(self,p):, def AidaSizeSelect(self,p):, def Process(self):def CreatePDF(self):, def OriginalInfo(self,file):, def GetColorCount(self,file):def GetHW(self,file):, def GetHW2(self,file):, def GetColors(self,image):def Pixelate(self,im,pixelSize):, def ReduceColours(self,ImageName):def MakeLines(self,im,pixelSize):, def MakeLines2(self,im,pixelSize):def Rgb2Hex(self,rgb):, def FillScrolledList(self,filename):def GetBestDistance(self,r1,g1,b1):

Page 17: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 7 indice^

HHOOWW--TTOOScritto da Cork Marino LLiibbrreeOOffffiiccee PPaarrttee 3388 -- CCoonntteennuuttii ee II nndd iiccii

I mmaginiamo uno scienziato,chiamiamolo Dott. Brown, che ha

appena redatto un manoscritto perun libro in cui descrive la sua nuovateoria sul viaggio nel tempo. Ilmanoscritto è lungo qualchecentinaio di pagine. Lo ha diviso incapitoli e sezioni, ma deveaggiungere un sommario e un indiceche altri scienziati, che esalteranno eadoreranno il suo lavoro, potrannousare per scorrere con facilità il suolibro. Fortunatamente conosceLibreOffice e sa come usare glistrumenti indice e tabella di Writerper creare un sommario e un indice.Vediamo come fa.

IMPOSTARE LO STILE

In molti dei miei articoli hoenfatizzato l' importanza di usaregli sti l i , ma nel caso che nonaveste ancora recepito ilmessaggio, "usare gli sti l i è i lmodo migliore di risparmiaretempo e creare uniformità neipropri documenti".Fortunatamente, i l Dott. Brownsa dell ' importanza di usare glisti l i e gli usa come aiuto persemplificare la creazione del suo

sommario. Questi sono gli sti l iTitolo "Titolo 1[. . .10].". Puòmodificarl i in ogni modo volutoper l'aspetto, ma siamointeressati sul come li uti l izzanello schema generale deldocumento.

Per impostare lo schemagenerale del suo documento, i lDott. Brown apre la finestra didialogo 'Numerazione capitolo'da Strumenti > Numerazionecapitolo. Selezionando ciascunodei differenti l ivell i , nota che aognuno è già assegnato uno stile

Titolo, ordinati da 1 a 10.

Lavorando con questeimpostazioni predefinite,seleziona livello 1, a cui èassegnato lo sti le del paragrafo"Titolo 1". Per l' impostazione'Numero', seleziona '1, 2, 3, . . . ' .In 'Prima' inserisce 'Capitolo '(notare lo spazio) e in 'Dopo'inserisce ': ' . Usando questometodo, ciascun 'Titolo 1'inserito nel documento dovrebbeavere il formato di 'Capitolo N:Titolo", dove N è il numero delcapitolo.

I l Dott. Brown decide inoltre chenecessita dello schema dinumerazione 1.1 per il secondolivello e di 1.1.1 per il terzolivello. In l ivello 2 cambia'Numero' in '1, 2, 3, . . . ' ,impostando 'Mostra sottolivell i 'con 2 e aggiungendo un punto euno spazio in 'Dopo'. Per il l ivello3, imposta 'Numero' con '1, 2, 3,. . . ' , 'Mostra sottolivell i ' con 3 eaggiunge sempre un punto e unospazio in 'Dopo'.

Con tutti questi sti l i impostati, i lDoc. Brown si appresta alavorare sul suo documento.Util izza 'Titolo 1' per tutte leintestazioni di capitolo, 'Titolo 2'e 'Titolo 3' per i paragrafi dentroai capitoli . Poiché si è preso deltempo per impostare i propristi l i , può creare facilmente il suosommario una volta che il suodocumento è finito.

CREARE IL SOMMARIO

A stesura fatta, i l Dott. Brown èpronto per creare il suosommario. Posizionando ilcursore sotto l'ultima riga della

Page 18: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 8 indice^

HOWTO - LIBREOFFICE

pagina del titolo, decide che ilsommario deve iniziare in unanuova pagina. Inserisci >Interruzione manuale facomparire la finestra di dialogo'Inserisci interruzione', dallaquale seleziona 'Interruzionepagina' e fa clic su OK. I l cursoresi sposta all ' inizio di una nuovapagina.

Ora, per creare il sommario,Inserisci > Indici > Indici etabelle, che farà apparire lafinestra 'Inserisci indice/tabella' .Cambia il 'Titolo' in "In meritoalla matematica dei viaggi neltempo". Si accerta poi che in'Tipo' sia selezionato 'Indice

generale'.

La sezione 'Crea indice/tabella'gl i fornisce due opzioni:'Documento intero' o 'Capitolo'.Se vuole, può posizionare unsommario all ' inizio di ciascuncapitolo ripetendo la proceduradi cui sopra e selezionando'Capitolo' nella sezione 'Creaindice/tabella' . Comunque luicrea il sommario per l' interolibro, quindi seleziona'Documento intero'.

Infine, c'è l 'opzione 'Valuta fino all ivello' . Qui seleziona il l ivello diprofondità del suo sommario. Selo cambia in 1, vengono mostrati

solo i titoli dei capitoli . Dovrebbepoi creare un sommario perciascun capitolo per mostrare iparagrafi. Alla fine, decide dimostrare 3 livell i di intestazionenel sommario e imposta taleopzione con 3.

Fa quindi cl ic su OK e crea ilsommario. Senza nessunamodifica, vengono aggiunti alsommario i numeri di pagina peri tre livell i . Ciascun nuovo livelloviene indentato un po' permostrare che si tratta di unlivello inferiore. Ogni titolo delsommario è un collegamentoall ' intestazione nel documento.Ciò diventa comodo quando siconverte il documento in PDF edEbook. Potrebbe tenersi i l suosommario così com'è, efunzionerebbe alla grande, madecide che sono necessari unpaio di tocchi in più.

MODIFICARE IL SOMMARIO

Per cambiare l'aspetto deidifferenti l ivell i nel sommariostesso, i l Dott. Brown devemodificare gli sti l i ' Indice1[. . .10]' . C'è anche lo sti le 'Titoloindice', usato per lo sti le deltitolo del sommario.

I l Dott. Brown vuole centrare iltitolo, al largarlo e renderlo ingrassetto. Apre la finestra didialogo 'Sti l i e formattazione'attraverso la nuova barralaterale (non più sperimentalenella versione 4.2). Potrebbeaprirla anche facendo clic sulrelativo pulsante nella barradegli strumenti 'Formattazione',oppure attraverso il menùFormato > Stil i e formattazione.Fa clic con il tasto destro sullosti le 'Titolo indice' e seleziona'Cambia. . . ' . Nella scheda'Carattere', seleziona lo StileGrassetto e imposta laDimensione a 20pt. Passa poialla scheda 'All ineamento' e

Page 19: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 1 9 indice^

HOWTO - LIBREOFFICEseleziona 'Al centro'. Preme OK esalva i suoi cambiamenti.

Poiché il Dott. Brown ha inclusosolo i primi tre livell i , devecambiare solo gli sti l i diparagrafo 'Indice 1', ' Indice 2' e'Indice 3'. I l primo livello lo vuoleun po' più grande e in grassetto,poiché si tratta dei titoli deicapitoli . Modifica lo sti le ' Indice1' selezionando Grassetto ecambiando la Dimensione a 16ptsulla scheda 'Carattere'. Perdistinguere il secondo livello dalterzo, imposta il secondo conGrassetto ma lascia laDimensione predefinita. Per ilterzo, cambia il Carattere inCorsivo lasciando sempre laDimensione predefinita.

I l Dott. Brown salva il suodocumento con il suo sommarioappena formattato. È ora a unpasso dal pubblicare il suo libro edal diventare famoso. Sorrideimmaginando le entusiasticherecensioni che riceverà daicolleghi ma, aspetta. . . che diredell ' indice alfabetico?

CREARE LE VOCI DELL'INDICE

In un libro di tale importanza

scientifica, un indice alla finepotrebbe aiutare i ricercatori atrovare un riferimento adeterminate conoscenzescientifiche contenute nel l ibro.Con la stesura finale completata,i l Dott. Brown inizia a leggere ilsuo manoscritto per determinarequali parole inserire nell ' indice.

Prima di creare l' indice stesso,ha necessità di creare le vocidell ' indice per le parole chedecide di includere. Per iniziare,seleziona la prima parola daindicizzare; poi, dal menù,seleziona Inserisci > Indici >Voce. Appare la finestra 'Inseriscivoce di indice'.

Lui lascia i l campo Indice con ilvalore predefinito 'Indiceanalitico'. Se volesse creare unindice personalizzato, lo

potrebbe fare usando il pulsanteaffianco alla l ista a tendina.

In 'Voce' c'è la parola o frase daindicizzare, che non deve esserenecessariamente la stessacontenuta nel manoscritto. Peresempio, nel suo indice hacambiato il termine 'angolosupplementare' in 'angolo,supplementare'. Continua ariferirsi al la stessa posizione nelmanoscritto perfino se cambial'ordine delle parole.

Writer consente due livell i di"criteri" o categorie perraggruppare insieme gli indici.Per esempio, i l Dott. Browndecide che tutti gl i indici relativiagli angoli dovrebbero apparireinsieme nell ' indice, tanto quantoi diversi operatori usati. Per lavoce dell 'angolo, inserisce'angolo' in '1° criterio' e per lavoce dell 'operatore inserisce'operatore' in '1° criterio'.Sebbene ha creato solo un livellodi criterio per ciascun caso,poteva crearne due inserendo unsecondo valore in '2° criterio'.

Ogni volta che si trova sullapagina dove compare il testoprincipale per l'argomento,dovrebbe spuntare 'Voce

principale'. Ciò fa apparire inmodo predefinito il numero dipagina in grassetto per quellavoce (si può cambiare l'aspettodel numero di pagina della voceprincipale modificando lo sti ledel carattere in 'Indiceprincipale').

I l Dott. Brown spunta la casella'Applica a tutti i testi simil i ' , checrea una voce ogni volta che laparola o la frase compare nelmanoscritto. Lascia non spuntato'Maiuscole/minuscole' poichénon vuole variazioni al la parola ofrase indicizzata.

Una volta terminato con unaparola, i l Dott. Brown fa clic su'Inserisci ' . Lascia aperta lafinestra e seleziona una nuovaparola o frase nel suodocumento. Quando fa clic sullafinestra, la nuova parola o frasecompare nel campo 'Voce'.Apporta i cambiamenti necessariper tale voce e preme su'Inserisci ' . Questa capacità dipassare dalla finestra almanoscritto rende più veloce lacreazione delle voci dell ' indice diquanto lo sarebbe aprendo ognivolta la finestra di dialogo.

Page 20: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 20 indice^

La storia lavorativa, diprogrammazione e informatica diElmer Perry include un Apple I IE, conalcuni Amiga, un generoso aiuto diDOS e Windows e una spolverata diUnix, il tutto ben mescolato con Linuxe Ubuntu. I l suo blog èhttp://eeperry.wordpress.com

HOWTO - LIBREOFFICE

CREARE L'INDICE

Una volta che ha finito di crearele sue voci dell ' indice, i l Dott.Brown è pronto per crearel' indice vero e proprio. Si portasull 'ultima pagina delmanoscritto e, decidendo chel' indice deve partire in unanuova pagina, inserisce uninterruzione (Inserisci >

Interruzione manuale;' Interruzione pagina'; OK).

Con Inserisci > Indici e tabelle,compare la finestra 'Inserisciindice/tabella' . Sulla scheda'Indice/tabella' seleziona 'Indiceanalitico' in 'Tipo', cambia il'Titolo' in ' Indice' e toglie laspunta in tutte le voci, tranne in'Riunisci voci uguali ' . Ciò

impedisce la creazione di vociseparate a causa del maiuscoloo minuscolo.

I l Dott. Brown decide che l' indicedeve avere due colonne perconservare un po' di spazio.Nella scheda 'Colonne' cambia ilnumero delle colonne in 2. Percreare dello spazio tra le duecolonne, cambia la 'Distanza' in0.20" (0.50 cm). Soddisfattodelle impostazioni volute per ilsuo indice, fa clic su OK. L'indiceappare quindi nella pagina nelmodo in cui lo ha formattato.

Ora il manoscritto del Dott.Brown è pronto per lapubblicazione. Inizia a sognare leentusiastiche recensioni chericeverà dai colleghi. Grazie aLibreOffice, è in grado diaggiungere il suo sommario eindice piuttosto velocemente.

Il Podcast Ubuntu copre tutte leultime notizie e novità che sipresentano agli utenti di UbuntuLinux e ai fan del software libero ingenerale. La rassegna è rivoltatanto all'utente più fresco quanto alprogrammatore più esperto. Lenostre discussioni riguardano losviluppo di Ubuntu ma non sonoeccessivamente tecniche. Siamoabbastanza fortunati da averequalche gradito ospite nello show apassarci novità di prima mano sugliultimi eccitanti sviluppi a cui stannolavorando, in modo comprensibile atutti! Parliamo inoltre dellacomunità Ubuntu e di cosa leinteressa.

Lo showè offerto dai membri dellacomunità Ubuntu Linux del RegnoUnito. Ed essendo coperta dalCodice di condotta di Ubuntu èadatta a tutti.

Lo showè trasmesso live ogni duesettimane il martedì sera (orainglese) ed è disponibile per ildownload il giorno seguente.podcast.ubuntu-uk.org

Page 21: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 21 indice^

HHOOWW--TTOOScritto da Floris Vanderhaeghe GGRRUUBB22 && MMuullttiibboooottiinngg PPaarrttee 22

N ella prima parte di questamini-serie, ho spiegato le

funzionalità base di GRUB (versione2) e il suo file di configurazionegrub.cfg. In definitiva, vogliamorealizzare un sistema multibootdove cambiamenti o nuoveinstallazioni di sistemi operativi (OS)non vadano a scombinare GRUB. Ilvostro menu GRUB dovrebbeoffrirvi la scelta fra i vari OSinstallati. Un pre requisitofondamentale è la conoscenza dicome lavora GRUB. Seguitemi perscoprirlo!

Per ora, consideriamo unanormale installazione di GRUB nelMaster Boot Record (MBR) delvostro hard disk, che, per esempio,è stato organizzato per voi quandoavete installato Ubuntu. Se aveteuna macchina libera su cui potetegiocare con questa installazione diGRUB, fatelo! Potete impararemoltissimo sperimentando conGRUB (vedete anche l’articolo allafine dell’articolo). Altrimentifidatevi della spiegazioni seguenti,oppure siate più prudenti nellevostre prove - l’esatta natura deivostri esperimenti sarà non solo

determinata da come GRUBfunziona, ma anche se funzionaancora…

Abbiamo già imparato che GRUBsi avvia dal MBR al boot dell’harddisk, e questo si basa su grub.cfgche si trova in /boot/grub/ in unapartizione specificata da GRUBdurante l’installazione.Attualmente, questa “dipendenza”da grub.cfg è necessaria solo permostrare il semplice menu dal qualepotete scegliere l’OS usando lefrecce e Invio. GRUB da solo puòesistere senza grub.cfg, sebbene senecessita ancora il caricameno dispecifici moduli da /boot/grub/ peraccedere a tutte le sue funzionalità.Potete accedere al GRUB “nudo” dalsuo stesso menu premendo ‘c’(premete Esc per ritornare al menu).Benvenuti nel prompt dei comandi!I l sistema operativo GRUB sta oraattendendo che inseriate deicomandi - e questo vi permette diavere tutto sotto controllo! Questopuò risultare utile quando, perqualche ragione, il menu GRUB nonsi carica oppure quando la confermacol pulsante Invio non funziona. Unadiscussione più approfondita è

molto lontana dall’obiettivo diquesto articolo, e ne faròriferimento a fine articolo. Parleròdi alcuni comandi introduttivi allafine dell’articolo, giusto per potervifar provare...

Sì signori e signorine,padroneggiare la linea di comandoapre un nuovo mondo di possibilità -anche in GRUB!

Il suo menu sarà il nostroobiettivo ora. I suoi componentisono controllati dai contenuti di/boot/grub/grub.cfg. Guardatebene grub.cfg. E’ il file che GRUBlegge. Che c’è dietro? Niente, masolo comandi! I l manuale ufficialesu gnu.org lo descrive come“linguaggio di scripting integrato inGRUB”. Osservando attentamente,potete già comprendere tanti deicomandi scritti in esso: svariatimoduli vengono caricati coninsmod, per esempio per gestire lepartizioni msdos, o per visulaizzareimmagini png o jpeg. Più avanti,alcune delle cosiddette “voci dimenu” (le linee del menu GRUB)sono elencate con il nome del loroOS più la versione del kernel,seguite ognuna dalle istruzioni

specifiche di cui ha bisogno peravviare il corrispettivo OS. Leistruzioni essenziali sono elencate diseguito ad ogni voce in modo daavviare un OS: l’hard disk e ilnumero delle partizioni dove l’OSrisiede, l’indirizzo delle cartelle, ilnome del kernel che verrà utilizzatoe l’immagine ramdisk iniziale (cheviene caricata per prima). I lcomando per puntare al kernelLinux è… linux.

Sono sicuro che a questo puntonon vogliate modificare grub.cfg, edad ogni modo non è raccomandatofarlo. Non abbiare timore: laconfigurazione viene creata per voiquando digitate ‘sudo update-grub‘nel terminale. I l comando update-grub è rilasciato con il pacchettogrub-pc, che è inoltre responsabiledell’installazione del GRUB nel MBR.Questo comando legge i contenutidi svariati file: da una parte/etc/default/grub, che contiene varisettaggi personali, dall’altra gliscript da eseguire in /etc/grub.d/.Giocheremo con gli script la possimavolta.

Page 22: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 22 indice^

HOWTO - GRUB & MULTIBOOTINGPer ora, giocheremo in

/etc/default/grub. La prima parte diquesto file assomiglia a quellamostrata nella prossima pagina inalto.

• la voce di menu che vieneselezionata di default quandocompare il menu di GRUB èdeterminata da GRUB_DEFAULT=x.Dovete contare il numero dellariga, partendo da... zero. Sfortuna.

• il conto alla rovesca (in secondi) ,dopo il quale la scelta di defaultviene applicata se non vienepremuto nessun tasto, vienedeterminato da GRUB_TIMEOUT (insecondi) .

• GRUB_HIDDEN_TIMEOUT=0dovrebbe essere commentato conun hash (#) se non volete che ilmenu venga nascosto. Questopotrebbe necessitare di uncambiamento per la vostra primadistro Linux installata se non aveteWindows installato.

• GRUB_CMDLINE_LINUX_DEFAULTstabilisce i parametri del kernel daaggiungere ai comandi linux, perogni voce di menu di default perdistribuzioni Linux in grub.cfg. Vocidi recupero escluse.

• aggiungendoGRUB_BACKGROUND=/path/nomefile si può cambiarel’immagine di sfondo delmenu principale. Inalternativa, aggiungendosemplicementeun’immagine (jpg o png) inboot/grub dovrebbe esseresufficiente per esserecaricata dopo aver lanciato update-grub.

Cambiate queste impostazioni avostro piacimento. Ora viene ilmomento di aggiornare ilcorrispondente/boot/grub/grub.cfg. Prima di tutto,fate un backup del vostro grub.cfgesistente. Poi eseguite questocomando nel terminale:

sudo update-grub

Vedrete vari messaggi durante ilprocesso, che dovrebbe impiegaremeno di un minuto. Dopodiché dateun’occhiata a grub.cfg per verificareche sia tutto apposto. Riavviate egodetevi i vostri cambiamenti!

Eseguire il boot di avvio con ungrub.cfg errato (o assente), vilascierà nel terminale di GRUB,oppure, nel peggiore dei casi, nellamodalità di recupero di GRUB.

Quindi è una buona idea esserpreparati per questo (guardate ladocumentazione online). I l migliormodo per fronteggiare questo tipodi cose è fare pratica nel terminaledi GRUB e imparare ad avviare isistemi operativi da qui. Sarebbeconveniente imparare ciò, inveceche sperimentare subito congrub.cfg (così da avere ancora unmenu GRUB a vostra disposizione).Quando vedete il suddetto menudurante il boot, premete ‘c’ pergiungere al prompt dei comandi (edEsc per tornare al menu). Orapotete imparare ad avviaremanualmente comandi (invece chelasciar fare tutto al menu). Ho fattouna lista di di alcuni comandi percominciare:

set pager=1 # per evitarelunghi output sullo schermo;

help [comando] # senzaargomenti, mostra una listadei comandi disponibili; conargomenti, mostra l’aiuto perspecifici comandi;

set # mostra una lista delleimpostazioni

ls # mostra il contenuto diuna cartella

cat # visualizza il contenutodi un file

boot # comincia la sequenzadi boot; identico allaselezione di un OS dal menudi GRUB premendo Enter.

Questo comando funzioneràsolo se è stato detto a GRUB doverisiede l’OS da avviare: potetetrovare questi comandi essenzialisotto ogni ‘voce di menu’ ingrub.cfg, oppure aspettate fino allaprossima volta! ;) .

Floris Vanderhaeaghe divenne unfan di Linux attraverso Ubuntu 1 0.1 0.Potete inviargli una mail [email protected]

# If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg.# For full documentation of the options in this file, see:# info -f grub -n 'Simple configuration'GRUB_DEFAULT=0#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=4GRUB_CMDLINE_LINUX_DEFAULT="quiet"GRUB_CMDLINE_LINUX=""

Page 23: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 23 indice^

HHOOWW--TTOOScritto da Nicholas Kopakakis BBlleennddeerr PPaarrttee 11 11 cc

O k. Ora dobbiamo impostare lanostra scena.

Per questo progetto preferisco ilrender di Blender, per cui se siete sulCycles modificatelo in Blender.

Prima di tutto dobbiamoimpostare lo sfondo. Quindi andate suWorld nel pannello Properties eselezionate per il parametro Horizoncolor un bel nero.

Passiamo quindi a sistemare lamacchina da presa.

Selezionate la cinepresa e, qualorafosse nascosto, premete N per aprire ilpannello proprietà. Impostate X, Y e Za 0 e la rotazione dell'asse X a 75 gradi.

Vogliamo quindi usare l'immaginecon il logo di StarWars scaricata inprecedenza.

Per farlo, aggiungete un piano,create un materiale e sotto Textureselezionate Image orMovie. Quindiaprite il logo di StarWars. Alla finedovreste avere qualcosa di simile aquesto per il materiale e la texture delnostro piano.

Un aggiustamento che dovretefare riguarda lo Specular Colorpresente nella scheda Material,mentre nella scheda Texture bisognamodificare l'impostazione predefinitadi Image Mapping Extension daRepeat ad Extend.

Ora dobbiamo posizionare il nostrologo verso la macchina da presa comenel pannello proprietà qui riportato(alla pagina seguente, sulla sinistra).

Un altro aspetto da considerare èla luce di scena. Siccome vogliamoun'illuminazione generalizzata visuggerisco 4 luci disposte come verticidi un quadrato. Qualcosa comenell'immagine illustrata (paginaseguente, in basso a sinistra).

Finalmente possiamo sistemare ilnostro oggetto di testo a scorrimento.

Page 24: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 24 indice^

HOWTO - BLENDER

Dobbiamo anche applicare ilmateriale al nostro testo ascorrimento.

Selezionate l'oggetto testoscorrevole e sotto la scheda Materialcambiate il valore di Diffuse Color suRed:0.898, Green:0.694 e Blue:0.227.Vi sarete chiesti: “Cosa sono questinumeri?” Beh, abbiamo preso nota deicolori direttamente dal sitohttp://www.theforce.net/fanfilms/postproduction/crawl/opening.asp.

E come vengono fuori? Red:229,

Green:1 77 e Blue:58. Per convertirequesti numeri nella percentuale dicolore che Blender usa per l'RGB, fate icalcoli in Blender stesso, comenell'immagine in basso (ricordate chel'intervallo di colore è compreso tra 0 e255). Per cui 229/255 fa 0.898 per ilvalore Red, 1 77/255 fa 0.698 perGreen e 58/255 fa 0.227 per Blue.

Adesso che ogni cosa èal suo posto è tempo difar partire la nostraanimazione. Premete il

pulsante più a sinistra sullaTimeline per assicurarvi di esseresul fotogramma 1 .

Premete Aper selezionare tuttoquello che è nella scena e premete Iper inserire un fotogramma chiave.Dalla lista selezionate LocRotScale.

Recatevi al fotogramma 200oppure digitate 8 (secondi) X 25(fotogrammi)

Selezionate l'oggetto con il logo diStarWars (ossia il piano che abbiamocreato prima) e cambiatene leproprietà di posizione a 1 00 per l'asseY e -26 per l'asse Z.

Premete nuovamente il tasto I perinserire un nuovo fotogramma chiave.

Fatto ciò, selezionate l'oggetto conil testo scorrevole. Andate all'ultimofotogramma premendo il pulsante piùa destra tra quelli di navigazione dellaTimeline e cambiatene la posizione in1 24 per l'asse Y e -24 per l'asse Z.

Premete il tasto I ancora una voltaper inserire un nuovo fotogrammachiave sull'ultimo fotogramma.

Ecco fatto. Abbiamo terminatoun'animazione super-extra-semplice.Ma, se riuscirete a capire chel'animazione non è altro che un lavorodi impostazione dei fotogrammichiave, potrete animare qualunquecosa.

Salvate il vostro progetto.

Siamo pronti per renderizzare. Madi questo parleremo il mese prossimo.

Nicholas vive e lavora in Grecia. Halavorato per una casa di post-produzione per diversi anni ed èmigrato su Ubuntu perché“renderizza più velocemente”.Potete mandargli una mailall' indirizzo [email protected]

Page 25: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 25 indice^

HHOOWW--TTOOScritto da Mark Crutch II nnkkssccaappee -- PPaarrttee 2266

Lo strumento Spray di Inkscape èl'equivalente della grafica

vettoriale di strumenti analoghi dalmondo bitmap. È usato per creareadattamenti semi-casuali di oggetti, maa differenza della versione bitmap, ognioggetto può esseremanipolatoindividualmente come qualsiasi altroelemento vettore. Questo lo rendeparticolarmente adatto per riempirerapidamente grandi aree con oggettisimili; pensate a una raffica di neve o aun sentiero coperto di foglie autunnali,ma può anche essere prezioso in scalaminore perprofili strutturati e forme.

Lo strumento Spray si attivafacendo clic sull'icona nellabarra degli strumenti o

premendo il tasto "A" oppureSHIFT+F3. Come al solito, la barra dicontrollo dello strumento consente dimodificarne il comportamentomediante i pulsanti e i cursori,quest'ultimi con un clic del tasto destrosulmenù contestuale, che espone unanotevole gamma di valori e, forseancora più importante, etichetta i valoripredefiniti in modo da poter tornarerapidamente a qualcosa di ragionevole.

Per utilizzare lo strumento spray è

necessario prima un oggetto daspruzzare. Ho usato un semplicedisegno di una foglia perquestoesempio, costituito da alcuni percorsiraggruppati insieme. Successivamente,è necessario selezionare l'oggetto conlo strumento di selezione prima dipassare allo strumento Spray. Con ilprimo pulsante "Modalità" selezionatoe con tutti i cursori ai loro valoripredefiniti, spostiamo il cursorenell'area della tela, teniamo premuto iltasto sinistro delmouse e spostiamolo.Copie dell'oggetto dovrebbero esserespruzzate sullo schermo con scala erotazione casuale, che nelmio casoproduce un cumulo di foglie (con lafoglia originale a sinistra).

La cosa importante da notare è checiascuna foglia creata dallo strumentoSpray è un oggetto indipendente chepuò essere ulteriormentemanipolato.Non ci piace la posizione di una dellefoglie? Spostiamola o eliminiamola. Sela dimensione è sbagliata,ridimensioniamola utilizzando lostrumento Selezione. Ruotiamola,cambiamone i colori di riempimento etraccia, spostiamola verso l'alto o versoil basso in Z-index, o raggruppiamolacon alcune vicine. Tutto ciò che ha fattolo strumento Spray è lo stesso lavoroche si potrebbe fare copiando l'oggettooriginale perpoi incollarlo più volte, conalcune semplici regolazioni per ciascunacopia.

Se lo strumento Spray è solo unmodo fantasioso per fare un lavoro dicopia e incolla veloce, che cosa succedequando si ha più di un oggettoselezionato? In questo esempio, hofattomanualmente due copie deldisegno della foglia e ne ho cambiato icolori. Poi le ho selezionate tutte e tre esono passato allo strumento Spray,utilizzando gli stessi parametri di prima.

Potreste forse aver creduto cheavrei spruzzato tutte e tre le foglie sullatela, ma guardate le rispettive posizionie rotazioni: ciascuna di esse è spruzzataindipendentemente dalle altra. Latrilogia originale forma una linea, contutti i gambi orientati nella stessadirezione, ma il risultato spruzzato nonconserva questo rapporto tra glielementi. In questo caso ciò èesattamente quello che voglio, ilmiosfondo frondoso non sembrerebbeproprio la stessa cosa se fosseinteramente composto dal trioirreggimentato, ma se volete questoeffetto, dovete prima raggruppare glioggetti originali. In questomodo lostrumento Spray ha a che fare con unsolo oggetto (composto) piuttosto checon tre separati.

Page 26: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 26 indice^

HOWTO - INKSCAPEOra che ci sono le basi dello

strumento, diamo un'occhiata aicontrolli disponibili e agli effetti cheognuno di loro produce. Partendo dasinistra, i pulsanti Modalità sono senzadubbio i più importanti in quantodettano ilmodo in cui verrà di fattostrutturato il risultato finale, sia che viritroverete con oggetti reali, con cloni,o con un singolo percorso complesso.

Una di queste parole, "cloni", ènuova in questa serie, ed è unargomento di cui mi occuperòmoltopiù approfonditamente nei prossimiarticoli. Perora è sufficiente sapere cheun clone è come un duplicato di unoggetto chemantiene uncollegamento diretto con l'originale:ogni modifica apportata all'originaleviene riflessa immediatamente sulclone. Prendete in considerazione ilcambiamento dei colori delle foglie nelnostromucchio. Con ogni fogliaspruzzata come copia dell'originale,avremmo bisogno di sezionare ilmucchio e colorare di nuovo ogni fogliasingolarmente. Nondimeno, seselezioniamo il secondo pulsanteModalità al fine di creare invece deicloni, allora la modifica del colorerichiederà di modificare solo l'originale.Ogni modifica all'originale si propaga,così si può anche entrare nel gruppo emodificare i percorsi per cambiare laforma della foglia, con tutte le

modifiche riflesse immediatamentenelle versioni spruzzate.

Quando creare cloni e quandocreare copie è, a volte, qualcosa difficileda giudicare. Come regola generale,però, è di solito più sicuro creare cloni inquanto possono poi essere convertiti incopie effettive selezionandoli e poiusando il comandoModifica > Clona >Scollega clone dalmenù, mentre non èpossibile convertire nella direzioneopposta. In questo stessomenù, la voceSeleziona originale selezioneràl'oggetto originale "genitore" per ilclone attualmente attivo, un trucco chepuò essere prezioso quando ilmucchiodi foglie cresce abbastanza da oscuraregli originali.

Il terzo pulsanteModalità funzionasolo quando l'oggetto che si staspruzzando è un unico percorso.Anziché creare oggetti o cloni separati,aggiunge ogni pezzo spruzzato comeparte di un unico percorso complesso.In questa immagine, le stelle rosse sonostate create come cloni dell'originale,mentre le stelle verdi sono state createutilizzando questa modalità "Percorso".Come potete vedere, le aree in cui glioggetti spruzzati si sovrappongonodifferiscono considerevolmente e inmodalità Percorso il risultato finale è ununico percorso che comprende anchequelle stelle che sembrano essereseparate.

Avendo discusso dei pulsantiModalità, è ilmomento di passare ai

restanti controlli sulla barra di controllodello strumento. Con l'eccezione di unpulsante fuori luogo, sono tutti cursoriche vanno fino a 1 00 partendo da 1 oda 0, a seconda del controllo.

Il primo cursore, Larghezza, alterasemplicemente la dimensione dell'areadi spruzzo. Questo valore si riflettenella dimensione del cerchio arancioneche circonda il cursore quando è sullatela. Si può pensare a questo circolocome contenente tutte le possibiliposizioni che potrebbero essere usateperposizionare il centro della formaspruzzata. Mantenendolo piccolo,permette di vincolare lo spray vicino alcursore delmouse, mentre un valoreelevato posiziona gli oggetti su unasuperficie più ampia che è solo centratasul cursore.

Il cursore successivo, Quantità, èusato per regolare la "velocità" dellabomboletta spray, o il numero dioggetti che vengono creati in undeterminato periodo. Il pulsante asinistra può essere utilizzato perinfluenzare omeno la quantità in basealla pressione dello stilo su unatavoletta grafica sensibile allapressione. Potreste ricordare dipulsanti simili dagli strumenti Calligrafia(vds. parte 1 8 di questa serie) e Tracciati(parte 23), ma in entrambi i casi il tastoè posizionato alla destra del cursore di

Page 27: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 27 indice^

Mark usa Inkscape per creare trewebcomic, 'The Greys', 'Monsters,Inked' ed 'Elvie' , che possono esseretrovati tutti pressohttp://www.peppertop.com/

HOWTO - INKSCAPEcontrollo, anziché a sinistra. Questaincoerenza nella UI è probabilmentesolo una svista, ma se si utilizza unatavoletta grafica, è opportunoverificare i suggerimenti dei comandiperquesti pulsanti, per confermareesattamente che controlli influenzano.

I comandi Rotazione e Scale sonoabbastanza ovvi. Basta essereconsapevoli che i valori dei cursoriutilizzano una scala arbitraria che va da0 a 1 00, piuttosto chemostrare i realinumeri rappresentati: perRotazione, ilcursore imposta la quantità massimaper cui ogni copia può essere ruotatadall'originale, con 1 00 che significa più omeno 1 80°; per Scale, un valore di 1 00indica che le copie spruzzate possonoarrivare fino a due volte la dimensionedell'originale. Impostandoli entrambi azero, le copie saranno tutte identichetra loro, nonché all'oggetto originale. Èun modo semplice e veloce pertrasformare le nostre semplici foglie inuna foresta per la vignetta.

Gli ultimi due cursori determinanocome sono distribuiti gli oggettispruzzati su tutta l'area disponibile. Iloro effetti sono più visibili quando ilcursore Larghezza è abbastanzagrande. Pensate allo strumento Spraymentre colloca le copie del vostrooggetto su un cerchio: il cursore Focusdetermina la dimensione del cerchio e il

cursore Scatter determina quantovicino al cerchio è posta ogni copia.

Mantenendo basso il valore diScatter, è facile vedere l'effetto delcursore Focus. Impostandolo a 0manterrà tutte le copie in un cerchiochiuso sotto il cursore,indipendentemente dal valore inLarghezza. Impostarlo con qualsiasialtro valore fino a 1 00, disegnerà glioggetti intorno alla periferia dell'area dispruzzo, creando un anello di copie lacui dimensione è determinata dalparametro Larghezza. In questoesempio, ho spruzzato nello stessopunto, con Scatter = 0, ma condifferenti valori di Focus: le stelle blucon Focus = 0, le verdi con Focus = 20 ele rosse con Focus = 1 00.

Con il controllo Scatter impostato azero, le copie sono postemolto vicino al

cerchio definito dai controlli Larghezzae Focus. Incrementare lo Scatterpermette alle copie di posizionarsi piùlontano da quel cerchio, sebbene sianoancora posizionate in modo casuale,così alcune cadranno inevitabilmentevicino ad esso. Mettere tutto a 1 00 dàlibero sfogo a Inkscape di collocareoggetti ovunque all'interno della zonadi spruzzo, a un punto tale che il valoredi Focus cessa di avere un reale effetto.

Lo strumento Spraypuò essere

molto utile per creare una distribuzionecasuale di oggetti o, vincolando alcunidei valori, un percorso decorativo ocontorno. È un peccato che non siapossibile controllare più parametriutilizzando la pressione o l'inclinazionedi una tavoletta grafica. È ancheinopportuno che lo strumento non sipreoccupi della direzione delmovimento; sarebbe bello disegnarefacilmente una linea di impronte ofrecce svincolate dal seguire il percorsomentre si sposta ilmouse. Nonostantequesti difetti, per alcuni effetti lostrumento Spray è prezioso e, se sivuole introdurre qualche casualità neidisegni, vale la pena di esplorarloulteriormente.

Page 28: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 28 indice^

HHOOWW--TTOOScritto da Ronnie Tucker AArrdduu iinnoo

È arrivato il momento dioltrepassare l'esitazione con glischermi LCD e provare qualcosa didiverso dai display dei computer.

Devo essere onesto eammettere che mi ci sono voluticinque tentativi per riuscire a farfunzionare lo schermo LCDcorrettamente. Il codice d'esempionell'IDE di Arduino mostra che glistati di cui ha bisogno l'LCD si basanosono solo su 6 collegamenti. Balle!Lo schermo richiede qualcosa come

1 2 delle 1 6 connessioni disponibilidato che sono necessari(ovviamente) l'alimentazione, lamassa e almeno un collegamento alpotenziometro (pot) o piedino PWMper controllare la luminosità delloschermo. Dopo i primi due tentativiho cominciato a sentirmi frustrato eterminato col staccare tutti icollegamenti e ricominciare da capo.La quinta volta è stata quellafortunata! Finalmente ho ottenuto ilmessaggio "Hello World!" e potutoregolare la luminosità usando un

potenziometro da 1 0k.

SENSORE DI UMIDITÀ

Avevo già precedentementearmeggiato con il mio sensore diumidità. C'è voluta un po'

d'investigazione per ottenere uncodice decente dato che quellocorredato al sensore non sicompilava. Alla fine ho trovato delcodice qui:http://playground.arduino.cc/main/DHT1 1 Lib scritto per il modulo DHT1 1

Page 29: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 29 indice^

HOWTO - ARDUINO(usato da questo sensore). Comespecificato, bisogna copiare il codicecontenuto nella pagina e incollarlo indue relativi file (dht1 1 .h edht1 1 .cpp). Ora posso compilare ilcodice di quella pagina per fare inmodo che il sensore di umiditàvisualizzi temperatura e umidità suldisplay seriale nell'IDE di Arduino.Collegare il sensore è abbastanzafacile poiché per essere collegato gliservono soltanto 5v (piedinocentrale, non contrassegnato); i pinterra (ground) e S(ensore) sicollegano all'Arduino.

ASSEMBLAGGIO!

Con queste due componenti(indipendentemente) funzionanti èarrivato il momento di provare acombinare il codice (e quindi le partistesse) su una singola schedacreando un termometro digitale. Èstato più facile di quanto miaspettassi. Aperto il codice delsensore di umidità, l'hosemplicemente copiato sopral'include dell'LCD, la rigad'inizializzazione, e incluso la

variabile d'umidità nel comandolcd.print; et voilà!

Il mio codice (per vostro piacere)è qui: http://pastebin.com/jtkK38ES

Come potete vedere, i gradicentigradi (°C) non vengono mostraticorrettamente. Un gentile Redditor(n.d.t. utente del sito reddit) mi hascritto il seguente messaggio ecodice (non l'ho ancora testato).

Ecco un fantastico strumento chevi consente di creare i vostri caratteripersonalizzati:http://fusion94.org/lcdchargen/

// degree fahrenheitbyte degFChar[8] = {B01000,B10100,B01000,B00011,B00100,B00111,B00100,B00000};

void setup(){// ...lcd.createChar(3,degFChar);// ...}

void loop(){lcd.setCursor(0,0); //Start at character 0 on line 0lcd.print("Temp:");lcd.print(tempValue);lcd.write(byte(3)); //Degrees f}

Ronnie è il fondatore (e tuttora)editore di Full Circle. E' quel tipo diragazzo a cui piacciono arti e mestierie ora è anche un riparatore diArduino.

Page 30: Full Circle Magazine nr. 86 italiano

HHOOWW--TTOOScritto da Ronnie Tucker SSccrriivveerree ppeerr FFuu llll CCii rrccllee MMaaggaazziinnee

Linee guida

L 'unica regola per un articolo è chedeve essere collegato in

qualche modo a Ubuntu o a unadelle sue varie derivate (Kubuntu,Xubuntu, Lubuntu, ecc).

Regole

• Non c'è un limite di parole per gliarticoli, ma vi avvisiamo che gli articolilunghi possono essere divisi in variedizioni.

• Per consigli, riferitevi alle Lineeguida Full Circle ufficiali:http://url.fullcirclemagazine.org/75d471

• Scrivi il tuo articolo con qualunquesoftware preferisci, noiraccomandiamo LibreOffice, ma nonè importante. - PER FAVORECONTROLLATE L'ORTOGRAFIA ELAGRAMMATICA!

• Nell'articolo, indicate dove vorresteche fosse collocata una dataimmagine, scrivendo il nomedell'immagine in un nuovo paragrafo

o includendo la stessa nel documentoODT (Libre Office)..

• Le immagini devono essere JPG, nonpiù grande di 800 px, e usare unabassa compressione.

• Non usare tabelle o qualsiasi tipo diformattazione in grassetto o corsivo.

Se vuoi scrivere una recensione,per favore segui queste linee guida:

Quando siete pronti a presentareil vostro articolo per favoreinviatecelo all'indirizzo email:[email protected]

Traduzioni

Se ti piacerebbe tradurre FullCircle nella tua lingua nativa, perfavore invia una e-mail [email protected] e timetteremo in contatto a un gruppoesistente, o ti daremo accesso al testoin formato grezzo da tradurre. Con ilPDF completato sarai in grado dicaricarlo sul sito principale di FullCircle.

RECENSIONI

Giochi/ApplicazioniMentre scrivete recensioni riguardanti i giochi o leapplicazioni, vi preghiamo di essere chiari nello scrivere:• titolo del gioco• chi ha creato il gioco• se è gratis o a pagamento• dove lo si può trovare (link download/URL della home page)• se è un gioco nativo per Linux o avete usato Wine• il vostro giudizio con un massimo di cinque• un sommario con punti positivi e negativi

HardwareMentre scrivete una recensione riguardante l'hardware perfavore siate chiari nello scrivere:• marca e modello dell'hardware• in quale categoria vorreste inserire questo hardware• eventuali difetti che si potrebbero incontrare durante l'utilizzodell'hardware• se è facile fare in modo che l'hardware lavori con Linux• se è necessario aver bisogno di usare driver Windows• il vostro giudizio con un massimo di cinque.

Non bisogna essere esperti per scrivere unarticolo: scrivete una recensione cheriguarda i giochi, le applicazioni e l'hardwareche usate tutti i giorni.

Page 31: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 31 indice^

https://spideroak.com

Get 25% off any SpiderOak packagewith the code: FullcirclemagFans

Page 32: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 32 indice^

LLIINNUUXX LLAABBScritto da Ronnie Tucker RReeccuuppeerraarree ii ddaattii ppeerrssii

Se seguite FCM su Facebook,Twitter, Google+ o se siete sulla nostramailing list, avrete letto lo strazianteracconto della mia grande perdita. Labellezza di 1 TB di dati del mio harddrive, corrispondenti ad anni di lavoro,inclusi i file scribus del numero 79 diFCM (per questo sembrava terminato ametà, e lo era!). Come esperimentodecisi di provare a recuperare qualchedato solo per vedere se era possibile ecosa avrei ottenuto. Vorrei ringraziaretutti quelli che mi hanno inviato emaildi supporto e link a software direcupero dati.

IL CONTESTO

In breve: FreeNAS aveva formattatoe ripartizionato il mio hard driveinstallandosi su una partizione di 4GB elasciando 1 TB di spazio non allocato.

LA SOLUZIONE

Ho preso un DVD da una rivista e hoinstallato Mint 1 5. Ho ripreso il miohard drive rimuovendo le partizionicreate da FreeNAS e ho creato unapartizione di 1 50 GB (root), una da 800GB (/home) e una partizione da 50 GB

(swap - nella malaugurata ipotesi neavessi dovuto aver bisogno). Tutte lepartizioni sono state formattate ed èstato installato Mint 1 5.

LA SOLUZIONE, DI NUOVO

Dalmomento che Mint 1 5 all'iniziomi ha dato dei problemi con il doppiomonitor e con le impostazioni divisualizzazione, ho riformattato lapartizione root ed installato Mint 1 6RC. Quest'ultimo è andato moltomeglio ed è il sistema operativo cheancora oggi utilizzo.

CURIOSITÀ OSSESSIVA

Quindi avendo installato Back InTime per un backup automatico(chiudendo la stalla dopo che eranoscappati i buoi ) cominciai adomandarmi che dati avrei potutorecuperare, sempre che fosse possibile.Avevo accettato l'idea che ormai tuttoera andato perduto quindi qualsiasitentativo di recupero era solo per unasete di curiosità.

PHOTOREC

Decisi di provare Photorec dato cheera quello maggiormente consigliato. Èpossibile installarlo sia dal sito diPhotorec (http://www.cgsecurity.org/)che dal gestore pacchetti della propriadistribuzione.

Photorec è un'applicazione a lineadi comando che può essere lanciatausando il comando:

sudo photorec

Quindi apparirano alcune opzioni:

Io ho proseguito con l'impostazionedi default scegliendo il drive da 1 TB(/dev/sda). Poi è possibile scegliere unapartizione (del drive selezionato) sullaquale lavorare:

Per il mio esperimento scelsi quelloche ora è il mio drive swap da 50 GB.Poi si deve scegliere il tipo di filesystem su cui i dati persi si trovavano:

Poi, scegliere (utilizzando lefreccette della tastiera) dove sidesidere che eventuali dati recuperati

Page 33: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 33 indice^

LINUX LAB

vadano salvati. Ora bisognerà lasciarfare il suo lavoro a Photorec.

Photorec ha impiegato circa 25minuti per scansionare l'interapartizione di 50 GB presa inconsiderazione nelmio esempio e,soprendentemente, mi ha recuperatooltre 5000 file perduti! Certamente nontutto il 1 00% è stato recuperato.Qualche file video era solo un quartodella sua originale lunghezza.

CONCLUSIONE

Sebbene 5000 file sembrino unagran cosa e lo sono per una doppiaripartizione e riformattazione, molti diquesti file sono stati eliminati dallacronologia del mio browser e non c'èmodo di sapere di che file si trattafinchè non lo si apre. Tutti i file sonorinominati come f0000000.xxx dove

0000000 è un numero e .xxx èl'estensione del file. Quindi nonaspettatevi di riottenere la vostrastruttura di file e directory con il loronome originale. Sono rimasto colpitodal fatto di poter recuperare qualcosafiguriamo 5000 file. Non ho maiprovato con la partizione da 800GB...

Maggiori informazioni su Photorec:http://www.cgsecurity.org/wiki/Ph

otoRec_Step_By_Step

Ronnie è il fondatore (e tuttora)editore di Full Circle. È quel tipo diragazzo a cui piacciono arti e mestierie ora è anche un riparatore diArduino.

EDIZIONI SPECIALI LIBREOFFICE:

http://fullcirclemagazine.org/libreoffice-special-edition-volume-one/

http://fullcirclemagazine.org/libreoffice-special-edition-volume-two/

EDIZIONI SPECIALI INKSCAPE:

http://fullcirclemagazine.org/inkscape-special-edition-volume-one/

http://fullcirclemagazine.org/inkscape-special-edition-volume-two/

http://fullcirclemagazine.org/libreoffice-special-edition-volume-three/

Page 34: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 34 indice^

LLAA MMIIAA SSTTOORRIIAAScritto da T.Kovács Áron II ll mmiioo iinn iizziioo ccoonn UUbbuunnttuu

S ono sempre stato un appassionatodi informatica fin da bambino. Ho

cominciato nei tempi antichi in cui loschermo visualizzava un'immagine blue i giochi dovevano essere caricati daun dispositivo a nastro. Dopo un po' ditempo ho iniziato a imparare laprogrammazione a scuola e hocominciato a scrivere dei piccoliprogrammi in Pascal. É stato uno deiperiodi più belli della mia vita, ma èfinito e non ho mai avuto la possibilitàdi usare C++. Successivamente il DOSdiventò il sistema operativo piùdiffuso, con Norton Commander comegestore dei file e browser webtestuale.

Ho comprato il mio primo computerquando ho iniziato l'università.Ovviamente, utilizzavo il sistemaoperativo Windows come chiunquealtro. C'era solamente uno stranoragazzo nel vicino comprensorio, cheutilizzava Linux. Arrivò poi Windows2000 che sembrava abbastanza carino,ma dovevo reinstallarlo ogni sei mesi.Ho provato anche XP, ma il miocomputer non era sufficientementepotente così ogni volta ero costretto atornare alla versione precedente. Dopoqualche tempo ho cominciato a

lavorare e ho costruito la mia lista diprogrammi preferiti. Decisi che nonavrei voluto cambiare ogni cosa; nuovocomputer, nuovo sistema, nuoviprogrammi almeno ogni anno e mezzo.Così ho cambiato il mio modo diutilizzare il computer.

Ho iniziato a valutare nuovepossibilità e ho provato Linux. La miaprima distribuzione fu Mandrake e laottenni su due CD. Non mi piacque enon riuscii a sistemarla per potercilavorare. Continuai a cercare per alcunianni. Finalmente riuscii a trovare unadistribuzione linux "human-friend":

Ubuntu. La prima versione che sonoriuscito a scaricare e installare insiemea Windows fu la 8.04. Me ne innamoraie cominciai a conoscerla; era chiara,pratica e molto veloce.Sfortunatamente non riuscii asostituire completamente Windows acausa dei programmi che utilizzavogiornalmente per lavorare. I programmiper il design architettonico nonpotevano essere eseguiti su Linux, manon oggi...

In ufficio avevamo un vecchiocomputer. Su questo installammoUbuntu e lo sistemammo in un angolo.

Questo divenne il nostro server el'unico computer con un accesso ainternet. In questo modo risolvemmotre problemi in una volta: 1 ) i virus nonci creavano più preoccupazioni, 2) nonsprecavamo tempo su internet durantele ore di lavoro, 3) non abbiamo dovutodismettere un vecchio pc. Questirisultati mi convinsero definitivamentesulla bontà di Linux. Così decisi diutilizzare Linux a lungo termine.

Quando poi creai la mia primaattività, mi posi seriamente unadomanda. Dovevo scegliere: o avreidovuto acquistare un nuovo computercon un nuovo sistema operativo e tuttii programmi che fino ad allorautilizzavo per lavorare, o avrei dovutorisolvere tutto con l'aiuto di Linux.Scelsi la seconda strada e cominciai dinuovo a cercare del software Linux chemi potesse aiutare nel mio lavoro diarchitetto.

Innanzitutto smisi di utilizzare laprogettazione al computer e iniziai adisegnare a mano, cosa che mi risultòpiù appropriata. L'elaborazione dei datidoveva essere comunque eseguita conun computer: effettuare scansioni,lavorare con le immagini, creare

Page 35: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 35 indice^

LA MIA STORIAdocumenti, scrivere bozze, tabelle edeffettuare stampe. Con Ubuntu 1 0.04utilizzai programmi come OpenOffice,Xsane, Scribus, Gimp e Inkscape.LibreCad e Qcad sembravano adattiper la condivisione dati con i mieipartner (per leggere e scriver file DXF).

Poi ho scoperto DraftSight, questosoftware mi ha aiutato a risolverequest'ultimo problema. Anche se nonamavo particolarmente i programmiclone di Autocad, non sono riuscito atrovare un programma gratuito didisegno 2D semplice e intuitivo. Hodeciso di utilizzarlo a seconda delle mieesigenze. Ho anche provato programmidi modellazione 3D; Blender è moltocomplicato, FreeCad è molto difficileda utilizzare e gli altri non fanno perme.

Successivamente un amico mi hamostrato una nuova distribuzione diLinux. Lui usava Linux Mint e ho decisodi provarla. Ubuntu ha deciso di usareUnity come desktop manager, ma nonmi piace affatto. Linux Mint, d'altraparte, mi da esattamente ciò di cui hobisogno: la vecchia e familiare usabilitàdi Ubuntu, con in più un nuovo insiemedi software da cui attingere.

Negli ultimi anni ho utilizzato LinuxMint. I l mio unico dubbio rimane sullascelta del desktop manager da

utilizzare: attualmente posso sceglierefra Cinnamon/Mate/KDE/XFCE. Hocambiato il mio sistema molte volteprovando diverse versioni.

Nel frattempo, ho fatto alcunescoperte e risolto alcuni problemi

relativi sia al software che all'hardware.L' idea Open mi piace sempre più, tantoda raccomandarla anche ad altri. Misforzo di convincere sempre piùpersone a provare Linux come sistemaoperativo alternativo a Windows.Alcune di loro hanno continuato a

utilizzarlo. Ancora oggi sono felice diconsigliarlo a tutti quelli che hannoproblemi con il loro computer. Eccouna semplice soluzione: inserisci unLive CD e tutto funzionerànuovamente!

Page 36: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 36 indice^

RREECCEENNSSIIOONNEEScritto da Robin Catling TToosshh iibbaa MMQQ0011 AABBDD11 0000HH SSSSHHDD

Q uesto disco fisso da 2.5" pollici percomputer portatili ha,

approsimativamente, uno spessore di8mm, sufficiente per essere montatonella maggior parte dei computer incircolazione. Esso è formato da unclassico disco magnetico da 1 000GigaByte e da uno a stato solido (SSD)da 8 GigaByte, insieme formano ununità ibrida che Toshiba ha chiamatoDisco a Stato Solido Ibrido (SSHD). Laparte di memorizzazione SSD è la piùveloce ma più piccola, infatti è utilizzataper accedere ai dati a una velocità piùalta di quella normalmente ottenibilecon un disco non SSD, come se fosseuna cache. I l costo è più basso di quelloche potrebbe essere relativamente a undisco SSD di dimensioni simili , ma è piùelevato di un disco fisso normale. Lagestione dei dati è controllata dallacircuiteria interna, senza nessunapossibilità di intervento da parte delsistema operativo. A differenzadell'Apple Fusion Drive che permette alsistema operativo di gestire iltrasferimento dati dalla zona SSD aquella non SSD.

Ho provato questa unità in un AcerAspire AO-722. Un netbook con undisplay da 1 1 .6" con un processore AMD

C-60 64-bit e che originariamente eraprovvisto di un disco magnetico con uncapacità di 320 GigaByte. All' inizio decisidi aggiornarlo con un disco SSD in cercadi più velocità, il poco spazio fiscio adisposizione mi costrinse a sostuire ildisco originale con un Crucial M4 SSD.Questo disco ha funzionato senzaproblemi, i tempi di avvio del sistema

operativo e delle applicazionidiminuirono e le prestazioni erano inlinea con quello che si sarebbeaspettato da un netbook con un discoveloce: il fattore limitante era diventatoil processore e non più il disco.Comunque ottenni quei risultati al costodi un perdita enorma di spazio libero suldisco, perchè l'unità Crucial poteva

contenere solo 64 GB di dati. Eranodisponibili altri dischi SSD allora, maerano molto costosi. Nonostante il loroprezzo sia sceso negli ultimi anni, gliutenti dovrebbero ancora pagare circa$1 a GigaByte: i grandi dischi SSD conuna dimensione più grande di 500Gigabytes potrebbero costare anche piùdi un computer. Se il disco ibrido

Page 37: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 37 indice^

RECENSIONE - TOSHIBA SSHDmantenesse le sue promesse, potreiottenere il meglio delle due tecnologienello spazio disponibile di questopiccolo computer.

Avevo già un sistema Xubuntu 1 4.04funzionante ed ero felice di averlo, cosìho deciso di clonare la configurazioneesistente invece che reinstallare tuttoquanto da capo. I l sistema operativo hariconosciuto il nuovo disco, collegatocon un adattatore usb, come unitàsingola senza nessun problema. Questaunità non era stata ancora inizializzata enon era presente nessuna tabella dellepartizioni come riportato da gparted.

La tabella delle partizioni originaleconsisteva in una partizione ext4 perl'avvio del sistema operativo. I l restodello spazione era configurato comeuna unità fisica LVM, nella quale vi eraun volume logico di 1 5 GigaByte per laroot di sistema e un altro per la homedegli utenti. Ho lasciato dello spaziolibero disponibile per applicazionifuture.

/dev/sda2 243M40M 187M 18% /boot/dev/mapper/SSD--VG-System 15G7,8G 7,1G 49% //dev/mapper/SSD--VG-Home 20G5,0G 14G 27% /home

Dopo aver creato una tabella dellepartizioni di tipo MS-DOS e partizionato

il drive ibrido Toshiba nello stessomodo, ho poi copiato tutti i dati dapartizione a partizione, installato GRUBsulla nuova unità e riavviato il computerutilizzando come boot il nuovo disco,giusto per essere sicuri che ogni cosastesse funzionando a dovere. In quelmomento avevo a disposizione 901GigaBytes liberi per i dati, o 850 GBquando 5% dello spazio viene riservatoper un uso da parte di root.

/dev/sda1 976M40M 870M 5% /boot/dev/mapper/SSHD-System 15G

7,8G 7,1G 49% //dev/mapper/SSHD-Home 901G5,0G 850G 1% /home

Ho spento il computer e ho tiratofuori il vecchio cacciavite per installare ildrive nella sua locazione. I l disco fisso ènella parte in alto a sinistra della figura,con la CPU e la sua ventola visibile inalto a destra, in basso a destra lelocazioni delle memorie e, infine, inbasso a sinistra la scheda WiFi. Come sipuò notare non c'è molto spazio inquesto computer.

Bene ora siamo pronti pereffettuare qualche prova. Hoconfrontato alcune azioni tipicheeffettuate con il sistema operativo siacon il vecchio Crucial SSD che con ilnuovo drive ibrido. Con entrambi idispositivi il sistema operativo parte in31 s; non ci sono differenze misurabili .Con il nuovo disco, Gimp parte in 1 8s,mentre LibreOffice Writer solo in 5s.Questi tempi sono gli stessi misurati conil disco SSD, un vantaggio definitivo sultradizionale disco magneitco con cuiquesto computer è stato fornito. Le

Page 38: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 38 indice^

Alan insegna informatica presso lascuola superiore Escola Andorana diBatxillerat. Insegna GNU/Linuxpresso l'università di Andorra eattualmente ha un corso diamministrazione di sistemiGNU/Linux presso l'Open Universitydi Catalunya (UOS).

RECENSIONE - TOSHIBA SSHDvelocità sono maggiori e il sistemarisulta più reattivo. In effetti, non hovisto alcun differenza sostanziale fra ildisco ibrido di Toshiba e il disco puroSSD, almeno non nelle attivitàquotidiane.

Da un punto di vista tecnico, ci sonoalcuni limiti. I l drive ibrido ha la stessainterfaccia SATA-I I I 6Gbps che oggi èmontata sulla maggior parte dei dischiSSD. Comunque, anche per i tempi avenire, nessuna tecnologia di un discofisso consumer sarà capace di utilizzarequesta interfaccia completamente:inoltre i dischi fissi dei notebook a 5400rpm sono limitati in termini reali divelocità di lettura nell' intervallocompreso fra i 1 00 -1 20 MByte/s,mentre gli SSD possono arrivare fino a300-400 MByte/s. Questo vale ancheper il disco ibrido che ha una velocità dilettura fino a 1 72 MByte/s(http://hdd.userbenchmark.com/Toshiba-Notebook-SSHD-1 TB/Rating/1 957&tab=Benchmarks).Comunque, bisogna notare che questorisultato dipende anche dalla posizionedei dati mentre viene effettuato il test,se vengono recuperati dalla parte SSD odalla parte meccanica.

Nel caso in cui abbiamo la necessitàdi accedere a un gran numero di datidiversi fra loro come ad esempioquando lavoriamo con i montaggi video,

potremmo aspettarci che a maggiorparte dei dati risiederà nella parte piùlenta del disco, negando così i vantaggiche ci garantisce il disco ibrido. D'altraparte, un sistema operativo piccolo ecompatto utile per l'accesso a internet eper piccoli lavori di ufficio risulteràadatto per un disco di questo tipo, eccoperchè questo sembra fatto appostaper un netbook che ha come sistemaoperativo Xubuntu. La maggior partedelle applicazioni di sistema e dei dati

dell'utente riescono a risiedere negli 8GigaByte di cache e vengono caricatialla velocità di un SSD. Gli altri, piùgrandi e con un accesso più raro, sonomemorizzati nel disco da 1 TeraByte evengono caricati se necessario, anche sepiù lentamente.

Nel complesso, il concetto di discoibrido è probabilmente la sceltamigliore da fare per aggiornare unnetbook, anche se è un po' poco per un

normale pc in cui si potrebbe montareun disco SSD aggiuntivo insiemeall'originale.

Page 39: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 39 indice^

CCooss''èèScritto da Ronnie Tucker CCoommppii llaarree uunn ppoorrttaaffoogg llii AAlltt--ccooiinn

Comeha spiegatoOscarnelnumeroprecedente (FCM#85), esistono

diverse alternative ai Bitcoin o, come sonotalvolta definiti, alt-coins. Il più conosciuto,secondome, è ilDogecoin, fatti dapersone con un altissimoprofilo nelmarketing quali il team jamaicanoBobslede il più recente JoshWiseNASCARrace.Quindi scarichiamo il sorgente delportaglio di Dogecoin e compiliamolo.

Nonostante questo articolo tratti delportafoglio di Dogecoin, questa procedurapuò essere utilizzata per la maggiorpartedei portafogli di altre alt-coins.

Innanzi tutto abbiamobisogno di alcunistrumenti percompilare il sorgente. Quindidigitiamonel terminale (tutto in una riga):

sudo apt-get install libssl- devlibdb-dev libdb++-devlibqrencode-dev qt4-qmakelibqtgui4 libqt4-devlibminiupnpc-dev libminiupnpc8libboost-all-dev build-essentialgit

OTTENEREGIT

Adesso abbiamobisogno dei filesorgente da compilare. Nella stessafinestra di terminale digitiamo:

git clonehttps://github.com/dogecoin/dogecoin.git

Ciò che abbiamo appena fatto è statoscaricare il sorgente delportfoglio per iDogecoin sul nostro computer in/home/dogecoin. Dopodi ciò, dobbiamoentrare all'interno di essa, quindi digitiamo:

cd dogecoin

Adesso siamonelposto giusto;abbiamobisogno di effettuare unamodifica globale al file sorgente (-i = inplace = nello stesso posto in cui citroviamo). Allora digitiamo:

sed -i 's/-mgw46-mt-sd-1_53//g'dogecoin-qt.pro

COMPILARE

Adesso possiamo finalmente farequalcosa. Quindi digitiamo:

qmake USE_UPNP=- USE_QRCODE=0USE_IPV6=0

Quando tutto è completato, digitate:

make -j3

Equando anche questo è completato,saremopronti. Peravviare il portafoglioper i Dogecoin dobbiamodigitare:

./dogecoin-qt

In alternatva possiamousarel'ambiente desktop facendo doppio clicsull'icona di Dogecoin-qt.

Il portafoglio, al primo avvio, habisogno di sincronzzarsi con la reteDogecoin e ciò potrebbe richiedere diversotempo. Sto parlando di alcune ore.Effettivamente deve scaricare il “libromastro” di ogni transizione, che sono unbelpo'.

Se voleste compilare il portafoglio per iReddcoin, si dovrebbero semplicementecambiare tutte le istanze di “dogecoin” (neicomandi precedenti) con “reddcoin”. Lostesso vale per i Litecoin. Èmolto semplice.Peresempio:

git clonehttps://github.com/dogecoin/dogecoin.git

diventerebbe:

git clonehttps://github.com/reddcoin/reddcoin.git

e così via.

Nelprossimonumero ci occuperemodelWidgetDualminerUSB, che hocomprato qualchemese fa, permostrarecome finalmente sono riuscito a gestire leoperazioni di coniazione in Linux.

Verso la luna!

Page 40: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 40 indice^

LLEETTTTEERREESe volete inviare una lettera per questo spazio, di critiche ocomplimenti, per favore inviatela a: [email protected]: Alcune lettere potranno essere modificate perragioni di spazio.

CONTROLLOORTOGRAFICO DILIBREOFFICE

U soXubuntu damolto tempoormai.Considerato che la 14.04 è una LTS,

ho deciso di fare una installazione pulitae sono piuttosto soddisfatto. Hoinstallato LibreOffice aprendo unafinestra del terminale e digitando sudoapt-get install libreoffice. Fin qui tuttobene. LibreOffice si è installatorapidamente. L'ho usato perun po' senzarendermi conto che il controlloortografico in realtà non funzionava.Alcuni controlli veloci non hannoevidenziato niente fuori posto, così,dopo una una ricerca su itnernet, hocapito che il dizionariomyspell-en-gb nonera installato. In Synapticbasta digitaremyspell e cercare il pacchetto en-gb. InUbuntu Software Centerse cercateesattamentemyspell-en-gb, vicomparirà. Installato il pacchetto ilcontrollo ortografico ha iniziato afunzionare. Spero ciò possa farerisparmiare tempo e frustrazioni aqualcuno.

IanMckeand

DIFFIDATE DAROBOLINUX

R iguardo alprimopezzo delle newsdel numero 85, considerato che

qualcuno ha iniziato a usarlo in Aprile,vorrei avvisare gli utenti Ubuntu cheRoboLinuxnon è ancora pronto per ildebutto.

Robolinuxvanta di essere unadistribuzioneDebian; è uno dei peggiorireimpasti di pacchetti che io abbia maivisto emanca di tante cose che inveceUbuntu possiede. Non è un rimpiazzo diUbuntu. L'unica vera capacità che puòvantare è forse quella di poterriconfezionare una partizioneWindowsXP, con sistema e applicazioni, in unamacchina virtuale di Virtualbox, la qualedovrebbe presumibilmente funzionarecon Ubuntu.

Ciò può essere vero se nonconfigurate il dual-bootcon Ubuntu eWindows.Mi auguro che abbiano capitociò quando ho detto che io uso il dual-boot. Se siete comemolti degli utentiUbuntu medi che usanoWindowsXPeUbuntu in dual-bootcon GRUB sietesfortunati: Robolinuxnon funzionerà.

In Aprile, Robolinuxera una serie di

script che installava se stesso nelmenù diGnome. C'eranomolti errori che hosegnalato nella speranza che ciò potesseessere utile per il progetto. AMaggio èstato rilasciato quindi un nuovopacchetto.

Il nuovo pacchetto consiste di diverseutilità di sistema prese in prestito perconsentire il partizionamento diWindows. Quindi, perquanto riguardaUbuntu, i vecchi script sono riuniti in unpacchetto .deb. Unmessaggio diRobolinuxsuggeriva che bisognarimuovere GRUBe riparare l'MBR. Hochiesto pertanto se esistevanoalternative più semplici che rimuovereGRUBeMBR(avevo paura di rimaneretagliato fuori da Ubuntu e daWindowscon uno script che non era statosufficientemente testato). RoboLinuxmiha risposto dicendo che avevo violato itermini d'uso, sono stato quindirimborsato della donazione che avevofatto emi è stato rifiutato qualsiasiulteriore contatto.

Uso e ho usato altremacchine virtualiin passato, diversemacchineWindowsepersinoDOS, so quindi di potermetterea punto correttamente unamacchina.Mipiaceva l'idea di non doverreinstallare

Seguici su:

facebook.com/fullcirclemagazine

twitter.com/#!/fullcirclemag

linkedin.com/company/full-circle-magazine

ubuntuforums.org/forumdisplay.php?f=270

goo.gl/FRTMl

FULLCIRCLEHABISOGNODITE!

Senzagli inputdei lettoriFullCIrclesarebbeunfile

PDFvuoto(checredononmoltepersonetroverebberoparticolarmenteinteressante).Siamosemprealla ricercadiarticoli, recensioni, qualsiasi cosa!Anchepiccolecosecomelelettereeleschermatedeldesktopaiutanoariempirela rivista.

Guardatel'articoloScrivereperFullCircle inquestonumeroperleggerelenostrelineeguidadibase.

Dateun'occhiataallapenultimapagina(diqualsiasinumero)peravere idettaglisudove inviare ivostri contributi.

Page 41: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 41 indice^

LETTEREtutto i miei softwareWindows (molti deiquali ancorami servono).

RoboLinuxè un'idea promettentema necessità di un po' di prudenza nellosviluppo del software e, forse, di unanuova leadership.

Il fondatore JohnMartinson ha forsefrainteso ilmiomodo di farescambiandomi peruna donna. Sembravaforse un po' innamorato della figura diutente femminile che io ero nella suamente, chiamandomi "Cara" fino allosfinimento in una serie di email. Sonofermamente convinto per l'uso delmaschile nella persuasione, lo sonosempre stato. Questo suo errore èl'unica spiegazione che riesco a trovareperuna emailmoltro strana in cui micontestava che io non avrei valutato lui eil suo lavoro. Il tutto con un livello dicoinvolgimento secondome troppoelevato per il livello tecnico dei messaggiche ci stavamo scambiando.

Robolinuxpotrebbe essere infatti unprogetto gestito da una persona sola.Puoi riceveremessaggi da una granvarietà di "dirigenti", personale del"servizio clienti", ma tutte lecomunicazioni giungono dalla stessaunica email. Non ho alcun problema conun programmatore dalla mentalitàimprenditoriale (che poi, perché chiedere"donazioni" peraiutare presunti bambini

cambogiani in cambio di software?)almeno fino a che un unico uomonon sicomporta in modo strano con "clienti" e"donazioni".

CecilieauxBois deMurier

SCARICARE TUTTI I NUMERI

Dopo averperso ilmio backup, hotrovato terribilmente scomodo scaricaretutti i numeri dalweb. Perchi fosseinteressato, ecco un semplice script inPython perscaricare tutti i numeri diFCM (in basso a destra).

Copiate o riscrivete il codice con uneditordi testo, salvatelo, quindi dopoaverlo reso eseguibile fatelo partire.

Nel vostro gestore file preferitoaprite le proprietà di questo file esegnatelo come eseguibile (in generenella scheda Permessi). Lo scriptnon haun'interfaccia utente quindi non vedretenulla se lo eseguirete dal gestore dei file,ecco perché consiglio sempre di usareuna finestra del terminale. Aprite unafinestra del terminale e andate nelladirectory in cui avete salvato il file comeperesempio:

cd ~/Downloads

Potete anche scaricare la versione

con la GUI usando:

wgetwww.liedler.at/dl/dl_fcm_gui.py

Quale che sia la versione chescaricate, ricordate di renderla eseguibilecon:

chmod +x dl_fcm.py

oppure:

chmod +x dl_fcm_gui.py

e, perentrambi, fate doppio clic sufile della versione con GUI o avviate loscript con:

./df_fcm.py

PeterLiedler

import urllib.request

#download number of issues to current directory

#sample url http://dl.fullcirclemagazine.org/issue85_en.pdfpath = ''server = 'http://dl.fullcirclemagazine.org/'fname_pre = 'issue'fname_post = '_en.pdf'num_start = 2num_issues = 85

for i in range(num_start, num_issues + 1):fname = fname_pre + str(i) + fname_posturl = server + fnameprint('Downloading ' + url + ' ...')urllib.request.urlretrieve(url, path + fname)

SCRIPT PER SCARICARE TUTTI I NUMERI DI FCM

Page 42: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 42 indice^

Page 43: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 43 indice^

DD&&RRCompilato da Gord Campbell

Se avete una domanda su Linux, scrivetela a [email protected] eGord vi risponderà in un prossimo numero Si prega di inserire il maggiornumero di informazioni che possano servire a risolvere il vostro problema.

D Come faccio a sbarazzarmidella noiosa schermata di

scelta del boot di Grub nell'ultimaUbuntu 1 4.04 e andaredirettamente alla schermata dilogin?

R C'è una buona ragione permantenere la schermata di

Grub: se si installa un nuovo kernel,e questo non funziona sul propriosistema, Grub ti lascia scegliere unvecchio kernel.

Se pensi che Grub starallentando il tutto, premisemplicemente Enter.

D Quando stampo da Firefox, leimmagini di sfondo non

compaiono.

R (Grazie a Barrynel gruppoYahoo UbuntuLinux) Premi

Ctrl-P, seleziona la scheda Options,clicca su "Print Backgroud Images".

D Attualmente sto lavorando suUbuntu installato su un disco

flash, attraverso l'opzionetryubuntu. Comunque, ogni voltache riavvio, i file che avevo salvato

non ricompaiono.

R (Grazie a sudodus nei ForumUbuntu) Puoi creare un disco di

avvio USB persistente con lo'Startup Disk Creator' (alias usb-creator) o con Unetbootin. Questiprogrammi offrono l'opzione percreare uno spazio di salvataggio perla persistenza, dove è possibilesalvare aggiornamenti, nuoviprogrammi, trucchi, documenti,immagini, ecc.

Se stai creando il disco di avvioUSB da Windows, provaPendrivelinux.

D Su Ubuntu 1 4.04, uso unprogramma ufficiale chiamato

Lifeograph installato dal SoftwareCenter. Questo compare nella mialista delle applicazioni e sonoriuscito ad aggiungerlo sul miodock. Provando a fare la stessa cosausando l'ultima versione di MintDebian con desktop Cinnamon, hoinstallato l'applicazione dalla loroversione del software center, manon l'ho trovata sul mio sistema.

R Compare sotto Accessori perme. Il modo più veloce per

trovare i file è quello di utilizzare ilcomando Locate, ma i nuovi fileprobabilmente non compaiono.

D Mi sto perdendo sempredietro a una stranezza di Pulse

Audio come il fatto che diventamuto quando si avvia Audacity.Posso non disinstallare Pulseaudioed usare Alsamixer? Se è possibile,come potrei fare ciò? Ci sonoproblemi di cui dovreipreoccuparmi?

R (Grazie a Temujin nei ForumUbuntu) E' tecnicamente

possibile, ma ti converrebbe partirecon una distribuzione che non loutilizza come predefinito (per es.Lubuntu).

D Qualcuno conosce tabletragionevolmente economici da

7" che abbiano Ubuntupreinstallato?

R Ubuntu Touch è stata lenta aprendere piede. Proprio questo

mese, Dell ha annunciato un tabletcon Ubuntu per $450. (Ogni gestore

regionale Dell riporta quali prodottisaranno disponibili nel propriopaese, perciò potresti non avereaccesso ad esso). Non ho vistonessun annuncio precedentementeper un tablet con Ubuntu Touch, manon è una cosa a cui sto dietro.

Puoi installare Ubuntu Touch suun Nexus 7, che viene circa $250. Itablet più economici probabilmentenon hanno le specifiche minime perUbuntu Touch (per es. ToshibaExcite 7-pollici, $1 00).

Per prezzi bassi, vai su unnetbook.

D Ho Windows7 che gira inVirtualbox unicamente su

Ubuntu 1 4.04 perciò non devomodificare i dischi per iTunes. Devodare un'occhiata a come impostarela sicurezza internet?

R Si, installa Microsoft SecurityEssentials e tienilo aggiornato.

Page 44: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 44 indice^

Full Circle PodcastEpisodio 41 ,Trusted To Fail!

Benvenuti al nostro nuovoformat dello spettacolo, cisono alcuni cambiamentirispetto al precedenteformat, la più importante èche adesso stiamoregistrando insieme in ufficioal Blackpool Makerspace. Inquesto episodio testiamoUbuntu 1 4.04 e revisioniamol'Official Ubuntu ServerBook.

I nostri host:• Les Pounder• Tony Huges• Oliver Clark

dal Blackpool (UK) LUGhttp://blackpool.lug.org.uk

Gord ha avuto una lunga carrieranell' industria dei computer, poi si èritirato per diversi anni.Recentamente, si è ritrovato inqualche modo "ragazzo dell' IT"presso uno studio commercialista di1 5 persone nel centro di Toronto.

D&RLE MIGLIORI NUOVEDOMANDE SU ASKUBUNTU

*Un lettore di testi e gestore di filemusicali?http://goo.gl/PUOA8Q

* Perchè inserire stringhecommentate in una configurazionelinux qualche volta funziona?http://goo.gl/ThOAit

* Dove dovrei mettere un mioscript per poterlo lanciare con uncomando diretto?http://goo.gl/JrrQu4

* Lanciare l'ultimo comando contutte le lettere trasformate inminuscole?http://goo.gl/kDNQLf

* Come posso essere sicuro che unservizio sia disabilitato all'avvio?http://goo.gl/9pRcbW

* Come trovo la data di creazione diun file?http://goo.gl/EI7cr6

* Unità di Temperatura della CPU?http://goo.gl/OCLso5

* Qual è la differenza tra l'utilizzodi Windows 7 come Utente

Standard rispetto ad utilizzarla suUbuntu?http://goo.gl/mVbAKd

* Rinominare centinaia di file inun'unica volta per un certoordinamento?http://goo.gl/zSB20j

TRUCCHI E TECINICHE

Riciclare computer

I l mio ufficio ha rimpiazzato moltivecchi computer con Windows XP,con nuovi scintillanti computer.Cosa fare con le vecchie macchine?

La prima priorità è assicurareche non ci siano perdite di dati,perciò abbiamo installato MacriumReflect sui vecchi computer ecreato un'"immagine" del discorigido di ogni vecchio computer.Questa va in un disco esterno, poiviene copiata nel nuovo computerdell'utente, che ha un disco moltopiù capiente. Abbiamo anche unsistema centrale che copia tutte leimmagini. Quando un disco esternoè pieno, non eliminiamo i file, ma lorimpiazziamo.

Siamo molto apprensiviriguardo al recupero di fileconfidenziali dai vecchi dischi rigidi,perciò abbiamo avviato Darik'sBoot e Nuke da un CD e lanciati percancellare completamente i vecchidischi rigidi.

Adesso possiamo installareLinux. Una scelta è Linux Mint 1 732-bit con Mate. Queste sonomacchine vecchie, dopotutto.

Infine, possiamo dare via icomputer. A Toronto, abbiamo unprogetto FreeGeek che sarà lieto diottenere computercompletamente funzionanti.

Perfetto!

Page 45: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 45 indice^

SSiiccuurreezzzzaaScritto da Kevin O'Brien

Se avete domande riguardanti la sicurezza, inviatele a: [email protected] , eMichael vi risponderà in un prossimo numero. Si prega di inserire il maggior numero diinformazioni che possano servire a risolvere il vostro problema.

N elle ultime settimane (stoscrivendo verso la fine di aprile

201 4) due eventi si sono incrociatiper dare una grossa lezione disicurezza al software Open Source,ma è importante sapere esattamentequal è la lezione giusta. Ho vistorelazioni affermare che Heartbleedera una prova di qualcosa difondamentalmente sbagliato nelmodello Open Source perché negaval'accuratezza del famoso discorso diEric Raymond: “Con tanti occhi tutti ibug saltano fuori”. I l bug Heartbleedera in un numero significativo disistemi (realmente in un sesto dei sitiInternet, per quanto posso dire daun'analisi di quanti siti usanoOpenSSL, e che percentuale di questiusano le versioni del software chesono affette dal problema). C'è stataun po' di enfasi su quanto bruttafosse la questione, ed è senza dubbiopiuttosto brutta. Ma come è potutoaccadere?

Suggerisco a tutti un eccellentearticolo che ha tutti i dettagli. E'intitolato “How Did the HeartbleedOpenSSL Bug Happen?”(http://www.digitaltrends.com/computing/how-did-the-heartbleed-

openssl-bug-happen/#!FLdxR), eraccomando di dargli un'occhiata. E'corto e arriva al punto. In sostanza,cìè stata una richiesta di estendereOpenSSL per fornire qualcosachiamato estensione TLS Heartbeat.Questa è una cosa perfettamenteragionevole da fare, ed è descrittanell'RFC 6520, Transport LayerSecurity (TLS) e Datagram TransportLayer Security (DTLS) HeartbeatExtension(https://tools.ietf.org/html/rfc6520).Come è chiaramente descrittonell'RFC, lo scopo è quello di fornireuna funzionalità di “keep alive” senzaricorrere a una rinegoziazione.OpenSSL stava cercando soltanto diessere in linea nell'aggiungere unafunzione che l' Internet EngineeringTask Force aveva deciso che dovesseessere fornita. Ma come ha gestitoquesta cosa il progetto OpenSSL?

La prima cosa che notiamo è cheOpenSSL ha un team centraleformato da sole 1 1 persone, moltedelle quali volontari, e solo unoimpiegato a tempo pieno nelprogetto. Generalmente, questepersona raccoglievano circa 2000dollari l'anno in donazioni, e tiravano

su qualche soldo da qualchecontratto di supporto. In altre paroleerano un po' tirati. Un volontariotedesco, Dott. Robin Seggelmann, hascritto il codice per implementarel'RFC e l'ha sottoposto a revisione. I ldottor Seggelmann è un accademicorispettabile e un ricercatore ininformatica, e non c'è nessun motivoche suggerisca della malizia o dellastupidità nel suo codice. Non avevanemmeno i diritti di commit nelrepository di OpenSSL, così hasottoposto il codice ai membri delprogetto che hanno questi diritti, eloro l'hanno revisionato. Nonnotando nulla di sbagliato nel codice,e verificando che facesse quello chediceva di dover fare (ovveroimplementare un Heartbeat) il codiceè stato messo in produzione agli inizidel 201 2.

I l problema è stato scoperto dairicercatori di Google e da un'aziendaFinlandese, Codenomicon, più omeno nello stesso periodo, ed è statoreso pubblico nell'aprile del 201 4.Qualcosa suggerisce che ci sia statoun colloquio fra qualcuno di Googleche ha indirizzato Codenomicon nellagiusta direzione, ma forse le scoperte

sono state indipendenti. Queste cosesuccedono. Ma come ha detto SteveMaquess della OpenSSL Foundation“I l mistero non è che alcuni volontarioberati di lavoro si sono fatti sfuggireil bug; il mistero è perché non siaavvenuto più frequentemente."

TRUECRYPT

L'altro evento di cui voglio parlareriguarda l'audit su TrueCrypt, che harilasciato recentemente i risultatipreliminari. Come potete ricordare,sull'onda delle rivelazioni di EdwardSnowden, s'è scatenata un'ansiarelativa alla sicurezza della cifratura,e le persone hanno iniziato a volersapere se la loro cifratura è stataindebolita o se è stata inserita unaqualche backdoor dall'NSA, da GCHQ,o altre agenzie governative. Nel casodi TrueCrypt, avete di nuovo unprogetto open source, con la grinzache gli sviluppatori sonodeliberatamente anonimi (e con sedein Est Europa). Nel periodo preSnowden questo non aveva sollevatotroppe speculazioni, ma ora lepersone vogliono risposte. LaTrueCrypt Foundation ha fatto lacosa giusta. Hanno raccolto dei soldi

Page 46: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 46 indice^

SICUREZZA(ho contribuito alla campagna dicrowdfounding) e hanno arruolato ildott. Matthew Green, un rispettabileesperto di criptografia che insegnaalla Johns Hopkins University, permettere in piedi un team per fare uncontrollo del codice. Questo è uncompito lungo e difficile, ma la primafase è stata completata, e mentre cisono delle critiche su certi erroriderivanti da trascuratezza, non c'ènessuna prova di errori deliberati.Potete leggere una buona relazionesu novainfosec.com, e questo aritcoloha un link all' intero rapporto se lovolete leggere. Questa prima fase èandata a guardare nel bootloader enelle implementazioni del driver perWindows. C'è una seconda fasepianificata, per entrare nellacriptografia stessa, che utilizzerù unteam completamente differente diricercatori.

Quindi quali sono stati i risulati?Bene, TrueCrypt non è perfetto, maaspettarsi che lo fosse sarebbeirrealistico in ogni caso. I l team dicontrollo ha trovato un certo numerodi trascuratesse, che derivanoprobabilmente dal fatto che ilprogetto era portato avanti davolonari e che era sistematicamentecresciuto. Ma il team di controllonella Fase 1 non ha trovato nessunaevidenza che ci fossero problem

LEZIONI APPRESE

Questi programmi sonoimportanti su Internet, ma dov'era ilsupporto? Questo diventa unproblema fondamentale per leaziende che usano l'Open Sourcecome fosse un pasto gratis. Non lo è,dato che, dovreste saperlo, ThereAin’t No Such Thing As A Free Lunch(TANSTAAFL, Nessuno ti dà damangiare in cambio di niente). L'OpenSource è davvero solamente undiverso modello per sviluppare esupportare il software, che si affidaalla partecipazione di tutte le partiinteressate. Se tutte queste aziendefacevano affidamento su OpenSSL,per esempio, dov'era la loropartecipazione? Dopo il fattaccio,sembra che molte di loro si sianosvegliate. La Linux Foundation hamesso insieme un consorzio dellecompagnie più grandi. Per citarel'articolo di Ars Technica(http://arstechnica.com/information-technology/201 4/04/tech-giants-chastened-by-heartbleed-finally-agree-to-fund-openssl/) conoggetto“Amazon Web Services, Cisco,Dell, Facebook, Fujitsu, Google, IBM,Intel, Microsoft, NetApp, Qualcomm,Rackspace, e VMware si sono tuttiimpegnati a versare almeno 1 00000dollari l'anno per tre anni alla “Core

Infrastructure Initiative” ha detto ildirettore esecutivo della LinuxFoundation Jim Zemlin. Questainiziativa sarà estesa non solo aOpenSSL, ma questa è una cosabuona. Vuol dire che questecompagnie stanno prendendoseriamente in considerazione la lororesponsabilità nel supportare ilcodice con cui lavorano. Questo è innetto contrasto con la mossa un po'ridicola di Theo de Raadt nel creareun fork chiamato LibreSSL. Questosuona più come una questione di egoche come mossa costruttiva. Vorreirestare con OpenSSL e provareLibreSSL solo dopo un lungo periododi prove e di successi. Una buonaregola generale nell'ambito dellasicurezza è che il codice più giovane èpiù pericoloso del codice che è in giroda più lungo tempo.

La sicurezza è una cosa dura ed èun insieme di abilità differenti dallagran parte della programmazione. I ldott. Seggelmann è un tipointelligente che stava provando aimplementare una specifica richiestada un RFC. I l suo codice faceva infattiquesto. E' stato revisionato daqualcun altro nel team di OpenSSL,nessuno ha ci ha visto dei problemi edè stato messo in produzione. E'rimasto lì per due anni prima chequalcuno ci trovasse un potenziale

problema. La ragione per cui questogruppo di persone intelligenti haavuto questa svista consiste nel fattoche ci vuole un insieme di differenticapacità per implementare lasicurezza. Col senno di poi è faciledire che avrebbero dovuto ingaggiareuno specialista, e io penso che la CoreInfrastructure Initiative aiuterà adaffrontare questa questione. I bugnon vengono a galla se gli occhi nonci sono. Sia TrueCrypt che OpenSSLsono composti da piccoli gruppi disviluppatori con risorse limitate.Chiunque altro dava per scontato cheil codice fosse a posto e non ha maiprovato a darci un'occhiata. E datoche la sicurezza richiede dellecapacità specialistiche, soloaggiungere degli occhi non basta, c'èbisogno degli occhi giusti. Unadomanda che mi sorge riguarda lagovernance dei progetti open sourcecritici. Magari abbiamo bisogno distrutturare un po' di più il processoper evitare questo tipo di problemi.

Sistemare questa cosa richiedesoldi, fra le altre cose. Una delle the"key take-aways" circa il progettoOpenSSL è che si trovavano con unbudget che chiamo “da pochi soldi”,dove in media ricevevano 2000 dollaril'anno in donazioni. Confrontate lacosa con i costi per fare l'audit diTrueCrype, dove sembra che abbiano

Page 47: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 47 indice^

SICUREZZAfinora raccolto circa 60000 dollari, enon credo che sia troppo. Hannomesso insieme un gruppo diprofessionisti che capiscono il lavoro,e possono costare ben più di 60000dollari. Alle persone dico sempre chedevono supportare il SoftwareLibero, e questo include il supportofinanziario. Se siete interessati solo inquello che potete avere gratis,otterrete questo genere di risultatiperché non ci saranno risorse.

I l vantaggio del software OpenSource non sta nel fatto che siaesente da bug. Nessun software dinessun tipo è privo di bug. Sepensiamo questo commettiamo ungrave errore. E probabilmente non ènemmeno corretto pensare chel'Open Source abbia meno bug. Comeabbiamo visto, la debolezza dellateoria “molti occhi, più bug chevengono a galla” è questa, per moltiprogetti Open Source, anche quellicritici, semplicemente non ci sonocosì tanti occhi e spesso quelli che cisono potrebbero non essere quelli dicui abbiamo bisogno per individuareproblemi sottili come quelli relativialla sicurezza. Questo non significal'opposto, comunque. L'idea chel'Open Source abbia dei problemi nonsignifica che il Software Proprietariofaccia molto meglio, come dimostra ilrecente bug di Internet Explorer

(mentre scrivo, viene consigliato dinon usare più IE per un fondamentaleproblema di sicurezza. Dateun'occhiata a “Operation ClandestineFox” se volete maggiori dettagli) . Lasuperiorità dell'Open Source staessenzialmente nel fatto che iproblemi vengono affrontati piùrapidamente. Le patch per il bugHeartbleed hanno iniziato a venirfuori nel giro di poche ore dalladivulgazione. Le patch per il bug di IEverranno rilasciate se va bene alprossimo giro di aggiornamentirilasciati da Microsoft, che può volerdire dover aspettare un mese. Inoltre,con l'Open Source l' intero codice èvisibile, quindi la qualità della nostrainformazione è migliore. Con ilsoftware proprietario il codice non èmai disponibile, l' informazione circaun bug tende ad essere il piùgrossolana possibile e in alcuni casi leaziende cercheranno di evitare checircoli qualsiasi informazione perchépotrebbe avere effetti negativi suiloro profitti.

Nel caso di OpenSSL, Simo Phippsha scritto un articolo moltointeressante(http://podcasts.infoworld.com/d/open-source-software/heartbleed-postmortem-openssls-license-discouraged-scrutiny-241 781 ?source=rss_security) , basato

sul lavoro di David Wheeler, chepunta individua nella licenza unafonte di problemi. OpenSSL ha usatouna licenza tutta sua che era copyleft,ma incompatibile con la GPL. E questoha creato un disincentivo perchiunque volesse partecipare. Hacitato Eben Moglen dicendo che lalicenza open source agisce come la“costituzione della community” chedisciplina come ognuno partecipa.Avendo una licenza che non usanessun altro, si è ottenuto l'effetto dimettere delle regole di base chenessun altro capiva. La lezione qui èche non dovreste provare areinventare la ruota. C'è una granquantità di buone e ben compreselicenze open source, in giro, edovreste usare una di quelle così cheverrà coinvolto il maggior numero dicollaboratori. Questa è una delleragioni per cui Phipps, direttoreEsecutivo di OSI , sconsiglia vivamentequalsiasi impiego di nuove licenze. E'semplicemente un'idea non buona, ele persone devono smetterla conquesta inutile proliferazione.

ADDENDUM

LO STATUS DI TRUECRYPT?1 0 giugno 201 4scritto da Michael Kennedy

I ronicamente, un evento avvenutoalla fine di marzo del 201 4 hafornito un'ulteriore e ancoraestremamente misteriosa lezionerelativamente alla sicurezza. I l sito diTrueCrypt era improvvisamentecambiato:

• Avvertiva che TrueCript (TC) erainsicuro.

• Raccomandava agli utenti di migrarea BitLocker (un prodotto di Microsoft,proprietario, che gira su alcuneversioni di Vista, Windows 7,Windows 8 e su Windows Server).

• Tutti i messaggi del forum eranospariti , cosa che ha infastidito moltepersone.

• E i link per il download rimandavanoalla versione 7.2 (per le piattaformeLinux, Windows e Mac OS X), maqueste versioni sembra chepermettano a TC di gestire i dati giàcriptati con TC, ma non permettonola creazione di nuovi volumi.

SPECULAZIONE

C'è stata una grande speculazionesu questo sviluppo. Alcuni esempi:

• I l sito è stato compromesso, forse

Page 48: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 48 indice^

SICUREZZAda qualche altra organizzazione che sioccupa di cifratura, e gliautori/proprietari di TC non si sonosforzati a reagire?

• Questo recente audit (descritto daKevin) , o qualche simile recensione,ha scoperto qualche vulnerabilità, oqualche backdoor, e gli sviluppatorihanno abbandonato TC?

• Perché viene raccomandato proprioBitLocker?

• TC era troppo sicuro e qualchegoverno, l'NSA, ecc. ha provato aestromettere TC?

• Qualche governo ha fatto pressionisugli sviluppatori (per infilarci dellebackdoor, ecc.) e loro hanno rifiutatodi farlo?

• Nascosto dietro TC c'era in primapersona qualche governo, l'NSA, ecc.e la loro copertura è saltata?

• Gli sviluppatori hannosemplicemente abbandonato TC?Non contenti? Poco pagati? Sonosaltate fuori alcune backdoor oqualche hack?

• Questa lista continua...

E ADESSO?

Alla data del 1 0 giugno, non so achi o a cosa credere. Usavo TrueCrypper alcuni anni, sulle piattaformeLinux e Windows, e lo raccomandavoai clienti. Da un punto di vistadell'utilizzo, TC è un prodottoeccellente, multipiattaforma ed è unpiacere installarlo e usarlo. Tuttavia,fino a che lo stato attuale non verràchiarito, io consiglio:

• Se siete utenti di TC, e se stateusando una versione precedente alla7.2, se tutto va bene, è cosa buonacontinuarlo ad usare?

• Se usate la 7.2, o avete in mente diutilizzare TC, allora prendete inconsiderazione una versione piùvecchia o un prodotto alternativo chesi adatti alle vostre esigenze.

Ecco qualche commento, riferimento,alternativa:• il sito stesso di TrueCrypt -http://truecrypt.sourceforge.net/

• TC Versione 7.1 a (tutte lepiattaforme, eseguibili , alcunisorgenti) -http://truecrypt.ch/downloads/

• Ars Technica -

http://arstechnica.com/security/201 4/05/truecrypt-is-not-secure-official-sourceforge-page-abruptly-warns/

• Bruce Schneier (TrueCrypt WTF) -https://www.schneier.com/blog/archives/201 4/05/truecrypt_wtf.html

• Bruce Schneier (Auditing TC, ora unpo' datato) -https://www.schneier.com/blog/archives/201 4/04/auditing_truecr.html

• Steve Gibson’s take (GRC) -https://www.grc.com/misc/truecrypt/truecrypt.htm

• Slashdot -http://it.slashdot.org/story/1 4/05/28/21 26249/truecrypt-website-says-to-switch-to-bitlocker

• Alternative a Wikipedia (Vedi anche7-Zip, and VeraCrypt, DCrypt, ecc, suSourceforge) -http://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software -PS: Ottimo sommario suWindowsSecrets Newsletter -http://windowssecrets.com/newsletter/the-life-and-untimely-demise-of-truecrypt/

“L'errore che hanno fattoquesti sviluppatori stanel credere che ancora"possedessero"TrueCrypt e che sianostati loro a ucciderlo.

“Quelli che chiedono chedi colpo qualcosa inTrueCrypt è diventato"sbagliato" perché i suicreatori hanno decisoche non avevano piùcosì tando da offrire, sisbagliano.

“Notate: una volta cheTrueCrypt sarà statovisionato da un gruppoindipendente, questa saràl'unica soluzione dicifratura per dischi adessere stata sottoposta aquesto controllo. Questacosa posizioneràprobabilmente TrueCryptin cima alla classifica deitool multipiattaforma perla cifratura dei dischi.

- Steve Gibsonhttps://www.grc.com/misc/truecrypt/truecrypt.htm

Page 49: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 49 indice^

GGIIOOCCHH II UUBBUUNNTTUUScritto da Oscar Rivera

I l 1 7 Aprile 201 4, Canonical harilasciato Ubuntu 1 4.04 LTS. Mipiace utilizzare software aggiornati,ma allo stesso tempo adoro lastabilità, cosa che l'LTS, supporto alungo termine, è chiamato a dare. Percui, dopo due anni di utilizzo diUbuntu 1 2.04 LTS, è giunto ilmomento di aggiornare, e l'ho fatto.Per molti di noi che hanno usatoSteam per giocare ai videogame, unnuovo rilascio comporta la necessitàdi riscaricare e reinstallare ungrandissimo numero di giochi; il chepuò richiedere un numero smisuratodi ore, se non di giorni. Nessuno havoglia di impiegare un'eternità perscaricare e installare i giochi che sipossedevano, riuscendo poi aricominciare da dove si era lasciato ungioco. Tuttavia, fortunatamente pernoi, c'è un modo migliore e più rapidoper trasferire TUTTI i nostri giochiSteam installati da un disco rigidoall'altro.

I l concetto di base su cometrasferire giochi della libreria diSteam da un disco rigido (o da unapartizione) all'altro è piuttostosemplice da comprendere. In breve,tutto si riduce nel copiare la propria

libreria dalla vecchia posizione in unanuova, e riavviare il client Steam, ilquale riconoscerà automaticamente igiochi, permettendovi di tornare agiocare da subito.

Farlo, però, è una storiadifferente. Sebbene non siaparticolarmente complicato, dovreteseguire ogni passo con attenzione enel corretto ordine. Quindi, lasciatemispiegare quello che c'è da fare.

• Innanzitutto, DOVETE installareSteam sul vostro nuovo sistema (eovviamente, se non avete maiinstallato il client Steam inprecedenza, questa guida per voi nonha significato).

• Dopo aver installato Steam sulnuovo sistema, DOVETE avviarlo inmodo che possa creare tutti i file e lecartelle che gli servono perfunzionare.

• Dopo aver fatto partire Steam eaver effettuato l'accesso, DOVETEuscirne andando in alto a sinistra eselezionando Steam > Esci. I lsemplice clic sul pulsante Chiudi (X) inalto a destra non va ugualmentebene, perché facendo così Steam nonsi chiude realmente; serve solo achiudere l' interfaccia di Steam, ma ilprogramma continua a funzionare inbackground.

• Aprite la cartella “Home” sul vecchiosistema e, una volta aperta, premete

Ctrl + H sulla tastiera per visualizzarele cartelle e i file nascosti dellavecchia Home. Personalmente trovopiù semplice tenere premuto Ctrlfinquando premo H, ma di fattoandrebbero premuti nello stessoistante. Ripetete questa operazioneper la cartella “Home” del nuovosistema.

• Portatevi ora nella seguente cartelladella vecchia Home:

.local/share/steam e copiatela.

• Incollate la cartella copiata nellanuova cartella/home/nomeutente/.local/share/steam e attendete che tutto il contenutodi

MMiiggrraarree SStteeaamm

Page 50: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 50 indice^

GIOCHI UBUNTU/home/nomeutente/.local/share/steam sia copiato nella nuova posizione.Avete quasi finito!

• Riavviate Steam e attendete che ilclient Steam riconosca i vecchi giochiappena copiati.

• Iniziate a giocare con il vostro nuovosistema!

C'è anche un modo per farequanto appena descrittodirettamente dal terminale, ma trovosia più facile farlo usando l' interfacciagrafica. Non solo, credo anche che sefoste stati in grado di fare tuttoquesto dal terminale, non avresteavuto bisogno di questa guida. Comeriferimento, ho usato la seguentepagina web, specialmente la rispostadi Damienov:http://steamcommunity.com/app/221 41 0/discussions/0/882965239721 861 81 2/?l=polish#p2

Inizialmente avevo trasferito imiei giochi dalla vecchia installazionedi Ubuntu alla nuova, ma per esserecerto che la procedura descritta neipassaggi funzionasse efficacementecome sostenuto, l'ho verificatoseguendo passo passo la guida su unainstallazione separata di Linux Mint. I lcomputer usato è il mio PC autoassemblato con processore AMD FX-

61 00 3.3GHz, scheda madre AsusM5A97-EVO, scheda grafica ShappireRadeon HD 5770, 8 GB di RAMKingston Hyper X e disco rigidoSeagate Barracuda da 1 TB. I l softwareusato era Ubuntu 1 4.04 LTS con Unitye il driver grafico proprietario AMD1 3.35.

COMPETIZIONE:

Come ultimo appunto, vorreicongratularmi con David ed Earl peraver risposto correttamente alladomanda dello scorso mese, vincendoun Humble Indie Bundle. La domandadi questo mese è la seguente:

Cosa si deve fare per vedere lecartelle e i file nascosti della vostra“Home”?

Invia un'email [email protected] con ledomande.

Oscar graduated from CSUN, is aMusic Director/Teacher, beta tester,Wikipedia editor, and Ubuntu Forumscontributor. You can contact him via:www.gplus.to/7bluehand or email:[email protected]

Page 51: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 51 indice^

II LL MMIIOO DDEESSKKTTOOPP Questa è la vostra occasione permostrare almondo il vostro desktopoPC.Mandate levostre schermate e foto [email protected] includendo una breve descrizione delvostro desktop, le caratteristiche delPCe qualsiasi altra curiosità sulla vostra configurazione.

S to provando ognuna delledistribuzioni {K,L,X,}ubuntu

1 4.04, ma, per alcune ragioni,qualcosa non va in ognuna. LinuxMint ha appena rilasciato la versione1 7 perciò ho provato Cinnamon.

Ogni cosa funziona già così com'è.Sapevo come volevo che apparisse ilmio desktop perciò ho cominciato avedere come cambiarlo e ho trovatoquesto tema su gnome-look.org:http://gnomelook.org/content/show.php/Best-Of-Dark?content=1 64206

ehttp://gnomelook.org/content/show.php/Best-Of-Darkblue?content=1 64207.

Occorre che siano entrambiinstallati.

Non voleva cambiarela barra del titolo dellefinestre in cinnamon, e ionon ho avuto ancoramodo di provare Mate,perciò l'ho messa allaporta.

Ho trovatol'immagine di sfondogooglando "DarkWallpaper" su GoogleImages. Potete trovarlaqui:http://wall.alphacoders.com/big.php?i=70225.

Poi ho le ho installateutilizzando l'applicazioneAppearance nel ControlCenter. Ho dovuto usareun espediente eutilizzare "sudo mv" permettere l'immagine disfondo nella cartella

richiesta dal gestore del tema. Essa sitrova qui:

/usr/share/backgrounds/linuxmint-qiana

David Harbour

Page 52: Full Circle Magazine nr. 86 italiano

full circle magazine nr. 86 52 indice^

IL MIO DESKTOP

I l mio desktop dovrebbe esserepulito e riposante visto che passomolte ore al computer. Stoutilizzando un computer dual-coredi base con Gigabyte M7b e 4GB diRAM. Uso Linux 1 6 o LMDE da undisco SSD con 3 vecchi dischi di

ricambio per testare le distribuzionialternative di Linux. I l monitor è unSamsung 22" wide (1 650x1 050).Uso un desktop Cinnamon contema MintX. Cambio spesso losfondo; questo è "Morning Lake".Utilizzo conky per avere dati di

sistema globali senza invaderetroppo la scena pacifica.

Michael Davies

Page 53: Full Circle Magazine nr. 86 italiano

CCOOMMEE CCOONNTTRRIIBBUUIIRREEFull Circle Team

Editor - Ronnie [email protected] - Rob [email protected] - Les Pounder & [email protected]

Editing & ProofreadingMike Kennedy, Lucas Westermann,Gord Campbell, Robert Orsino,Josh Hertel, Bert Jerred

I nostri ringraziamenti a Canonical, Ivari team traduttori attorno al mondoe Thorsten Wilms per il logo di FCM.

FULL CIRCLE HA BISOGNO DI TE!Una rivista non è una rivista senza articoli e Full Circle non èun'eccezione. Abbiamo bisogno delle tue opinioni, storie, desktop, how-to, recensioni, e qualsiasi altra cosa che vuoi dire ai tuoi compagni utentidi *buntu. Manda i tuoi articoli a: [email protected]

Siamo sempre in cerca di nuovi articoli da inserire in Full Circle. Per aiuti e consigli pregovedete le Linee Guida Full Circle Ufficiali: http://url.fullcirclemagazine.org/75d471

Invia i tuoi commenti o esperienze con Linux a: [email protected] hardware/software a: [email protected] per D&R devono andare a: [email protected] di desktop devono essere inviate a: [email protected]... oppure puoi visitare il nostro forum via: fullcirclemagazine.org

Formato EPUB - Le edizioni recenti di Full Circle hanno un link al file epub nella pagina di downloads. Se hai qualche problema conil file epub, puoi mandare una email a: [email protected]

Google Currents - Installa l'applicazione Google Currents sul tuo dispositivo Android/Apple, cerca 'full circle' (nell'app) e sarai ingrado di aggiungere i numeri dal 55. Oppure puoi fare un clic nel link delle pagine di download di FCM.

Ubuntu Software Center - Puoi ottenere FCM attraverso Ubuntu Software Center: https://apps.ubuntu.com/cat/. Cerca 'fullcircle' , scegli un numero, e fai clic sul tasto di download.

Issuu - Puoi leggere Full Circle online su Issuu: http://issuu.com/fullcirclemagazine. Per favore, condividi e classifica FCM in quantoaiuta a condividere al mondo FCM e Ubuntu Linux.

Ubuntu One - Puoi ora avere un numero inviato direttamente al tuo spazio libero Ubuntu One facendo clic sul tasto "Invia aUbuntu One", disponibile nei numeri successivi al 51 .

Ottenere Full Circle Magazine:

FCM #87Scadenza :Domenica 06 Lug. 201 4Rilascio:Venerdì 25 Lug. 201 4

Page 54: Full Circle Magazine nr. 86 italiano

II LL GGRRUUPPPPOO FFCCMM IITTAALLIIAANNOO

Traduttori:Alessandro CecchinAlessandro CiprianiAlessio CiregiaEmanuel Di VitaFabrizio NicastroFrancesco CargiuliGiuseppe D'AndreaIrene BontàMarco LetiziaRoald De Tinovinniec

Revisori:Antonio AllegrettiDiego PriorettiFabrizio NicastroMattia RizzoloPaolo FolettoValerio Salvucci

Impaginatori:Diego PriorettiFabrizio NicastroFrancesco CostaPaolo Garbin

Edizione eBook:Alessandro CecchinDiego Prioretti

Hanno collaborato alla realizzazione di questo numero:

Coordinatori del gruppo: Fabrizio Nicastro -Mattia Rizzolo

EENNTTRRAA AANNCCHHEE TTUU NNEELL GGRRUUPPPPOOFFCCMM!!La rivista Full Circle nasce da una idea della Comunità degliutenti di Ubuntu e vive del lavoro di coloro che hanno scelto didedicare parte del loro tempo libero alla riuscita di questoprogetto. È un progetto veramente aperto: tutti possonocollaborare, in un modo o nell’altro. C’è chi scrive gli articoli,chi li corregge, chi li traduce, chi li impagina e così via.

Anche tu puoi collaborare attivamente alla continua crescita diquesta rivista, il cui unico scopo è la diffusione della culturadel Software Libero.

Se conosci l' inglese e il Software Libero è la tua passione, puoicollaborare:• scrivendo articoli in inglese;• traducendo in italiano i testi;• revisionando i testi;• impaginandoli con Scribus.

Se vuoi saperne di più, visita la pagina Partecipare del nostrowiki.

Oggi partecipare è ancora più facile!Questa rivista è stata tradotta dal Gruppo FCM della comunità Ubuntu-it.

Per ogni altra informazione visitate il nostro sito web: http://wiki.ubuntu-it.org/Fcm .

I col legamenti per scaricare tutti i numeri di Ful l CircleMagazine in ital iano l i trovi nel nostro Archivio.

Cerchi un articolo pubblicato su FCM?Nel wiki trovi anche l ' Indice generale di tutti i numeri

pubblicati , comprensivo di titolo, autore e pagina

del l 'articolo. Fai clic qui per consultarlo!