Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

MobileUnix: Unix sul cellulare

Un sistema operativo virtuale Unix-like pensato per l’utilizzo su cellulari. Piccolo, portabile e in continua evoluzione.

di Nicola D’Agostino

È tutto italiano un progetto che porta su smartphone e cellulari di ultima generazione una versione in j2me dello storico sistema operativo per smanettoni.
Con MobileUnix infatti qualunque telefonino con supporto a Java può trasformarsi in una console su cui dare comandi anche quando siamo senza PC.
Come dice il suo autore, l’italianissimo Thomas Bertani, MobileUnix si rivolge agli smanettoni che non possono mai fare a meno della linea di comando e per i professionisti che hanno l’esigenza di portare i propri file ovunque. Lo possiamo usare come strumento didattico per avvicinarci alla shell oppure anche solo per scrivere appunti.

La homepage di MobileUnix

Al momento la versione più recente è la 4.0. La si può scaricare liberamente dal sito web ufficiale dalla sezione download insieme al sorgente e con alcuni script in Python e in Perl per creare, estrarre e sincronizzare il dump (di cui parliamo più avanti) in file reali.
Finito il download ci ritroveremo un file chiamato "MobileUnixJ2ME_v0.4.0.jar" di soli 25 KB che dobbiamo copiare sul cellulare (o su un emulatore).

MobileUnix loginCome si usa

Trasferito il file con estensione .jar non resta che eseguirlo.

I dati per il login sono

User: 'root'
Password: 'default'

A questo punto siamo nella shell di MobileUnix (/home/root) che ci accoglie con un contagioso "Have a lot of fun" seguito dal prompt di root:

Sh:~ #

Con man cmd si ottiene l’elenco dei comandi implementati ed usabili standard e non standard che nella versione 4.0 sono: echo, pwd, cd, mkdir, rmdir, rm, ls, cat, man, logname, uname, date, time, more, set, unset, alias, unalias, passwd, history, at, unat, muw, clear, de, mv, cp, di, tile, license.

Per ottenere maggiori informazioni, in classico stile Unix, basta digitare:
man <nomecomando>

Uno dei comandi più produttivi è muw che lancia MobileUnixWriter, un editor per creare, modificare e salvare testi.
Per uscire da MobileUnix si utilizzano invece halt oppure, per ricominciare subito, c’è reboot

Il dump

Per salvare i dati e le informazioni della sessione ci sono due comandi specifici.
de è per esportare il dump.
Questo deve essere o copiato con la funzione copia/incolla e incollato manualmente (possibile solo su Motorola e Nokia) o inviato tramite un qualche tipo di messaggio, ad esempio sms, mms, email (possibile su tutti i telefoni).
di è invece la funzione inversa e serve per importare il dump.
I dump sono pensati per venire gestiti via PC, con cui si può sincronizzare la sessione di MobileUnix. Questo si fa tramite gli script scaricabili dal sito web. Per creare o estrarre i dump bisogna eseguirli da linea di comando con un interprete Perl (due file con estensione .pl) oppure di Python (un unico file che svolge entrambe le funzioni).

La versione è servita

La versione 4.0 di MobileUnix è un ulteriore passo in avanti.
Anzitutto l’eseguibile pesa ancora meno, dai 45 si è scesi a 25 KB così come l’esecuzione è stata velocizzata. Ci sono poi una maggiore stabilità e migliorie come un terminale più Unix-like.
Rispetto alla 3, ancora disponibile in caso di problemi di compatibilità con il proprio smartphone, è stato operato anche un radicale cambio di licenza: dalla Creative Commons, MobileUnix è passato alla nuova GPL3.

Migliorata non vuol però dire finita o esente da problemi: MobileUnix è un work in progress e presenta qualche bug qui e lì. Qualche volta con la 4.0 il sistema si ferma e non accetta più input: è successo con un banale ls ma sul forum si riferisce anche del comando passwd. Talvolta può essere un problema legato al modello di cellulare (nel nostro caso un Sony Ericsson z1010).
È buona prassi segnalare tutto allo sviluppatore che provvederà ad indagare e prendere provvedimenti rilasciando poi una nuova release su cui continuare a smanettare.

L’intervista

Per saperne di più sulla genesi di MobileUnix abbiamo fatto qualche domanda al suo creatore: Thomas Bertani.

Nicola D’Agostino: Come è nato il progetto?
Thomas Bertani: L’idea mi è venuta a Natale 2006. Essendo lontano da casa sentivo la mancanza del mio caro pinguino. A met` gennaio avevo ultimato la prima versione (0.1.0).

NDA: Con che strumenti viene sviluppato?
TB: All’inizio lo sviluppai con mobilebasic, le ultime versioni sono state compilate con midletpascal e quindi l’ho programmato un po’ in pascal, un po’ in j2me puro.

NDA: Su che cellulare lo usi?
TB: Su un semplice Sony Ericsson t630, ma spesso per fare testing utilizzo un SE v800 (di mia madre) e un motorola v3xx (grazie Matteo!)

NDA: Che reazioni ha avuto il suo rilascio?
TB: Ho ricevuto molte email di ringraziamento da persone provenienti anche dal Perù, Francia, Russia ecc… devo molto a tutti quelli che mi hanno sostenuto: senza di loro non avrei avuto consigli preziosi!

Italians do it better

Per il sito web di un MobileUnix non si poteva che scegliere un altro progetto italiano.
Il motore usato da Thomas è infatti Flatnuke, CMS minimale che non fa uso di database relazionali ma ovvero immagazzina i dati all’interno di semplici file.

Ispirato come funzionalità e layout al famigerato PHPNuke ma oramai con una sua identità e pubblico, Flatnuke è frutto del lavoro e dell’inventiva di Simone Vellei a cui si sono in seguito aggiunti Marco Segato e Aldo Boccacci.
Il CMS gode di una vitale base di utenti (tra cui il sottoscritto) che lo hanno impiegato in situazioni ristrette e il suo unico requisito sul server è che ci sia PHP.

Una versione di questo articolo è stata pubblicata su "Hacker Journal" n. 135 del 27/09/2007