->
AutoCAD. Era l’unico motivo per conservare ancora la partizione di Windows Vista (avuto preinstallato con l’acquisto del Dell Inspiron 640m, 2 anni fa). Da quando l’ho acquistato, sul mio portatile (il mio primo amore) ho sempre conservato l’odiata partizione di Vista. Mi serviva per farci girare AutoCAD, l’unico applicativo che GNU/Linux ancora non sopporta (e l’unico S.O. che ancora AutoCAD non supporta). AutoCAD per l’esame di Urbanistica, per i laboratori di rilievo archeologico…
Ma ieri, si… ieri, ho avuto l’illuminazione. Qualcuno mi ha sussurrato all’orecchio che nelle ultime versioni di VirtualBox è presente l’accelerazione 3D e così… ho installato una macchina virtuale del caro vecchio Windows XP e… sorpresa! AutoCAD 2008 funziona meravigliosamente bene!
E finalmente, stasera, la “soluzione finale”: l’eliminazione completa di Vista per ricavare la bellezza di 23 Gb di spazio per una Beta di Jaunty Jackalope, o di qualche altra distro, o come archivio o… chissà! L’importante è rendere fruttuoso lo spazio!
Grazie virtualizzazione, grazie, codice libero…
Il servizio di file sharing di Dropbox (anche se detto così, lo so, è riduttivo) continua a stupire: invitando degli amici ad usarla, nel momento in cui questi installeranno il client sul proprio PC, verranno automaticamente “donati” all’utente che ha inviato l’invito 250 Mb di spazio aggiuntivo (per sempre); si potranno comunque ottenere al massimo 6 Gb aggiuntivi.
Inoltre, ho notato che ultimamente è stato anche attivato un Wiki, da cui attingere preziosissimi consigli per noi utenti GNU/Linux, come installare il client Dropbox su un sistema col pinguino senza interfaccia grafica (da terminale – in Python), oppure come sincronizzare in Dropbox file presenti anche in altre cartelle del sistema. Ma le soprese non finiscono qui… sul Wiki ci sono spunti veramente interessanti, consiglio una lettura anche veloce!
Come molti di voi sapranno, nel luglio 2008 un’intraprendente società taiwanese ha rilasciato la prima versione “mass market” del Neo FreeRunner, il primo telefono/palmare completamente open source della Storia. Sono passati molti mesi dal rilascio, e tutto il mondo si è precipitato a creare la propria versione del sistema operativo per il palmare, partendo da zero o “portando” qualcosa che già esiste (è quest’ultimo il caso di Debian e Gentoo). Comunque, la FIC paga un consistente numero di sviluppatori per lavorare ad una versione “ufficiale” del sistema operativo, chiamato OpenMoko, e che in linea teorica vorrebbe diventare IL sistema operativo per dispositivi palmari, compatibile con quanti più modelli possibili. Non si può creare un sistema operativo universale per palmari in 1 anno, ma almeno sul Neo FreeRunner le cose sembrano andare per il meglio. Dopo qualche delusione dovuta all’ultima versione di OpenMoko (datata a Dicembre 2008), e dopo aver cercato di riparare ai continui freeze installando il kernel compilato da Trevino, ho deciso di spostarmi definitivamente sulla versione più aggiornata del sistema, SHR (Stable Hibrid Release), che pur essendo disponibile in versione “unstable”, offre un stabilità e un look veramente accattivanti.
Cos’è SHR? Quando si è pensato ad un sistema operativo per palmari, si è avuta la necessità di creare un framework basato su Dbus al quale tutti gli sviluppatori potessero fare riferimento per creare le proprie applicazioni. Questo framework per palmari non esisteva, e ci sta pensando un impiegato della FIC, Mickey Lauer. Come per il desktop, si è scelto di rispettare le specifiche di Freedesktop.org, creando Freesmartphone.org, al fine di ottenere una base Dbus comune per tutte le distribuzioni GNU/Linux per palmari. Quindi, SHR è una versione di OpenMoko che ha come base FSO (Free the SmartPhone), che dovrebbe rappresentare lo stack del futuro, come Freedestkop.org lo è adesso per tutte le distribuzioni desktop GNU/Linux (compresa Ubuntu). Per questo, il nome SHR: “rilascio ibrido stabile“. Insomma, alla FIC si sta costruendo il futuro di GNU/Linux sui palmari.
Quale versione installare? SHR è disponibile sia in versione “stable” che “unstable”: quella stable – non ancora disponibile – sarà un freeze delle caratteristiche alla data prescelta. La unstable attualmente disponibile è in costante lavorazione, ma è sufficientemente stabile da poter essere usata come telefono quotidiano, più di OpenMoko 2008.12. È inoltre disponibile la versione “lite” del filesystem di root, più leggera e veloce da scaricare sul pc e flashare sul Neo.
Perchè SHR (Pro)?
Perchè evitarla? (Contro)
Installazione Personalmente ho installato shr-lite-image-om-gta02.jffs2 e uImage-2.6.28-[...].bin, ovvero le ultime versioni del filesystem di root e del kernel (suggeritemi nella mailing list ufficiale). Ricordo al gentile lettore che le immagini possono essere comodamente flashate nel Neo usando NeoTool. La prima cosa da fare dopo il primo boot è riavviare il Neo, perchè al primo boot il GSM non funziona. Fatto ciò, potremo constatare al successivo riavvio che di default funziona il collegamento ad internet via USB e funziona anche SSH.
Sistemare il tasto Power Di default, alla pressione del tasto Power, appare prima un menù che comprende le opzioni per lo standby, lo spegnimento e la chiusura della sessione (proprio come un pc!), poi il Neo và in standby. La spiacevole quanto inutile apparizione del menù può essere evitata dando i seguenti comandi:
Risolvere il problema del pacchetto gtk+-fastscaling In SHR (ed FSO se ricordo bene) il pacchetto gtk+-fastscaling è stato rinominato semplicemente in gtk+, ma molti programmi non lo sanno, per questo hanno come dipendenza il fastscaling che in realtà è già installato nel sistema come “gtk+”. Quando si vanno ad installare pacchetti del genere, può capitare di ricevere un errore e si interromperà l’installazione. Per ovviare a questo problema, sarà sufficiente ridare il comando di installazione, inserendo la dicitura –force-depends tra opkg e install. Ad esempio, per installare Navit:
opkg --force-depends install navit
Inserire un tasto per lo spegnimento Dopo aver eliminato il menù che appare alla pressione del tasto Power, non ci sarà più modo di spegnere il Neo senza un terminale. Possiamo ovviare a questo problema creando uno shortcut sul desktop. Basterà inserire il seguente file, che chiameremo shutdown.desktop nella cartella /usr/share/applications/
[Desktop Entry] Encoding=UTF-8 Version=0.7 Name=Shutdown Type=Applicat=UTF-8 Version=0.7 Name=Shutdown Type=Application Comment=Show System Processes Terminal=true Exec=shutdown now Path= Icon=/usr/share/icons/openmoko-standard/128x128/apps/openmoko-system-default.png Categories=ConsoleOnly;System;Application; GenericName=Process Viewer Categories=Office; Exec=shutdown now
Una nota su GPS, Bluetooth, GMS e Wifi Il nuovo framework FSO su cui si basa SHR ha il grande vantaggio di tenere spenti tutti questi servizi all’avvio del sistema. Inoltre, esso si pone come “gestore” di questi servizi tra le applicazioni ed il kernel; in altre parole, noi non avremo bisogno di “attivare” il GPS prima di aprire TangoGPS o Navit: sarà sufficiente aprire uno di questi programmi, e poi ci penserà il sistema operativo ad attivare il GPS. Nella stessa maniera, quando chiuderemo tutti i programmi che utilizzano il GPS, il ricevitore verrà spento. Il Wifi ed il Bluetooth devono essere accesi e spenti “manualmente” dall’apposito menù Settings. Anche il GSM come il GPS viene acceso solo su richiesta dal sistema operativo, ed in particolare questa richiesta avviene nel momento stesso dell’accensione del Neo, quindi a noi sembra che venga acceso di default. Se vogliamo risparmiare sulla batteria e non ci serve il GSM, possiamo disattivarlo dal menù Settings. Molto comodo, non trovate? Niente di tutto questo esiste su OpenMoko 2008.12.
TangoGPS e Yaouh! Yaouh è un’applicazione scritta da un italiano, Carlo Minucci, che scansiona tutte le mappe presenti in TangoGPS e le aggiorna scaricando da OpenStreetMap solo le parti che sono state aggiornate dopo l’ultimo rendering settimanale (che avviene ogni giovedì solitamente). Purtroppo, a partire dall’ultima versione di TangoGPS, la 0.9.5, i repository delle mappe del programma vengono scritti all’interno del codice stesso del programma, e non sono più reperibili da Yaouh!, che non riesce quindi a scaricare alcun aggiornamento. Per ovviare a questo inconveniente, almeno per le mappe “standard” di OpenStreetMap (quelle di Mapnik, per capirci), è sufficiente sostituire nel file ~/.gconf/apps/tangogps/%gconf.xml questa riga:
<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM</stringvalue> </entry>
con questa
<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM|http://tile.openstreetmap.org/%d/%d/%d.png|/home/root/Maps/OSM|0</stringvalue> </entry>
rispettando gli spazi e la sintassi del resto del file. Attenzione però: il file in quesione viene sovrascritto da TangoGPS ad ogni chiusura del programma, quindi dopo aver modificato il file aprite Yaouh! e aggiornate le mappe senza aprire/chiudere TangoGPS, altrimenti avrete perso tempo…
Navit La versione più aggiornata di Navit installabile sul Neo è quella SVN, e può essere installata dando i seguenti comandi:
echo src navit http://download.navit-project.org/navit/openmoko/svn >/etc/opkg/navit-feed.conf opkg update opkg install navit
Scarichiamo la cartografia italiana di OpenStreetMap aggiornata settimanalmente fornita da CloudMade, da qui, e dopo averlo estratto dall'archivio, spostiamo il file nella cartella ~/.navit Quindi, bisognerà sistemare il file di configurazione, con il seguente comando: cp /usr/share/navit/navit.xml ~/.navit/navit.xml Adesso inseriamo nel file una nuova dicitura "mapset", più o meno nei pressi del rigo 148: <mapset enabled="yes"> <map type="binfile" enabled="yes" data="/home/root/.navit/italy.navit.bin" /> </mapset> Fatto ciò, possiamo ancora fare in modo che Navit visualizzi i tasti "+" e "-" per lo zoom, per ingrandire e diminuire lo zoom della mappa durante la navigazione, portando da "enables=no" a "enables=yes" le voci ai righi 53 e 54: <osd enabled="yes" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.xpm"/> <osd enabled="yes" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.xpm"/> Tutte le indicazioni per il tweak dell'interfaccia grafica di Navit sono qui. Per usare Navit è molto utile ruotare lo schermo in orizzontale; è possibile ottenere una comoda applicazione con tanto di icona nel menù per farlo, installando questo pacchetto. Qualche screenshot
cp /usr/share/navit/navit.xml ~/.navit/navit.xml
Adesso inseriamo nel file una nuova dicitura "mapset", più o meno nei pressi del rigo 148:
<mapset enabled="yes"> <map type="binfile" enabled="yes" data="/home/root/.navit/italy.navit.bin" /> </mapset>
Fatto ciò, possiamo ancora fare in modo che Navit visualizzi i tasti "+" e "-" per lo zoom, per ingrandire e diminuire lo zoom della mappa durante la navigazione, portando da "enables=no" a "enables=yes" le voci ai righi 53 e 54:
<osd enabled="yes" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.xpm"/> <osd enabled="yes" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.xpm"/>
Tutte le indicazioni per il tweak dell'interfaccia grafica di Navit sono qui. Per usare Navit è molto utile ruotare lo schermo in orizzontale; è possibile ottenere una comoda applicazione con tanto di icona nel menù per farlo, installando questo pacchetto.
Qualche screenshot
UGS è uno script in Python realizzato per automatizzare l’inserimento delle nuove voci all’interno del Portale Giochi del Wiki di Ubuntu-it. In particolare, lo script si occupa di facilitare la compilazione della tabella informativa relativa ad ogni gioco, oltre a svolgere altre varie funzioni. Lo script è rilasciato sotto licenza GPL v3.
Lo script permette di evitare errori comuni durante la scrittura delle pagine di wiki nel Portale Giochi:
permette anche ai meno esperti della formattazione wiki di poter completare la tabella descrittiva senza difficoltà;
permette anche ai meno esperti di ottenere facilmente il codice da inserire nelle pagine di lista (Giochi/Azione, RpgMmorpg, ecc.);
evita che si possa creare una nuova pagina con un NomeWiki errato (controllo NomeWiki sia sul nome del gioco che su quello dell’utente);
evita che si dimentichi di inserire la licenza;
evita che vengano caricate immagini con lo stesso nome, o con nomi non significativi;
evita che si dimentichi la Category in fondo alla pagina;
La versione più aggiornata dello script è attualmente scaricabile da qui
Al termine del download,
estrarre il pacchetto; è possibile anche farlo da terminale, con il comando
cd unzip ugs-*.zip
Eliminare l’archivio, ormai inutile, con il comando
rm ugs-*.zip
Entrare nella cartella dello script ed eseguirlo, con i comandi
cd ugs python ugs.py
0.8.8
aggiunto supporto per tutti i browser (Firefox, Konqueror, Lynx, Netscape); dovrebbe supportare anche Internet Explorer;
supportato l’inserimento di “qualsiasi” nei campi Processore, RAM e Scheda video (automaticamente convertito in minuscolo nel caso si scriva “Qualsiasi”);
aggiunta la pulizia dei file dalla cartella ugs/risultati, ed eliminati eventuali messaggi d’errore legati all’assenza del file opzionale lista.txt;
è stato pulito un bel pò il codice, e create le funzioni “def” per snellire il processo del NomeWiki e della pulizia dei file.
0.8
aggiunto controllo su quantità di RAM (MiB, GiB);
aggiunto controllo sulla grandezza del download (KiB, MiB);
aggiunto controllo sull’indirizzo del sito (supporto per “http://“, “www” e “ftp://“);
migliorata leggibilità e pulizia dello script; ordinate sequenze delle azioni.
0.7
aggiunta funzione di creazione della voce per i menù di sezione;
ottimizzato e ridotto il comando di avvio;
inserita funzione che controlla automaticamente la maiuscola all’inizio della descrizione della voce di lista;
sistemate cartelle dello script ed eliminati file inutili;
eliminata opzione non funzionante “modifica dati”;
0.6
trasformazione di qualsiasi nome del gioco inserito dall’utente in un NomeWiki;
inserimento veloce di Categoria, N° Giocatori, Download, Sito Ufficiale, Requisiti Minimi;
selezione assistita della Licenza;
rinomina automaticamente l’immagine del gioco con il nome del gioco stesso;
inserimento della CategoryGiochi solo se la guida è completa;
apertura diretta (in modalità edit) della pagina Prove dell’utente (se la guida è incompleta) o direttamente della pagina del gioco (se la guida è completa); se il NomeUtente digitato alla richiesta non è corretto (per esempio, se scrivo Francesco de virgilio al posto di FrancescoDeVirgilio), viene automaticamente corretto dallo script.
Il risultato dell’esecuzione dello script è visbile nei file risultato.txt e lista.txt, generati temporaneamente all’interno della cartella usg/risultati, ma copiati nella propria Home.
La cartella ugs/non_modificare contiene file essenziali per ottenere risultati corretti, quindi non vanno modificati nè rinominati.
Lo script attualmente supporta tutti i browser per GNU/Linux e dovrebbe funzionare anche su Windows con Internet Explorer.
Per il corretto funzionamento dello script, non bisogna rimuovere nessuno dei file dalla cartella ugs.
Alcune opzioni presenti nello script permettono di entrare nel Wiki di Ubuntu-it direttamente in modalità edit, per cui, prima di utilizzarlo, è consigliabile essere iscritti al Wiki.
Forse tra di voi ci sono moltissimi utenti Flickr. Bisogna ammettere che da quando molti di noi sono diventati dipendenti dai vari servizi online (da Imageshack a Flickr, da Google a OpenStreetMap, da Launchpad a LastFM) questi fornitori di servizi hanno compreso come possa essere utile, al fine di integrare il maggior numero possibile di sistemi operativi con il proprio prodotto, realizzare delle API utilizzabili indipendentemente dal proprio sistema operativo.
È ciò che è successo pressappoco per Flickr: sulla base delle API rilasciate dal vincente progetto di Yahoo, sono stati realizzati qualcosa come 37 software per gestire le proprie foto su Flickr.com. Molti di questi sono compatibili con GNU/Linux, alcuni scritti in C, altri in Java, altri in Python, altri in perl. Esistono validissimi software in Gtk, altri in Qt o in Tcl/Tk, ma esistono anche alcuni tool da linea di comando. Altri strumenti sono stati integrati nei più noti gestori di fotografie per GNU/Linux (F-Spot, Digikam). Ed infine, qualcuno ha pensato di realizzare l’integrazione con Nautilus, partendo da un menù di servizio per caricare le foto selezionate direttamente su Flickr, e finendo con l’integrazione di un filesystem basato su FUSE con le API di Flickr e con Nautilus.Ed è proprio di quest’ultimo che vorrei parlarvi in questo post. Il software si chiama Flickrfs, è disponibile nei repository di Ubuntu Intrepid e consente di sfogliare il contenuto del proprio account Flickr come se fosse una cartella in Nautilus, quasi un FTP. Vediamo come installarlo.
Prima di tutto, faccio notare che non sono ancora riuscito a far caricare dei video a FlickrFS, ma solo fotografie. Se non avete un account PRO, è esattamente ciò che fa per voi
Passo 1. Installiamo il pacchetto “flickrfs” da Synaptic o da linea di comando:
sudo apt-get install flickrfs
Passo 2. Assicuriamoci che FUSE sia incluso tra i moduli del kernel (e ciò dovrebbe essere vero di default nel 99% dei casi):
lsmod | grep -i fuse
Se tutto è ok, dovrebbe essere visualizzata una linea del genere:
fuse 52892 3
Passo 3. Creiamo una cartella (dove più ci piace) in cui verranno “ospitate” le nostre cartelle di Flickr; io l’ho montata in /media, come qualsiasi altra penna USB o hard disk esterno:
sudo mkdir /media/flickrfs
Passo 4. Ordiniamo a Flickrfs di “montarsi” all’interno della cartella appena creata:
sudo flickrfs /media/flickrfs
Appena il programma avrà terminato di aggiornare i nostri set, potremo aprire Nautilus con privilegi di amministratore e accedere alla nostra cartella:
sudo nautilus /media/flickrfs
Ed ecco le nostre cartelle. Potremo importare/esportare foto come se fossimo in una nostra normalissima cartella di sistema, con il drag&drop, con il copia/incolla, ecc ecc.
È utile comunque crearsi uno collegamento sul desktop o aggiungere l’indirizzo nei preferiti per aprire direttamente la cartella flickrfs.
Dopo una pausa lunga quasi due mesi, torno a scrivere sul mio blog, con un mare di novità. Mi perdonerete se mescolo un pò gli eventi relativi a GNU/Linux e quelli privati, ma spesso le due cose si sono confuse ed amalgamate negli ultimi tempi. Andiamo con ordine:
Scavi archeologici Siponto 2008: ritorno a casaDopo 4 settimane di scavi, torno a casa carico di documentazione fotografica e cartacea per arricchire (appena ne avrò tempo) sia Wikipedia che Wikimedia Commons. Ho avuto anche occasione di mappare un pò l’area dello scavo (visibile qui) e di constatare come l’OpenMoko possa essere utilizzato in maniera intrigante per progetti relativi all’archeologia sul campo, come ha già dimostrato Oxford Archaeology.
OpenStreetMap al LinuxDay 2008 (Bari)Anche quest’anno è arrivato il Linux Day, ed avevo preventivamente preso accordi con il LUGBari per un talk su OpenStreetMap. A dir la verità avrei dovuto scrivere le slide molto tempo prima del talk (ci stavo lavorando la sera durante gli scavi di Siponto) ma mi son ridotto (come sempre) all’ultimo momento.Devo ammettere che la mia giornata si è divisa tra le spiegazioni su OpenStreetMap e quelle sull’OpenMoko, che ha suscitato non poco entusiasmo sia nel LUG che nei portafogli dei visitatori alla manifestazione. Il feeedback è stato migliore di quanto mi aspettassi: sembra avanzare l’ipotesi di un mapping-party a Bari organizzato dal LUGBari, e molti visitatori (da Trani, Bisceglie, Corato) hanno espresso la volontà di voler contribuire allo sviluppo di una mappa libera della loro città.La galleria fotografica della giornata è visibile qui. Di seguito, qualche foto:
Novità dal mondo UbuntuDevo scusarmi ancora una volta con la Comunità Italiana di Ubuntu, ma il silenzio nel blog è specchio di quanto il periodo tra Agosto e Novembre sia stato problematico. A breve riprenderò la mia attività “normale” su Ubuntu-it, soprattutto nel wiki (oltre a riprendere a scrivere su questo blog).Devo comunque congratularmi con Canonical e con la Comunità tutta per la ri-apertura di un progetto che era stato aperto e chiuso più di un anno fa nel giro di pochi mesi: Ubuntu DIY Marketing. Come dice il nome stesso (DIY = Do It Yourself = Fai-da-te), era un micro-portale (un portoncino, diciamo) nato con l’obiettivo di raccogliere tutto il materiale pubblicitario e le idee promozionali nate all’interno delle varie comunità locali; tutti i materiali erano disponibili con licenza libera e quindi potevano essere riadattati alle esigenze, e permettendo a tutti poter avere materiale promozionale disponibile con relativa velocità e libertà per promuovere Ubuntu in Linux Day, concili LoCo, manifestazioni, eventi, fiere, mostre, ecc ecc.Adesso questo sogno è diventato realtà, e si chiama Spread Ubuntu! Visitatelo! Senza ombra di dubbio, perderò del tempo in questi giorni per caricare il materiale promozionale creato dalla Comunità Italiana all’interno del portale. Il portale si basa su Drupal.
Ubunteri in manifestazioneLa mattina del 28 ottobre sono stato tra i 14.000 studenti baresi che si sono mobilitati per la manifestazione in Piazza Prefettura contro la legge 133/08, preludio a quella che sancirà la privatizzazione dell’Università Pubblica Italiana. Gli studenti del nostro corso hanno realizzato una bara in cartone per celebrare il funerale dell’Università Pubblica. In quel mentre, ho conosciuto un ubuntero che ci ha aiutato a trasportare la bara. Gli avevo promesso questo grazie
Wikipedia e Wikimedia CommonsLa mia dolce metà, studentessa di Storia dell’Arte nonchè linguista in erba, ha deciso autonomamente di correggere una delle mie traduzioni dalla Wikipedia inglese, Restauro degli affreschi della Cappella Sistina, sistemando alcuni miei strafalcioni (tecnici più che linguistici, a dir la verità). Un bacione Approfitto del momento per rendere noto agli utenti della provincia di Bari che presto verranno caricate su Wikimedia Commons una ventina di foto di beni culturali della provincia. A queste se ne aggiunge qualcuna della nave scuola Amerigo Vespucci, ormeggiata per tre giorni nel porto di Bari, che però non ho potuto visitare dall’interno. Siccome la documentazione fotografica relativa agli interni della nave su Commons è totalmente assente, se qualcuno ha scattato delle foto e vuole rilasciarle con licenza libera (meglio Creative Commons BY-SA in questi casi piuttosto che la GNU) vorrebbe segnalarmelo? Provvederò subito a caricarle su Commons a suo nome.
Propositi per l’invernoÈ giunto il momento delle promesse: ho approfittato dell’estate per liberarmi da un pò di faccende gravose, ho chiuso un pò di progetti aperti in passato per dedicarmi solamente a pochi e precisi obiettivi: Ubuntu-it, Wikimedia, OpenMoko, OpenStreetMap.
Dopo l’arrivo del Neo FreeRunner, non ho resistito alla tentazione di installarci, in ordine, Qtopia, OpenMoko 2008.08-update e poi Debian. Tra le tre distro, solo la prima e l’ultima sono state in grado di farmi ricevere/effettuare telefonate (uso una vecchia SIM Omnitel). Gli sms vengono gestiti perfettamente da tutte le distribuzioni. Tuttavia, nell’ottica di avere un cellulare/palmare con cui poter fare qualsiasi cosa, rimangono in ballo solo Qtopia e Debian. Su Qtopia le uniche librerie di sviluppo supportate sono le Qt, e considerato che mi diverto con il PyGtk, anche Qtopia viene scartata.
In questa guida vedremo come installare Debian con Xfce4 sul Neo. In generale, il primo impatto è stato veramente molto positivo. Il processore da 400 MHz del Neo ha la potenza di calcolo necessaria per ospitare il desktop enviroment, che risponde molto velocemente alle richieste dell’utente. Debian + Xfce4 per l’avvio impiega 1 minuto e 40 secondi, contro gli almeno 3 minuti e 30 secondi di OpenMoko. Piccolo neo: i caratteri del desktop sono un pò piccoli, ma con un pò di pazienza tutto si può ingrandire.
Veniamo al dunque: occorre prima di tutto partire da un’installazione di un “qualsiasi” sistema operativo GNU/Linux nella memoria flash del Neo (che è di 256 Mb). La distribuzione OpenMoko 2007.02 che trovate di default all’acquisto và benissimo, anche se io sono partito dalla OpenMoko 2008.08. Durante l’installazione Debian si auto scaricherà completamente dalla rete, quindi c’è la necessità di connettere il Neo ad internet. Consiglio vivamente di farlo via USB, quindi occorre avere accesso al palmare via SSH. Per farlo, è sufficiente seguire le istruzioni presenti nel Wiki italiano.
Appena finito, potremo testare la connessione con un semplice
ping www.google.it
Debian verrà installato nella microSD (quella da 512 Mb in dotazione con il Neo, al termine dell’installazione, avrà disponibili solo 30 Mb circa, quindi è consigliato dotarsi di microSD di dimensioni pari o superiori ad 1 Gb). Si presume che la scheda sia inserita nel Neo; se non lo fosse, spegnetelo, inserite la scheda e riaccendetelo entrando in OpenMoko.
Fate il login via ssh nell’OpenMoko, solitamente
ssh root@192.168.0.202
Dovreste essere posizionati nella home del sistema operativo. Adesso, scarichiamo lo script che ci permetterà di installare debian, con il comando da ssh:
wget http://pkg-fso.alioth.debian.org/freerunner/install.sh
Rendiamo eseguibile lo script con
chmod +x install.sh
A questo punto non ci resta che eseguire lo script per installare Debian. Lo script scaricherà direttamente sulla microSD tutti i pacchetti necessari all’installazione di Debian, quindi qualsiasi dato sulla scheda verrà cancellato, è bene che lo sappiate. Tuttavia, Qtopia o OpenMoko (il secondo si basa comunque sul primo) potrebbero avere ancora accesso alla scheda, quindi “uccidiamo” il processo di Qtopia, con
killall qpe
Quindi finalmente eseguiamo lo script
SD_PART1_FS=vfat ./install.sh all
Specificando questa opzione, lo script creerà automaticamente la partizione Vfat per l’avvio, che altrimenti avremmo dovuto creare manualmente. Durante l’esecuzione dello script potremmo ricevere errori che fanno riferimento al fatto che la partizione /dev/mmcblk0p1 contiene un filesystem montato. In questo caso, possiamo smontarlo con
umount /media/mmcblk0p1
Oppure possiamo controllare qual’è il PID dei processi che usano quella partizione con il comando
fuser -m /media/mmcblk0p1
e quindi ucciderli tutti con il comando
fuser -m /media/mmcblk0p1 | grep killall
Attenzione: questi comandi non sempre funzionano, ma possono sicuramente tornare utili.
Adesso, andiamo a prenderci un bel cappuccino, un cornetto, ed una fetta di torta. Forse sarebbe meglio anche fare una passeggiata per digerire, perchè l’installazione dura più di un’ora.
Al termine, dovremmo trovare nel terminale un messaggio del tipo “Done. Reboot and enjoy!” Non ci resta che spegnere il Neo con il comando
shutdown now
Attenzione: ora che abbiamo un Neo in dua boot, per poter avviare uno dei due sistemi, dovremo per forza accenderlo accedendo alla NOR; per farlo, tenere premuto il pulsante AUX, quindi premere contemporaneamente POWER e dopo che AUX ha emesso un lampeggìo, lasciare POWER. Da questo menù, sarà possibile selezionare l’opzione boot per avviare OpenMoko o Qtopia e l’opzione Boot from SD (FAT+ext2) per avviare Debian. Scorrere il menù con il tasto AUX e selezionare la seconda voce con POWER.
Debian non ci metterà molto ad avviarsi (meno di OpenMoko 2008.08). Rimarremo delusi, forse ci aspettiamo un bel desktop con lo swirl, in realtà troveremo solo l’essenziale interfaccia grafica di Zhone, il programma di base per le telefonate, che purtroppo fa solo quello. Dobbiamo installare Xfce4. Per farlo quindi è necessario usare il potere della Supermucca di APT
Logghiamoci via SSH. Probabilmente avremo problemi perchè il Neo, pur avendo mantenuto il proprio indirizzo 192.168.0.202, ha cambiato sistema operativo. Sul terminale uscirà un messaggio d’errore che potremo facilmente aggirare editando il file ~/.ssh./known_hosts e cancellando tutto ciò che contiene:
nano ~/.ssh./known_hosts
Quindi, riproviamo:
siamo in Debian! Installiamo un pò di pacchetti utili:
apt-get install xfce4 nano
Al termine, sarà meglio editare il file /etc/fstab per evitare il filsystem check che rallenta di molto l’avvio di Debian:
nano /etc/fstab
e trasformiamolo da così
rootfs / ext2 defaults,errors=remount-ro,noatime 0 1 /dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mtdblock6 /mnt/flash jffs2 defaults,noatime,noauto 0 2 proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/lock tmpfs defaults,noatime 0 0 tmpfs /var/run tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0
a così:
ootfs / ext2 defaults,errors=remount-ro,noatime 0 0 /dev/mmcblk0p1 /boot vfat defaults,noatime 0 0 /dev/mtdblock6 /mnt/flash jffs2 defaults,noatime,noauto 0 0 proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/lock tmpfs defaults,noatime 0 0 tmpfs /var/run tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0
Adesso, dobbiamo fare in modo che Debian all’avvio non carichi Zhone, ma Xfce come desktop enviroment predefinito.
nano /etc/init.d/zhone-session
e modifichiamo la riga 17 da così:
PROG_FSO=/usr/bin/zhone-session
a così
PROG_FSO=/usr/bin/startxfce4
Adesso possiamo riavviare e goderci il nostro Xfce Per liberare un pò di spazio nella partizione root di Debian possiamo dare un bel
apt-get clean apt-get autoclean
Di default, c’è un piccolo inconveniente: non esiste il click con il tasto destro. Per ovviare a questo fastidiosa carenza, i passaggi seguenti ci permetteranno di installare un pacchetto che farà percepire ad X una pressione prolungata del touchscreen come un click destro, correggendo una sfasatura della posizione del puntatore che si verifica a causa di un bug del pacchetto.
wget http://www.ohli.de/download/xserver-xorg-input-tslib_0.0.4-5+fso2_armel.deb wget http://pkg-fso.alioth.debian.org/freerunner/pointercal dpkg -i xserver-xorg-input-tslib_0.0.4-5+fso2_armel.deb mv pointercal /etc/pointercal shutdown now
Al riavvio, tutto sarà sistemato. Per facilitarci la vita nelle prossime connessioni via ssh, possiamo modificare il file /etc/hosts ed inserire l’IP del nostro pc collegato al Neo via USB:
nano /etc/hosts 192.168.0.200 pc
In questo modo potremo inviare file dal Debian al pc semplicemente scrivendo scp file.est nomeutente@pc:~. E adesso, la parte più importante: telefonare. Potremo avviare Zhone da
Menù -> Office -> Zhone
Appena avviato, il software riconoscerà automaticamente la nostra SIM, ci chiederà il PIN e ci permetterà di effettuare/ricevere chiamate, sms, oltre che di sfogliare la rubrica. Personalmente, mi sono premurato di mantenere su Xfce solo 2 desktop, uno solo per Zhone e l’altro per tutti gli altri programmi in esecuzione (Iceweasel, Liferea, XMMS). In questo modo è facile switchare dal desktop “pc” a quello “telefono” senza troppi problemi.
Buon divertimento!
Nonostante il nerissimo periodo affettivo, trovo ancora la forza di scrivere qualcosa, spero possa risultare interessante. Vengo al dunque: secondo quanto affermato da ArsTechnica, Android di Google, il sistema operativo basato su GNU/Linux per cellulari/palmari, non è open source come Google ha più volte affermato. Non mi piace autoreferenziarmi, ma ne avevo già parlato in passato.
In breve, a quanto pare, mentre la maggior parte della community di sviluppatori volontari di Android è costretta ad usare una versione dell’SDK aggiornata a Febbraio di quest’anno, e stanno chiedendosi quando vedranno una nuova SDK su cui sviluppare, un piccolo nucleo di 50 sviluppatori selezionati ha avuto accesso ad una versione aggiornata del software, con molte caratteristiche innovative e molti meno bug.
L’esistenza di questa versione aggiornata dell’SDK (con i miglioramenti tanto agognati da molti fiduciosi sviluppatori) è trapelata per puro errore a causa dell’errato invio di una mail nella mailing list “pubblica” anzichè in quella “privata” degli sviluppatori “intimi e autorizzati”. A peggiorare la posizione di Big G, c’è il fatto che i pochi sviluppatori hanno avuto accesso al codice tramite un accordo di non divulgazione; in altri termini: noi ti mettiamo a disposizione il codice, ma tu non lo dici a nessuno.
Non voglio suscitare sensazionalismi, ma la fiducia è un concetto molto astratto e prezioso: se dò fiducia ad una certa persona, mi aspetto che questa non venga tradita, soprattutto quando la mia “fiducia” si traduce nel *tempo libero* dedicato allo sviluppo di un sistema operativo. Il fatto che Google abbia nascosto al mondo l’esistenza di questa nuova versione dell’SDK, rendendola disponibile con accordo di non divulgazione a pochi sviluppatori, lede profondamente la fiducia delle persone che dedicano il loro tempo libero e le loro energie ad Android.
A questo punto, vien da chiedersi: Google ha nascosto la nuova SDK dietro un accordo di non divulgazione. Quante altre cose sta nascondendo, dicendo nel frattempo al mondo che “Noi di Google crediamo nell’Open Source”?
Dopo l’entrata in vendita (meno di un mese fa) del NeoFreerunner, il primo palmare/telefono completamente open-source, finalmente anche qualche italiano ha cominciato a ricevere a casa il magico pacchettino nero, contenente la straordinaria saponetta elettronica che farà felice moltissimi smanettoni ed amanti del Software Libero.
Ci sono una serie di rivelazioni/novità del tutto sconcertanti: comincio da quelle più “banali” per arrivare alle più “succose”. Molte notizie sono conosciute già da secoli, ma questo post è un vero e proprio brainstormig…
Statistiche 1) Secondo le statistiche di Giugno del Wiki di OpenMoko (wiki.openmoko.org) l’Italia è al 3° posto nel mondo per “interesse” nei confronti del palmare, con 5177 visite al giorno, preceduta da Germania (14666) e USA (17243). Dietro l’Italia troviamo Francia, Regno Unito, Taiwan e Cina. Sono sbalordito da un così imponente interesse nel nostro Bel Paese, è un segnale molto positivo.
Vendite 2) In 2 giorni il Neo Freerunner è andato completamente esaurito in *tutti* i negozi d’Europa (i distributori erano 4!). Secondo alcuni calcoli sulla mailing list ufficiale, se ne sono venduti in 10 giorni più di 10.000…. spaventoso.
Sviluppo 3) Secondo un sondaggio, la piattaforma di sviluppo OpenMoko è al 2° posto in assoluto come preferenza da parte degli sviluppatori, dopo Android di Google; segue Windows Mobile; Symbian all’ultimo posto. [Ho perso il link, quindi scusate se non vi cito la fonte; ve ne parlo sulla fiducia]
Funzioni 4) Cosa può fare attualmente il Neo Freerunner con OpenMoko: tutto. Telefona, manda SMS, copia la rubrica ed i contatti direttamente dalla SIM, funge da navigatore GPS con mappe vettoriali (OpenStreetMap) ed anche con fotografie aeree; naviga nel web con connessione Wifi e si collega ad altri dispositivi tramite Bluetooth. Grazie a Cerebro [http://lyme.media.mit.edu/cerebro/index.php/Welcome_to_Cerebro] permette di creare reti mesh Wifi senza necessità di connessione ad internet, permettendo ai Neo di comunicare fra loro e scambiarsi dati. Inoltre funzionano benissimo anche le altre applicazioni come l’agenda, il lettore di feed RSS, ecc ecc
Ambienti software 5) Tra gli aspetti più interessanti, non comuni a nessun altro palmare/telefonino, è la presenza di *molti* ambienti “desktop”. Il Neo viene distribuito con il rilascio di OpenMoko 2007.2, un’interfaccia basata su GTK che svolge egregiamente tutte le funzioni per cui è stato programmato. Tuttavia, sono in lavorazione un’interfaccia basata su Qtopia, che integra Gtk, Qt ed e17 (le librerie di Enlightment9), chiamata ASU (April Software Update) ed un’ulteriore ambiente ancora completamente work in progress chiamato FSO, il cui obiettivo è semplicemente avere una stabilità pazzesca (non che il 2007.2 non lo sia, eh).
Batteria 6) Grazie ad una patch, la batteria con lo stack FSU raggiunge le 21 ore di durata Secondo gli sviluppatori, ci sono in cantiere altre modifiche al sistema che ne allungheranno ancora di più la vita. Per il momento la vita media di un Neo Freerunner si aggira intorno alle 6 o 7 ore. Componenti aperte 7) Il Neo Freerunner, essendo completamente aperto, non sopporta l’hardware proprietario. Niente POP-port come nei Nokia Serie 60 per gli spinotti, ma un meraviglioso jack da 2,5 mm per le cuffie e una stupenda porta micro-USB per collegarlo al pc. La batteria in dotazione con il palmare è la BL-5C, usata nei Nokia Serie 60 (come il 6600 o il 6630) e comprarne una “compatibile” costa solo 5€, motivo per cui non c’è da preoccuparsi se – attulmente – la batteria dura così poco. Penne USB La porta USB del Neo è alimentata: ciò significa che è possibilissimo collegarci una penna USB (con apposito adattatore USB-microUSB) e utilizzare i dati in essa contenuti (anche se gli sviluppatori avvisano che ciò potrebbe diminuire sensibilmente la vita del palmare… certo, se avete una batteria di scorta è tutto più semplice).
Librerie grafiche 9) OpenMoko, lo dò per scontato, è un sistema GNU/Linux, con tutto ciò che ne consegue: sono supportati Python, Perl, C++ ed altri linguaggi di programmazione sia compilati che interpretati. Sono supportati Gtk+, Qt ed e17, quindi ci si può sbizzarrire con il software libero e con il porting di software già esistente.
Il prezzo in Italia 10) Grazie ad una azienda italiana, il Neo Freerunner entrerà in vendita in Italia dal 1° settembre, alla modica cifra (e dico sul serio) di 329€ + 10€ di spedizione. Nel prezzo, oltre al palmare, è inclusa una custodia in neoprene e le cuffie con jack da 2,5 mm. Nella confezione, oltre agli oggetti appena citati, sono presenti: un cavo USB-microUSB per connettere il palmare al PC; un adattatore per ricaricarlo dalla presa elettrica, con ulteriore adattatore per prese europee/inglesi ed una microSD da 512 Mb. Nel prezzo è compreso un servizio “DebugBoard on call service” per l’affitto settimanale delle debug-board.
Il GPS 11) Oggi è stato scoperto un bug nell’hardware del Neo Freerunner; si tratta di un EMC derivante dallo slot che contiene la microSD e che interferisce con il ricevitore GPS, che non riesce (o in alcuni casi ci mette moooolto tempo) ad agganciarsi ad alcun satellite. Fin quando gli sviluppatori non troveranno una maniera per fare fronte al bug (ovviamente la risoluzione dovrebbe arrivare dal software non da una modifica dell’hardware) il problema può essere risolto rimuovendo la microSD quando bisogna usare il GPS (lo so, è una proposta indecente perchè nella microSD possono essere salvate tutte le mappe necessarie alla navigazione) oppure utilizzando un’antenna GPS esterna via bluetooth. Comunque, non in tutti i casi succede quanto descritto sopra, ad alcuni sembra funzionare bene. Aspettiamo fiduciosi ulteriori sviluppi sul tema. La navigazione satellitare 12) In compenso, sono stati elaborati software semplicemente magnifici per la navigazione GPS su OpenMoko: sto parlando di gvSIG, tangoGPS, che supportano mappe da OSM, e foto aeree da OpenAerialMap.org e Maps-For-Free.org. Questi programmi sono l’ideale anche per tutti i mappers che vogliono cimentarsi in OSM.
I browser 13) OpenMoko ha un browser integrato WebKit ed è già stato inoltre testato Firefox per dispositivi mobile, che prende il nome di “Minimo Web Browser“, e funziona benissimo.
Java 14) OpenMoko adesso, grazie allo sviluppo di Jalimo, supporta anche Java: è anche per questo che gvSIG gira sul palmare. Con questo porting di Java, si apre un mondo di possibilità!
Design aperto e creatività 15) I file CAD con cui sono progettate le mascherine di plastica che ospitano e contengono l’hardware del Neo (il “case” o “chassis”, per capirci) sono sotto licenza Creative Commons, e sono liberamente modificabili e ridistribuibili. Uno studente di design industriale in uno stage all’OpenMoko, ha progettato una stupenda guaina, una cover in plastica per il palmare, che gli conferisce un aspetto veramente robusto e resistente, quasi come gli astucci dei telecomandi. Non ci vorrà molto che qualche azienda non approfitti dell’idea e ne produca dei modelli reali, mettendoli in commercio. I vantaggi dell’hardware libero
Not everybody is as bad as they are dressed (translation by Ton) – Roland in NL (022), inserito originariamente da roland.
Negli ultimi anni, stiamo piano piano assistendo all’esplosione di nuovi pc sempre più piccoli. L’annunciata rivoluzione degli UMPC (tra cui l’arcinoto Asus EEE) sta spostando il mercato verso l’abbassamento dei costi di produzione di questi oggetti e sta abituando i consumatori ad avere praticamente dei PC nel palmo di una mano. I telefonini, nel frattempo, si stanno avvicinando sempre più ai palmari, alcuni mantengono la forma e la struttura dei telefonini ed integrano “cose da palmari” come touchscreen e GPS.
In sintesi, tutto lascia pensare che in futuro i PC portatili saranno sostituiti dagli UMPC e i telefonini dai palmari. La rivoluzione mobile sta procedendo a passi da gigante, ed il mondo del Software Libero ovviamente non resta a guardare. Per gli UMPC il problema non è grosso, di solito quasi tutte le distribuzioni GNU/Linux possono girarci, altre vengono adattate per farlo (penso a Debian per EEE, EeeXubuntu e Ubuntu Mobile). Il mondo del Software Libero su palmari, invece, sta tentando di procedere con passo altrettanto spedito, ma questa volta sembra avere dalla sua parte i grandi della telefonia e di internet: Nokia e Google.
Google non ha bisogno di presentazioni. Android forse si. Il software dal simpatico nome si propone d’essere un sistema operativo per palmari basato su GNU/Linux; mentre il kernel è rilasciato sotto licenza GNU, tutto il software che Android farà girare su di esso sarà sotto licenza Apache.
Nokia aveva aperto le porte del Software Libero al mondo mobile, con Maemo, il sistema operativo per il suo tablet PC, l’N800, basato su Debian e famoso per la miriade di applicazioni che per esso sono nate (le Maemo Apps).
Insomma, nel giro di pochi anni siamo passati da una situazione in cui Microsoft imperava sia su PC che su palmari, ad una situazione in cui (almeno in apparenza) il software libero sembra essere veramente dovunque. Come Stallman ha scritto, il Software Libero permette di difendere la libertà dell’utente, perchè offre la possibilità di SCEGLIERE. Sul PC, possiamo dire oggi di essere in grado di avere un valido sostituto a Windows o Mac, e questo nessuno lo mette in dubbio. Ma sui palmari? Abbiamo una scelta? Volendo migrare via dalla ciofeca di Windows Mobile, abbiamo una scelta? Al momento, le scelte più importanti ricadono sui progetti citati sopra, e su un altro progetto: OpenMoko, un sistema operativo per palmari, libero nel vero senso della parola (rilasciato sotto licenza GNU, basato su OpenEmbedded e GNU/Linux), e che verrà preinstallato nei palmari Neo FreeRunner che l’aziena taiwanese di elettronica “FIC” metterà in commercio dal 1° luglio 2008.
Riassumiamo: al momento, il mercato è diviso come sempre tra due correnti, quella “commerciale” delle grandi multinazionali del mercato mobile e una (per il momento) piccola azienda taiwanese che sta producendo palmari e software completamente liberi. A quanto sembra, anche nella fascia mobile si sta uscendo dal tunnel del software proprietario e si sta offrendo una SCELTA ai consumatori.
Attenti a fare la scelta giusta. Per esempio, in un interessante articolo su businessweek.com si legge come il Dr. Ari Jaaksi, vicepresidente della Nokia, abbia dichiarato che bisogna
“educare gli sviluppatori open-source. Ci sono alcune regole del business che gli sviluppatori hanno bisogno di conoscere, come i DRM [Digital Management Rights], gli IPR [Intellectual Property Rights], il blocco delle SIM [...]. So che questi concetti sono contro la filosofia open-source, ma sono componenti necessari dell’attuale industria mobile”. Sono una vergogna, ecco cosa. I produttori vogliono educarci. Vogliono insegnare a noi persone libere le bellezze della proprietà intellettuale, della chiusura del codice, dei DRM!!! Dovremmo aspettarci il chip freeze anche sui tablet Nokia? No, grazie. E a Google, ci avete pensato? Perchè mai avranno scelto la licenza Apache per il loro prodotto e non la licenza GNU? Perchè la licenza Apache, pur essendo una licenza per software libero, non è copyleft, e permette di poter chiudere il codice rendendolo proprietario. Bella conquista. Per fortuna, almeno la Fondazione GNU ci viene incontro dicendo che la licenza Apache2 è compatibile con la licenza GNU v3.
Questo fiume di parole, per giungere ad una conclusione: la Nokia predica e razzola male, Google zoppica, e tutti vogliono farci pagare il benedetto software, chiudendolo. Sto semplificando, lo so. Eppure, non tutti puzzano così. OpenMoko e FIC stanno producendo qualcosa di straordinario: un palmare completamente aperto, dal software all’hardware, con tanto di debug board per gli sviluppatori, con tanto di file CAD per crearsi le proprie mascherine personalizzate, con tanto di interfaccia sotto Creative Commons e software tutto sotto licenza GNU. Supporta le GTK+, le Qt e le librerie di Enlightment.
Personalmente, mi mette l’acquolina in bocca. Voi che ne pensate?