lunedì 31 maggio 2010

Aspire One, Xubuntu: installazione da pen-drive usb

Una volta l'installazione di un sistema operativo Linux era assai più difficile, occorrevano svariate informazioni sull'hardware usato dal proprio computer e l'interfaccia grafica dell'installer, il programma che guida l'utente attraverso le varie fasi previste per l'installazione, non era per niente user friendly. Molti utenti, credo, rinunciavano all'installazione ancora prima di iniziarla!
Mentre per l'installazione di alcune distribuzioni sono ancora necessarie informazioni dettagliate sull'hardware, con Ubuntu la situazione è decisamente migliorata e ve ne mostrerò le prove con qualche immagine: installeremo Xubuntu sull'Aspire One!
Xubuntu è una variante di Ubuntu che differisce per il desktop environment usato che per Xubuntu è Xfce, lo stesso usato anche da Linpus lite. Altri desktop environment, a volta detti anche desktop manager o window manager (mischiando un po di concetti), sono: Gnome e Kde. La versione classica di Ubuntu usa Gnome, Kubuntu usa Kde e Xubuntu, quindi, usa Xfce.
Xfce è particolarmente leggero e richiede poche risorse all'Aspire One, sia in termini di cpu che di memoria ram usata. Alcune informazioni su Xfce possono essere trovate a questo indirizzo. L'installazione di Xubuntu che vi propongo riguarda la versione 9.10 di Ubuntu, nome in codice Karmic Koala. In Xubuntu 9.10 è presente l'ultima versione di Xfce, invito i vecchi utenti di Linpus lite a provarla: l'ambiente sarà molto familiare, ma vi assicuro che la gestione del desktop è assai meno restrittiva di quella usata in Linpus lite e propone nuovi plugin e funzionalità!
Per avere un'idea sulle nuove funzionalità di Xfce vi consiglio di sfogliare le immagini presenti nella sezione tour del sito.
Per avviare l'installazione da pen-drive usb occorre scaricare l'immagine del sistema operativo a questo indirizzo e trasferirne il contenuto sul dispositivo di memoria (mi raccomando, non facendo copia e incolla!). Per muovere l'immagine di Xubuntu appena scaricata, sulla pen-drive usb, procuratevi una versione di UNetbootin a questo indirizzo, esiste sia la versione per Windows che quella per Linux. Trovate, sempre sul sito, le istruzioni per procedere alla creazione di una pen-drive usb con il sistema operativo (inserite la pen-drive usb, eseguite il programma, scegliete l'immagine da scrivere e avviate il processo di scrittura sul dispositivo di memoria).
Inserite la pen-drive usb creata con UNetbootin in una delle porte usb dell'Aspire One, accendetelo e premete il tasto "F12" per scegliere il dispositivo da usare come disco di avvio, che in questo caso sarà ovviamente la pen-drive inserita. Alla pressione del tasto detto sopra cercate e scegliete l'etichetta che fa riferimento al costruttore e al modello di pen-drive usb da voi inserita. Nel successivo menu dovete selezionare la voce "default", la prima nell'elenco. Il sistema operativo verrà letto e caricato in memoria, senza usare in scrittura l'hard disk dell'Aspire One. Il tempo impiegato dal sistema operativo a caricarsi dipende dalla qualità della pen-drive usb usata.
Ci siamo, il desktop è stato caricato, nel menu delle applicazioni si trovano alcuni software installati di default che è possibile provare pur non avendo ancora installato il sistema operativo. Come procedo all'installazione? Tutto inizia da un'icona:


la vedete? E' lì sul vostro desktop! Cliccate sull'icona "Install Xubuntu 9.10" per avviare l'installer. Una finestra di benvenuto permette di selezionare subito la lingua in maniera tale da mostrare i successivi messaggi in una lingua a voi comprensibile, cliccate sul bottone "Forward" per andare avanti.


In basso a sinistra potete leggere il numero di passi necessari a descrivere la configurazione che l'installer applicherà al sistema operativo e al file system. La seconda schermata permette di impostare la località. In questo modo il sistema operativo userà le convenzioni usate nel paese scelto (simboli, valute, caratteri di punteggiatura, accenti e fuso orario).


Avendo selezionato in precedenza la lingua per andare avanti cliccate sul bottone "Avanti". Adesso tocca al layout per la tastiera. Le impostazioni di default vanno bene, provate i tasti e i simboli digitandoli nella casella di prova!


Andiamo "Avanti", verrà adesso caricato il programma per il partizionamento del disco. In questa fase occorre dare qualche secondo in più all'installer per completare l'analisi del disco. Se sul disco sono presenti altri sistemi operativi verranno ora rilevati, in seguito verrà fatto scegliere all'utente cosa farne.


La schermata dice tutto!
Sul disco del mio Aspire One viene rilevata una versione di Ubuntu, nella parte superiore dell'immagine mostrata sopra viene riassunto l'attuale stato del disco, che contiene la partizione con Ubuntu e quella per il file di swap. Cosa deve fare l'installer lo decidete voi!
Di default viene selezionata la prima opzione: installare Xubuntu accanto all'altro sistema operativo. Verrà poi configurato, automaticamente, un boot loader (grub2) per selezionare all'avvio il sistema operativo da caricare. Se sul vostro disco avete invece installato una versione di Windows l'installer riconoscerà anche questa e configurerà di conseguenza il boot loader! Nella parte inferiore della schermata viene mostrata un previsione del futuro filesystem, con entrambi i sistemi operativi.
Se volete usare l'intero disco per l'installazione di Xubuntu dovete allora scegliere la seconda opzione: cancella e usa l'intero disco.


L'installer ci mostra come sarà il futuro file system, interamente occupato da Xubuntu. Non ci vengono mostrate però le singole partizioni e nemmeno il tipo di file system che verrà usato (che di default è ext4, è preferibile usare ext2 per la sua semplicità).
L'ultima opzione permette di specificare manualmente le partizioni, dovendo ancora dire altre cose all'installer (in particolar modo il tipo di file system che ho intenzione di usare) scelgo proprio quest'ultima opzione:


Questa opzione aggiungerà un ulteriore fase per il partizionamento del disco, andiamo"Avanti". Nella nuova finestra selezioniamo le partizioni elencate, una alla volta, e clicchiamo sul bottone "Elimina" per cancellarle dal disco. Man mano che eliminiamo le partizioni presenti una nuova etichetta, con il nome "spazio libero", raccoglierà tutto lo spazio fin qui liberato. Cosa occorre a Linux? Almeno due partizioni: una per il file system (per la directory radice "/") e una per il file di swap.
Selezioniamo l'etichetta "spazio libero" e andiamo a creare la partizione per il file di swap. Esistono diverse teorie sul file di swap, molti dicono di creare un file di swap pari al doppio della memoria ram installata sul computer. E' preferibile avere un file di swap di almeno 512MB per parcheggiare sul disco i programmi in esecuzione quando la memoria ram scarseggia. Se si vuole poi avere la possibilità sospendere la sessione in corso il file di swap deve essere grande almeno quanto la ram installata. L'ibernazione del sistema esegue infatti una fotografia della memoria ram usata dal sistema operativo e la scarica nel file di swap, al risveglio del sistema operativo la fotografia precedentemente fatta viene ripristinata e l'utente riprende a lavorare.
Poiché esistono alcuni problemi con la funzione di ibernazione, comunque risolvibili con script e modifiche varie, ho deciso di non avere un file swap grande quanto la memoria ram e di lasciare più spazio libero al disco. Già devo gestire la durata della batteria, figuriamoci se iberno il sistema operativo e vado a prendermi il caffè, al massimo spengo il computer e poi lo riavvio!
Coloro che intendono sperimentare la funzione di ibernazione devono allora scegliere un file di swap di 512MB, 1GB oppure 1,5GB a seconda della memoria ram installata sull'Aspire One (che al massimo può essere di 1,5 GB, per i modelli 110L e 110X). Come si crea una partizione per il file di swap?
Selezionate l'etichetta "spazio libero", poi cliccate sul bottone "Aggiungi" e fornite le seguenti istruzioni:


Premete su "Ok" per aggiungere la partizione al file system. Per la directory radice, selezioniamo di nuovo l'etichetta "spazio libero", poi clicchiamo sul bottone "Aggiungi". Selezionate il tipo di file system, ext2, e non dimenticate il punto di mount, "/". Non toccate i valori per la dimensione della partizione, verrà usato il restante spazio libero!


Ecco la nuova situazione sul disco:


Andiamo "Avanti"! Date un nome al vostro computer (utile se vi trovate in una rete locale, meglio quindi se univoco) e all'utente che ne farà accesso. Se impostate la voce "Richiedere la password personale per accedere" non dimenticate di scrivere la stessa, nei due campi in cui essa è attesa.


La successiva schermata, l'ultima, riassume tutto quello che finora abbiamo detto di fare all'installer, che nel frattempo ha raccolto tutte le nostre informazioni. Andando oltre si avvia l'installazione. Qualche ripensamento? Tornate "Indietro", altrimenti un ultimo click su "Installa" e attendiamo!


Non ho mai cronometrato la durata dell'installazione, credo comunque che occorrono almeno 20 minuti. Terminata l'installazione un messaggio ci inviterà ad usare la versione appena installa sul disco anziché quella presente sulla pen-drive usb. Il primo riavvio del sistema operativo richiede qualche minuto in più, i successivi riavvii vengono invece completati in meno di un minuto. Xubuntu è un'ottima distribuzione Linux da cui ripartire con il nostro Aspire One! Prossimamente vedremo come rimediare ad alcune imperfezioni e ottimizzare al meglio l'intero sistema.

sabato 29 maggio 2010

Aspire One, Linpus lite: aggiornamenti obbligatori?

Attraverso "Live update" è possibile recuperare dai server di Linpus lite gli aggiornamenti per il sistema operativo e le sue componenti. Purtroppo la maggior parte di questi risultano essere obbligatori, l'utente non li può deselezionare. Tali aggiornamenti vengono classificati come "Critical". Esiste poi un'altra categoria di aggiornamenti che possono essere invece deselezionati e per questo motivo vengono etichettati come "Optional".
Se un'applicazione del sistema operativo (una di quelle installate di default sull'Aspire One) è stata disinstallata ed è ora presente un aggiornamento per la stessa, l'applicazione verrà installata di nuovo per poter applicare poi l'aggiornamento! Ma tutti gli aggiornamenti sono davvero obbligatori?
Certo che no! Si può ovviare a questo comportamento ridando all'utente la facoltà di scegliere quale aggiornamento installare. Basta digitare in una finestra di terminal questo comando:

[user@localhost ~]$ sudo sed 's/Critical/00000AA1/;s/Optional/00000AA1/' -i.bak /usr/bin/onlineupdate

Dopo aver eseguito il comando riavviate l'Aspire One e provate a mandare in esecuzione "Live update". Tutti gli aggiornamenti intercettati sono adesso selezionabili dall'utente. Nel corso di questi anni il team di Linpus lite ha rilasciato diversi aggiornamenti, all'inizio anche frequenti. Non installo mai gli aggiornamenti per il sistema operativo, mi dico sempre: perché compromettere la stabilità del sistema operativo?
E' evidente che se esiste qualche tipo di problema (che effettivamente riscontro) sono allora in fila a scaricare la patch che lo corregge!
Nell'elenco che segue ho cercato di raccogliere in giro alcune informazioni utili sugli aggiornamenti di Linpus lite per l'Aspire One (collegandomi via ftp sui server di Linpus lite e leggendo nei file xml che accompagnano le path, sotto forma di file sh). Ogni aggiornamento è identificato da un numero e molto spesso esistono più versioni dello stesso aggiornamento (ovvero l'aggiornamento dell'aggiornamento). Nella lista che fornisco viene inoltre riportata la categoria di appartenenza assegnata agli aggiornamenti ("Optional" oppure "Critical"), una descrizione (la stessa che compare nel pannello inferiore di "Live update") e la data di rilascio. Se avete altre informazioni su altri aggiornamenti potete lasciarle nei commenti, provvederò ad "aggiornare" l'elenco.
  • 180034 - Optional: Apply this patch to add Belgium language input (31 Luglio2008);
  • 180030 - Optional: Apply this patch to add Brazil language input (31 Luglio 2008);
  • 180033 - Optional: Apply this patch to add Canadian language input (31 Luglio 2008);
  • 180040 - Optional: Apply this patch to add Danish language input (31 Luglio 2008);
  • 180038 - Optional: Apply this patch to add Greek language input (31 Luglio 2008);
  • 180032 - Optional: Apply this patch to add French language input (31 Luglio 2008);
  • 180037 - Optional: Apply this patch to add Hungarian language input (31 Luglio 2008);
  • 180035 - Optional: Apply this patch to add Norwegian language input (31 Luglio 2008);
  • 180031 - Optional: Apply this patch to add portuguese language input (31 Luglio 2008);
  • 180036 - Optional: Apply this patch to add Sweden language input (31 Luglio 2008);
  • 180039 - Optional: Apply this patch to add Turkish language input (31 Luglio 2008);
  • 180102 - Critical: Apply this patch to make Acer Communication Suite perform better (11 Agosto 2008);
  • 180044 - Critical: Apply this patch to add keyboard layout settings (11 Agosto 2008);
  • 180045 - Critical: Apply this patch to add keyboard layout settings (15 Agosto 2008);
  • 180051 - Critical: Applicare questo patch per rendere migliori le prestazioni di Network Manager (21 Agosto 2008);
  • 180048 - Critical: Applicare questo patch per rendere migliori le prestazioni di Network Manager (8 Settembre 2008);
  • 180055 - Critical: Applicare questo patch per rendere migliori le prestazioni di Acer Communication Suite (Email, IM, calendar, contact, etc.) (8 Settembre);
  • 180047 - Critical: Applicare questo patch per rendere migliori le prestazioni di Photo Master and Media Master (8 Settembre 2008);
  • 180053 - Critical: Applicare questo patch per rendere migliori le prestazioni di date/time (8 Settembre 2008);
  • 180051 - Critical: Applicare questo patch per rendere migliori le prestazioni di display (8 Settembre 2008);
  • 180050 - Critical: Applicare questo patch per rendere migliori le prestazioni audio del dispositivo (8 Settembre);
  • 180054 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (8 Settembre 2008);
  • 180049 - Critical: Applicare questo patch per rendere migliori le prestazioni di Live Update (8 Settembre 2008);
  • 180052 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (8 Settembre 2008);
  • 190004 - Critical: Applicare questo patch per rendere migliori le prestazioni di xfdesktop (18 Settembre 2008);
  • 180057 - Critical: Applicare questo patch per rendere migliori le prestazioni di update-remover (25 Settembre 2008);
  • 190004 - Critical: Applicare questo patch per rendere migliori le prestazioni di xfdesktop (25 Settembre 2008);
  • 180048 - Critical: Applicare questo patch per rendere migliori le prestazioni di Network Manager (7 Ottobre 2008);
  • 180024 - Critical: Applicare questo patch per aggiungere installare patch funzione (7 Ottobre 2008);
  • 180045 - Critical: Applicare questo patch per rendere migliori le prestazioni di Keyboard Layout Settings (10 Ottobre 2008);
  • 180061 - Critical: Applicare questo patch per rendere migliori le prestazioni di translation (10 Ottobre 2008);
  • 180059 - Critical: Applicare questo patch per rendere migliori le prestazioni di keyboard layout (15 Ottobre 2008);
  • 180058 - Critical: Applicare questo patch per rendere migliori le prestazioni audio del dispositivo (15 Ottobre 2008, in realtà la patch è per la scheda wireless!);
  • 180062 - Optional: Applicare questo patch per rendere migliori le prestazioni di huawei 3G (16 Ottobre 2008);
  • 180063 - Optional: Applicare questo patch per rendere migliori le prestazioni di huawei 3G (24 Ottobre 2008);
  • 180064 - Critical: Applicare questo patch per rendere migliori le prestazioni di Power Center (28 Ottobre 2008, la patch mette non permette più la visualizzazione del tempo di carica residua!);
  • 180068 - Optional: Applicare questo patch per rendere migliori le prestazioni di Huawei CM (Multi language) (1 Novembre 2008);
  • 180067 - Critical: Applicare questo patch per rendere migliori le prestazioni di ntfs support (read only) (3 Novembre 2008);
  • 180065 - Critical: Applicare questo patch per aggiungere la lingua di immissione Polish Programmer (5 Novembre 2008);
  • 180066 - Critical: Applicare questo patch per aggiungere la lingua di immissione Czech (QWERTZ) (5 Novembre 2008);
  • 180069 - Optional: Applicare questo patch per rendere migliori le prestazioni di Huawei CM (Multi language and modules) (19 Novembre 2008);
  • 180070 - Critical: Applicare questo patch per aggiungere la lingua di immissione Czech QWERTY (21 Novembre 2008);
  • 180071 - Critical: Applicare questo patch per aggiungere la lingua di immissione Slovak (21 Novembre 2008);
  • 180077 - Critical: Applicare questo patch per rendere migliori le prestazioni di Acer Communication Suite (Email, IM, calendar, contact, etc.) (23 Gennaio 2009);
  • 180078 - Critical: Applicare questo patch per rendere migliori le prestazioni di Storage Manager (23 Gennaio 2009);
  • 180073 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (2 Aprile 2009);
  • 180074 - Critical: Applicare questo patch per rendere migliori le prestazioni di audio device (2 Aprile 2009);
  • 180075 - Critical: Applicare questo patch per rendere migliori le prestazioni di Live Update (2 Aprile 2009);
  • 180076 - Critical: Applicare questo patch per rendere migliori le prestazioni di Bandrich huawei Qistal ZTW 3G modem support (2 Aprile 2009, una patch per Network manager e il supporto per modem 3G);
  • 180079 - Critical: Applicare questo patch per rendere migliori le prestazioni di record both video and audio (2 Aprile 2009);
  • 180080 - Critical: Applicare questo patch per rendere migliori le prestazioni di q101 3G modem support (2 Aprile 2009);
  • 180081 - Critical: Applicare questo patch per rendere migliori le prestazioni di gnome-media (2 Aprile 2009);
  • 180082 - Optional: Applicare questo patch per rendere migliori le prestazioni di Huawei CM (Multi language and modules) (2 Aprile 2009);
  • 180048 - Critical: Applicare questo patch per rendere migliori le prestazioni di Network Manager (14 Aprile 2009);
  • 180083 - Critical: Applicare questo patch per rendere migliori le prestazioni di Acer Communication Suite (Email, IM, calendar, contact, etc.) (11 Maggio 2009);
  • 180084 - Critical: Applicare questo patch per rendere migliori le prestazioni di Acer Communication Suite (Email, IM, calendar, contact, etc.) (11 Maggio 2009);
  • 180085 - Critical: Applicare questo patch per rendere migliori le prestazioni di Power Center (15 Giugno 2009);
  • 180086 - Critical: Applicare questo patch per rendere migliori le prestazioni di Acer Communication Suite (Email, IM, calendar, contact, etc.) (22 Luglio 2009);
  • 180088 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (24 Agosto 2009);
  • 180089 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (10 Settembre 2009);
  • 180091 - Optional: Applicare questo patch per rendere il sistema più efficiente e affidabile (23 Settembre 2009, dovrebbe installa Bittorrent!);
  • 180092 - Optional: Applicare questo patch per rendere il sistema più efficiente e affidabile (23 Settempre 2009, dovrebbe installare Skype!);
  • 180093 - Optional: Applicare questo patch per rendere il sistema più efficiente e affidabile (23 Settembre 2009, una patch per terminal);
  • 180091 - Critical: Applicare questo patch per rendere il sistema più efficiente e affidabile (10 Dicembre 2009, una correzione alla configurazione del sistema);
  • 180090 - Optional: Applicare questo patch per rendere migliori le prestazioni di record both video and audio (11 Dicembre 2009, dovrebbe installare aMsn!);
L'ultimo aggiornamento avvistato per Linpus lite è quindi di circa 5 mesi fa! Con il passare del tempo gli aggiornamenti sono diventati sempre di meno e l'ultimo menzionato nella lista potrebbe essere stato realmente l'ultimo (a meno di clamorosi bug che costringeranno il team di Linpus lite a rilasciare una nuova patch). Per alcuni aggiornamenti la traduzione della descrizione, nella nostra lingua, non è stata fatta proprio bene! Cosa fare con questa lista? Se installate Linpus lite sull'Aspire One e avviate "Live update" modificate prima il comportamento di default dello stesso tool, con il comando detto sopra. Inutile quindi installare le patch per i vari layout di tastiera (alcuni di questi sono date come "Critical"!). Se non possedete un modem 3G potete allora non applicare gli aggiornamenti che installano il software di supporto e le successive patch per questi dispositivi (risparmiando anche spazio)! Se non vi interessano, evitate anche gli ultimi aggiornamenti, quelli cioè che sotto falsa descrizione installano poi programmi (aMsn, Skype e Bittorrent ad esempio). Attenzione all'aggiornamento 180048 che porta le glibc da 2.7-2 a 2.9-2 impedendo la successiva installazione di altri programmi, se volete adesso potete deselezionarlo!

mercoledì 26 maggio 2010

Aspire One, Linpus lite: emuliamo la PSOne

L'installazione e la configurazione del modulo per il supporto ai joypad ci apre nuovi scenari: giocare con l'Aspire One! Oggi vi voglio segnalare la possibilità di emulare con Linpus lite una vecchia ma gloriosa console per giochi, la Playstation One.
Preciso subito che l'hardware limitato dell'Aspire One non permette una visualizzazione fluida di tutti i giochi, si può in ogni caso provare e cercare qualche compromesso nei menu del programma che vi sto per suggerire. Cercando fra i pacchetti disponibili per Linpus lite non si trova nulla di simile per l'emulazione di questa console, la soluzione è però a portata di click. Con pSX emulator possiamo infatti emulare la Playstation One! Il sito di riferimento per questo programma è qui. Nella sezione dedicata agli screeenshot potete osservare l'emulatore in funzione.
Come dicevo poco fa il programma non è inserito nei repository per Linux Linpus Lite e così bisogna procedere con l’installazione manuale. Anzi, ad essere più precisi non si tratta di una vera e propria installazione. Il programma è strutturato in un unico file binario (e due cartelle: una per il bios ed una per le immagini dei giochi). Scarichiamo la versione 1.13 a questo indirizzo. Si tratta di un file tar.bz2 che andremo a scompattare con questo comando:

[user@localhost ~]$ cd Downloads
[user@localhost Downloads]$ tar -jxvf pSX_linux_1_13.tar.bz2
pSX/
pSX/pSX
pSX/readme.txt
pSX/cdimages/
pSX/bios/
[user@localhost Downloads]$

Verrà creata la cartella “home/user/Downloads/pSX”. Prima di avviare il programma vi consiglio di installare una libreria. All’esecuzione del file binario il programma lamentava l’assenza di alcune librerie e così ho trovato una soluzione in questo rpm. Scaricate ed installate il file appena indicato cliccandolo due volte (inserendo la password di root). Nel mio caso non si sono verificati problemi di dipendenze e conflitti con altre librerie. Per l’esecuzione del programma digitate (spostatevi prima nella cartella del programma):

[user@localhost Downloads]$ cd pSX
[user@localhost pSX]$ cd ./pSX

In fase di avvio il programma stabilisce la presenza di un opportuno file di bios che si deve trovare nella cartella “/home/user/Downloads/pSX/bios”. La versione preferita del bios dal programma è la scph1001. Si tratta di un file binario (con estensione .bin) che bisogna procurarsi. Un messaggio lamenta l’assenza del suddetto file. Non appena tutto viene sistemato, l’esecuzione del comando indicato poc'anzi avvia il programma che subito ci mostrerà l’ormai famosa schermata della tanto amata PSOne (forse il suono risulterà discontinuo?). Al primo avvio viene impostata una lingua per i menu.
Già dai primi tentativi di avvio mi sono reso conto del problema dell’audio: il suono appare discontinuo e gracchiante (un problema meglio noto come “sound underrun”, come riportato nella finestra di terminal usata per l'esecuzione del programma). Per tentare di arginare il problema occorre agire su alcuni parametri. Ecco quello che consiglio di fare: avviate pSX e nel menu “File” scegliete la voce “Configurazione”. Nella finestra che verrà caricata accedete alla scheda “Suono”. Alla voce “Dispositivo” selezionate l’altro dispositivo, non quello di default (HDA Intel: ALC268 Analog). Lasciate stare l’opzione “Frequenza” così come si trova (spuntata su “Come la macchina emulata”). Date, poi, questi valori: "Latenza 60ms" e "Latenza XA 35ms".


Lasciate il segno di spunta sulle restanti voci (”Riverbero”, “Sincronizza suono” e “Interpolazione”). In ogni caso, aumentate la “Latenza” se l’audio è troppo discontinuo fino a trovare un buon compromesso con la sincronizzazione video.
Per adesso ho testato il programma con le impostazioni di base (e cambiato quelle audio). La resa grafica è accettabile senza modificare le impostazioni “Video” (ci sarà qualche gioco che metterà a dura prova l’Aspire One ma credo che valga la pena provare, che ne pensate?). Sicuramente vanno provati un certo numero di giochi prima di stabilire la bontà del programma. Una volta inserito il joypad è possibile attivarlo nel programma e impostare, quindi, i tasti per il gioco! Qui trovate le istruzioni per l'installazione del joypad.


Sono allora andato a cercare nei vecchi giochi adesso conservati che avevo per questa console, il primo giocato provato è stato Kula World:


Purtroppo vi occorre un secondo PC per creare, a partire dal cd del gioco, l'immagine del gioco. Nel caso di Kula World il programma si comporta benissimo, il gioco gira senza blocchi e complicazioni, con il joypad poi viene la voglia di giocare.

martedì 25 maggio 2010

Aspire One, Linpus lite: installazione di un joypad

In Linux ogni dispositivo viene modellato da un file, la cartella "/dev" del filesystem ne è piena! Altri file vengono poi creati nel momento in cui colleghiamo una nuova periferica all'Aspire One, se quest'ultima viene riconosciuta! Sfortunatamente in Linux Linpus lite sia i moduli che i file per modellare i joypad sono stati tolti, è possibile ripristinare moduli e file seguendo le istruzioni che a breve riporterò.
Il modulo "joydev.ko" è in grado di riconoscere la maggior parte dei joypad in commercio. Una sua copia può essere scaricata a questo indirizzo, il primo forum in Italia sull'Aspire One. Per l'estrazione del file appena scaricato ci affidiamo a "unzip", aprite una nuova sessione di terminal (premendo i tasti "Alt" ed F2", scrivendo "terminal" e cliccando sul bottone "Run") e date questo comando:

[user@localhost ~]$ unzip -j Downloads/joydev.zip

Il modulo "joydev.ko" si trova adesso nella stessa cartella che ospita il file "joydev.zip", per renderlo disponibile al sistema operativo occorre spostare il file in una cartella di sistema:

[user@localhost ~]$ sudo cp joydev.ko /lib/modules/2.6.23.9lw/kernel/drivers/input/

Il kernel di Linux è modulare, all'occorrenza possiamo aggiungere e caricare nuovi moduli. Ma come fa il sistema operativo a tenere traccia di tutti i moduli presenti su un computer? Esiste un albero di dipendenze fra moduli, i nodi di questo albero sono le cartelle per le infinite categorie di dispositivi, le foglie, invece, sono i moduli!
Se aggiungiamo un modulo occorre dire al sistema operativo di rivedere l'albero (delle dipendenze) con questo comando:

[user@localhost ~]$ sudo depmod

E' come dire al sistema operativo: "ricorda, adesso hai anche questo modulo!". La sola presenza del modulo non ne implica tuttavia il caricamento. Per aggiungere al kernel un modulo bisogna caricare lo stesso attraverso questo comando:

[user@localhost ~]$ sudo modprobe joydev

Ora dobbiamo creare i file per modellare le periferiche di gioco. Qualora fossero già presenti eliminare dalla cartella "/dev" i seguenti file:

[user@localhost ~]$ sudo rm /dev/js0
[user@localhost ~]$ sudo rm /dev/js1
[user@localhost ~]$ sudo rm /dev/js2
[user@localhost ~]$ sudo rm /dev/js3

Questi file non dovrebbero essere presenti in Linpus lite, proprio perché il modulo "joydev.ko" è stato escluso dall'albero dei moduli. Il path in cui il sistema operativo li cerca è comunque differente. I file "js0", "js1", "js2" e "js3" devono trovarsi nella cartella "/dev/input". Se tale cartella non esiste createla con il comando "sudo mkdir /dev/input". Per creare i nuovi file per le periferiche di gioco occorrono questi comandi:

[user@localhost ~]$ sudo mknod /dev/input/js0 c 13 0
[user@localhost ~]$ sudo mknod /dev/input/js1 c 13 1
[user@localhost ~]$ sudo mknod /dev/input/js2 c 13 2
[user@localhost ~]$ sudo mknod /dev/input/js3 c 13 3

Ogni volta che colleghiamo un joypad all'Aspire One si deve creare un file "jsX" nella cartella "/dev". Tale file deve puntare poi all'omonimo file "jsX" della cartella "/dev/input" (affidata al modulo "joydev"). Dobbiamo cioè creare un link simbolico fra il dispositivo che modella il joypad appena collegato (rappresentato ad esempio dal file "/dev/js0") e il file in grado di raccoglierne lo stato dei tasti (rappresentato ad esempio dall'omonimo file "/dev/input/js0"). E' possibile riprodurre questo funzionamento attraverso questi ultimi comandi:

[user@localhost ~]$ cd /dev
[user@localhost dev]$ sudo ln -s input/js0 js0
[user@localhost dev]$ sudo ln -s input/js1 js1
[user@localhost dev]$ sudo ln -s input/js2 js2
[user@localhost dev]$ sudo ln -s input/js3 js3

Possiamo finalmente inserire il nostro joypad e ricaricare il modulo "joydev" con il comando "sudo modprobe joydev". Alcuni joypad possono aver bisogno di ulteriori moduli, come ad esempio i moduli: "ns558.ko", "serport.ko" e "analog.ko". Pertanto, se le successive fasi non dovessero andare a buon fine ricordatevi di questi moduli (estraeteli e spostateli sempre nella nella cartella "/lib/modules/2.6.23.9lw/kernel/drivers/input/").
Per testare sia le funzionalità del joypad che l'avvenuto riconoscimento dello stesso è possibile usare un interessante tool: "jstest"! L'installazione di questo utilissimo comando avviene con "sudo yum install jstest" oppure cercando all'interno del gestore di pacchetti l'utility per il supporto ai joystick. Con il comando (in una nuova sessione di terminal):

[user@localhost ~]$ jstest /dev/js0

testiamo il dispositivo "js0", il primo joypad inserito. Se il dispositivo è stato riconosciuto (adesso si gioca... ) leggeremo nella finestra di terminal molte informazioni, come ad esempio: "Joystick ( SIGHT FIGHTER ACTION USB) has 2 axes and 8 buttons etc... etc...". Per ogni bottone del joypad esisterà una stringa che ne riporta lo stato. La pressione di uno o più tasti aggiornerà nella finestra di terminal lo stato dei bottoni!
Se il dispositivo non è stato riconosciuto ci verrà restituito il messaggio: "No such device". Ciò significa che per il joypad inserito occorrono altri moduli, quelli elencati in precedenza!

sabato 22 maggio 2010

Java: programmazione grafica (3)

In questo articolo vedremo come aggiungere al pannello delle informazioni scritte.
Quando desideriamo inviare all'utente un messaggio ci preoccupiamo del contenuto, del tipo di font e di colore, quindi delle coordinate da assegnare allo stesso.
Gli oggetti della classe Graphics dispongono di un set di metodi per fare questo genere di cose. Meglio usare la classe Graphics2D che offre al programmatore più metodi. Se non viene indicato esplicitamente nel corso del programma, quando cioè si sta descrivendo il pannello, verrà usato un font di default.
Per indicare il font da usare per la scrittura di un testo occorre specificare, allora, il nome del font e un suffisso che ne indica lo stile da applicare (ad esempio, bold, italic, etc...) Ma quali font sono installati sul mio computer? Il programma che segue è in grado di stampare a video una lista (lunga) di font noti al sistema operativo che si sta usando:

import java.awt.*;

public class ListFonts {
   public static void main(String args[]) {
      String[] fontNames=GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
      for (int i=0;i<fontNames.length;i++)
         System.out.println(fontNames[i]);
   }
}


La lista di font che torna il programma sopra, come dicevo, è molto lunga proprio come i font che esistono. Alcuni font, poi, sono proprietari! Ciò significa che per il loro utilizzo bisogna pagare qualcuno. La libreria AWT definisce, allora, delle famiglie logiche di font che assomigliano a quelli originali: SansSerif, Serif, Monospaced, Dialog, DialogInput. Se vogliamo impostare un font va dato questo comando:

Font sansbold14=new Font("SansSerif",Font.BOLD,14);

L'ultimo parametro è la dimensione del font! Con setFont() comunichiamo all'oggetto della classe Graphics2D il font scelto e le sue caratteristiche:

g2.setFont(sansbold14);

Siamo pronti a scrivere! Il metodo drawString() richiede, oltre al messaggio (primo parametro), le coordinate da applicare al messaggio all'interno del pannello (i restanti due parametri).

g2.drawString(message,width/2,height/2);

Se vogliamo centrare il messaggio nel pannello bisogna lavorare non poco. Occorre ricavare il rettangolo che racchiude il messaggio e applicare allo stesso alcune considerazioni di tipo grafico (che riguardano i font). Trovate un esempio nel codice che segue:


class MyPanel extends JPanel {
   public void paintComponent(Graphics g) {
      Graphics2D g2=(Graphics2D)g;
      Font sansbold14=new Font("SansSerif",Font.BOLD,12);
      g2.setFont(sansbold14);
      String message="Luca";
      FontRenderContext context=g2.getFontRenderContext();
      Rectangle2D bounds=sansbold14.getStringBounds(message,context);
      double x=(this.getWidth()-bounds.getWidth())/2;
      double y=(this.getHeight()-bounds.getHeight())/2;
      g2.drawString(message,(int)x,(int)(y));
   }
   static final long serialVersionUID=-1L;
   static final float margin=10;
}

venerdì 21 maggio 2010

Aspire One, Linpus lite: modificare il menu delle applicazioni creato da Xfce

Il menu delle applicazioni creato da Xfce organizza le stesse in maniera automatica. All'installazione di un nuovo software segue l'aggiunta di una nuova voce all'interno del menu. Avete capito di quale menu sto parlando? Quello aggiunto qui!
Se tale situazione può risultare comoda si scopre ben presto il difetto di tale soluzione. Se intendiamo aggiungere un nuovo collegamento a un'applicazione appena scaricata non riusciremo a collocare lo stesso all'interno della sezione del menu che ci interessa! Lo stesso problema si ripete, ad esempio, se vogliamo riorganizzare in modo diverso i collegamenti alle applicazioni nel menu. L'accesso al tool che permette la modifica delle voci di menu (il comando xfce4-menu-editor) condensa in un unica voce, la voce "System", tutti i collegamenti alle applicazioni. Sono sicuro che più di qualche utente si aspettava di poter agire sul menu seguendo questo strada. A quanto pare la strada sembra sbarrata!
Ho trovato nelle faq per Xfce (la vecchia versione, quella usata da Linpus lite) le istruzioni per aggirare il problema. Aprite una nuova sessione di terminal (premendo i tasti "Alt" ed "F2", scrivendo "terminal" e cliccando sul bottone "Run") e date questi comandi:

cp ~/.cache/xfce4/desktop/menu-cache-name-of-the-generated-file.xml ~/.config/xfce4/desktop/menu2.xml
cd ~/.config/xfce4/desktop/
cat menu.xml > menu3.xml
cat menu2.xml >> menu3.xml
mv menu.xml menu.orig.xml
mv menu3.xml menu.xml

Le istruzioni riportate sopra copiano, spostano e uniscono file. Adesso tocca all'editor:

[user@localhost ~]$ sudo mousepad .cache/xfce4/desktop/menu.xml

Cosa fare? Nel wiki di Xfce viene detto di cancellare (più o meno a metà file) queste righe:

</xfdesktop-menu>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xfdesktop-menu>

<xfdesktop-menu>

Non dimenticate di salvare il file! Adesso è possibile aprire l'editor del menu Xfce che a questo punto, oltre all'unica voce "System" (che condensa in una sola voce tutto il menu di sistema), presenterà tutte le singole voci che compongono il menu finora usato. Le stessi voci vengono poi riproposte anche dal menu "System"! Cancellate, allora, i doppioni (provate ad esempio a disabilitare il menu "System") e se volete disponete le stesse voci in maniera diversa, adesso è possibile!

Java: programmazione grafica (2)

La libreria grafica Graphics2D estende la vecchia versione (limitata nelle funzioni di disegno) implementando infiniti metodi per disegnare punti, linee e forme geometriche. A tale proposito, quando si descrive un pannello contenente forme grafiche e si riscrive il metodo paintComponent(), una delle prime operazioni da fare è quella di casting: Graphics2D g2=(Graphics2D)g. La variabile g2 verrà quindi usata per disegnare, spostare e riempire forme.
Alcune forme geometriche ci vengono date dalle classi Line2D, Rectangle2D ed Ellipse2D. Ogni classe che descrive una forma geometrica implementa l'interfaccia Shape.
Il disegno di forme geometriche è estremamente semplice, si istanzia una variabile di una qualunque forma geometrica (a breve vedremo i costruttori delle classi) indicando al costruttore le proprietà che essa deve rispettare (coordinate, larghezza e altezza, generalmente). Quindi attraverso la variabile oggetto g2 si disegna la forma nel pannello invocando il metodo draw().
Con l'oggetto g2 possiamo anche impostare il colore da usare per il tratto del disegno (metodo setPaint()) ed eventualmente riempire la forma (con il metodo fill()).
Ognuna delle classi citate sopra ha due implementazioni (interne), una per le coordinate di tipo float (Float) e una per le coordinate di tipo double (Double). Pertanto, va fatta molta attenzione, soprattutto quando con i metodi getWidth() e getHeight() si tenta di leggere le dimensioni della forma. I valori ritornati sono sempre double, va quindi applicato un casting se la variabile che raccoglie il valore è di tipo float!
Per disegnare un rettangolo occorrono le coordinate (i primi due parametri del costruttore) dell'angolo superiore sinistro. Vanno poi specificate la larghezza e l'altezza (i restanti due parametri del costruttore) della forma:

Rectangle2D rectangle=new Rectangle2D.Float(10,10,200,100);

Per disegnare un ellisse bisogna fare riferimento al rettangolo che racchiude la forma e specificare, anche in questo caso, i parametri visti prima (coordinate, larghezza e altezza).

Ellipse2D ellipse=new Ellipse2D.Float(10,10,200,100);

Per il disegno di linee si devono specificare al costruttore le coordinate dei punti iniziale e finale della linea:

Line2D line=new Line2D.Float(10,10,210,110);

Il pannello che disegna le forme potrebbe essere ad esempio descritto in questo modo:


class MyPanel extends JPanel {
   public void paintComponent(Graphics g) {
      Graphics2D g2=(Graphics2D)g;
      Rectangle2D rectangle=new Rectangle2D.Float(10,10,200,100);
      Line2D line=new Line2D.Float(margin,margin,(10,10,210,110);
      Ellipse2D ellipse=new Ellipse2D.Float(10,10,200,100);
      g2.draw(line);
      g2.draw(rectangle);
      g2.setPaint(Color.BLUE);
      g2.fill(ellipse);
      g2.draw(ellipse);
   }
   static final long serialVersionUID=-1L;
   static final float margin=10;
}

Un tipico problema: voglio disegnare delle forme proporzionandole alla dimensione della finestra. Come accedo alle dimensioni della finsetra?
Occorre, allora, realizzare la classe MyPanel (che estende JPanel) come classe interna alla classe MyFrame (che estende JFrame). Perché? Una classe interna può accedere ai campi dell'istanza della classe che la contiene! Nel nostro alle varibili width ed height.



class MyFrame extends JFrame {
   public MyFrame(String title, int width, int height, boolean isResizable) {
      this.title=title;
      this.width=width;
      this.height=height;
      setSize(width,height);
      setTitle(title);
      if (isResizable) setResizable(true);
      MyPanel graphicPanel=new MyPanel();
      Container contentPane=this.getContentPane();
      contentPane.add(graphicPanel);
   }
   public void centered() {
      Toolkit system=Toolkit.getDefaultToolkit();
      Dimension screenSize=system.getScreenSize();
      int screenWidth=screenSize.width;
      int screenHeight=screenSize.height;
      this.setLocation((screenWidth/2)-(width/2),(screenHeight/2)-(height/2));
   }
   private String title;
   private int width;
   private int height;
   static final long serialVersionUID=-1L;
   class MyPanel extends JPanel {
      public void paintComponent(Graphics g) {
         Graphics2D g2=(Graphics2D)g;
         Rectangle2D rectangle=new Rectangle2D.Float(margin,margin,width/2,height/2);
         line=new Line2D.Float(margin,margin,(width/2)+margin,(height/2)+margin);
         Ellipse2D ellipse=new Ellipse2D.Float(margin,margin,width/2,height/2);
         g2.draw(line);
         g2.draw(rectangle);
         g2.setPaint(Color.BLUE);
         g2.fill(ellipse);
         g2.draw(ellipse);
      }
      static final long serialVersionUID=-1L;
      static final float margin=10;
   }
}

Aspire One, Linpus lite: eliminare le icone di default sul desktop

Non so quanti di voi usino il desktop di Xfce, giusto per capirci, quello che compare eseguendo lo script per lo switch. Ebbene, eseguendo questo switch i quattro quadranti del desktop previsto da Linux Linpus vengono rimossi e sostituiti con un desktop classico, quello di Xfce appunto.
Inoltre, se nelle impostazioni del desktop, precisamente nella scheda “comportamento” oppure “behaviour”, abbiamo impostato la voce per la visualizzazione delle “icone di file e avviatori”, molto probabilmente, dopo l’esecuzione dello script per lo switch ci ritroveremo con delle icone sul desktop che di default sono: l’icona “Home”, l’icona “Filesystem”, l’icona del “Cestino”, eventualmente qualche nostra icona aggiunta (attraverso il path “Desktop”) e le icone dei dispositivi di memoria inseriti nell’Aspire One.
Se si vuole modificare questo ambiente, ad esempio non visualizzando una o più icone di default è necessario aggiungere un particolare file (così dice di fare, ancora una volta, la guida a Xfce) alla cartella di configurazione del desktop Xfce. Vi dico subito come fare.
Aprite una finestra di terminal (premendo i tasti "Alt" ed "F2", scrivendo "terminal" e cliccando sul bottone "Run") e creare il file "xfdesktoprc" con questo comando:

[user@localhost ~]$ sudo mousepad /home/user/.config/xfce4/desktop/xfdesktoprc

Adesso bisogna descrivere al desktop manager, attraverso questo file, cosa desideriamo visualizzare sul desktop. Scriviamo queste righe nel file:

[file-icons]
show-filesystem=true
show-home=true
show-trash=false
show-removable=true

Non dimenticate di salvare il file prima di uscire (ad esempio premendo i tasti "Ctrl" ed "s")! Le righe aggiunte nel file appena creato sono abbastanza autoesplicative (almeno dovrebbe essere così). Con true concediamo all'icona di essere presente sul desktop, con false la escludiamo.
Da ora in avanti possiamo indicare al desktop manager di non visualizzare più certe icone grazie al file appena creato. Riavviate l'Aspire One dopo questa modifica o eseguite un doppio switch del desktop (passando cioè dal desktop di Xfce a quello di Linpus e da quello di Linpus a quello di Xfce).


Riuscite più a vedere l'icona del cestino?

Aspire One, Linpus lite: modificare l'aspetto delle icone (di default) sul desktop

Le icone che di default Xfce dispone sul nostro desktop sono accompagnate da una etichetta (il nome sotto l'icona) inscritta ad un riquadro ombrato. Forse questa immagine vi aiuta a capire meglio di cosa sto parlando:


A volte il riquadro che circonda l'etichetta può sembrare brutto, così come anche il colore del testo (pensate a tutte quelle immagini di background con colori scuri o comunque inadeguati). Il manuale di Xfce suggerisce come ovviare a questo problema e Linux Linpus lite usa Xfce come desktop manager). Questo permette di personalizzare ancora di più il nostro Aspire One, vediamo come!
Individuate il file nascosto (in Linux tutti i file nascosti sono preceduti da un punto) ".gtkrc-2.0" nel seguente path: "/home/user/" ed aggiungete le seguenti righe:

style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 0
#font_name="Liberation Serif"
base[NORMAL] = "#3F6BA4"
base[SELECTED] = "#3F6BA4"
base[ACTIVE] = "#3F6BA4"
fg[NORMAL] = "#FFFFFF"
fg[SELECTED] = "#FFFFFF"
fg[ACTIVE] = "#FFFFFF"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"

Per avviare l'editor e copiare nel file il contenuto suggerito sopra date il comando:

[user@localhost ~]$ sudo mousepad /home/user/.gtkrc-2.0

Come sempre, non dimenticate di salvare il file e godetevi il vostro desktop:


Cosa è cambiato?
Il riquadro che circonda l'icona è adesso scomparso ed il testo sotto le icone è di colore bianco. Il primo gruppo di tre parametri, "base[]", indica i colori da applicare alle icone sul desktop quando queste sono negli stati "normal", "selected" e "active". Il secondo gruppo di tre parametri, "fg", indica i colori da applicare al testo quando l'icona si trova in uno dei suddetti stati. I colori sono individuati da un codice esadecimale a 6 cifre. Nell'esempio il codice esadecimale "FFFFFF" individua il colore bianco. La riga "font_name=Liberation Serif", nell'esempio commentata (e quindi per abilitarla bisogna cancellare il carattere "#" ad inizio riga), permette di specificare il tipo di font da usare per la scrittura dell'etichetta.

Aspire One, Linpus lite: ottimizzare il kernel all'avvio

Durante la fase di boot è possibile passare al kernel alcune utili opzioni, una di queste è senza dubbio l'opzione "elevator". Questa ottimizzazione si addice ai modelli Aspire One dotati di disco SSD, vediamone il motivo.
Un hard disk tradizionale prevede uno o più piatti magnetici rotanti ed una o più testine scorrevoli. La lettura e la scrittura di un file richiede, per questo motivo, dapprima un tempo dovuto al posizionamento della testina in corrispondenza del settore da leggere o scrivere più un'ulteriore attesa dovuta al passaggio del settore interessato e quindi alla rotazione del piatto magnetico. Fin qui tutto normale, è questo il reale funzionamento di un hard disk tradizionale. Cosa succede dunque se occorre leggere o scrivere più di un file? Ed ancora, cosa accade se il singolo file da leggere o scrivere non è allocato in settori consecutivi del disco? La testina del nostro hard disk si sposterà in continuazione da un settore ad un'altro!
Se abbiamo ben afferrato il discorso dovuto ai tempi di attesa che la lettura o la scrittura di un file comportano abbiamo allora individuato il problema: il continuo movimento della testina provoca inevitabilmente dei tempi di latenza che per file di grossa dimensione, specie se frammentati in più parti, si traduce nel classico problema del collo di bottiglia per le prestazioni. La tecnologia cerca di contrastare il problema con dischi capaci di imprimere ai piatti magnetici una maggiore rotazione periferica, la logica prevede invece un interessante ottimizzazione che cerca di minimizzare lo spostamento della testina. All'arrivo di un job di lettura e/o scrittura perchè non ordinare in maniera sequenziale gli spostamenti della testina?
Questo è quello che fa lo schedulatore che di default viene utilizzato all'avvio dal kernel. Da qui il nome per l'opzione "elevator". In effetti, se ci pensate bene, quando salite in ascensore con più persone si cerca proprio di minimizzare il numero di salite e discese, salvo alcuni casi eccezionali. Tale opzione è di default passata al kernel ogni volta che il sistema operativo viene avviato. Alcuni modelli Aspire one, in particolare il 110L e 110X, sono dotati di hard disk a stato solido detto anche SSD. Si tratta di una memoria elettronica priva di parti meccaniche che offre quindi tempi di accesso uguali per ogni cella di memoria! In questo caso l'uso dell'opzione "elevator" (che ordina le operazioni di lettura e scrittura) è priva di significato e anziché portare dei benefici finisce per ordinare inutilmente le parti dei file da leggere e/o scrivere (anche l'ordinamento richiede un tempo!). Non vi è dubbio che per ovviare a quanto appena detto, per i dischi SSD, occorre disabilitare tale opzione!
Per fare ciò occorre avviare una sessione di terminal (tasti "Alt" + "F2", comando "terminal" e click sul bottone "Run"). Le modifiche che andremo a fare richiedono i privilegi del super utente o utente root, per questo motivo digitate il comando "su" e date "Invio":

[user@localhost ~]$ su
Password:
[root@localhost user]#

Vi verrà chiesta una password, quella appunto dell'utente root. Se la password è corretta la shell di Linux vi presenterà un nuovo prompt caratterizzato a destra dal simbolo "#". Ora occorre avviare l'editor facendo caricare a quest'ultimo il file di configurazione da modificare:

[root@localhost user]# mousepad /boot/grub/grub.conf

Riporto di seguito il contenuto del file "grub.conf" del mio Aspire One:

default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu

title Linpus Linux RCD
rootnoverify (hd0,0)
kernel /boot/bzImage ro root=LABEL=linpus vga=0x311 splash=silent loglevel=1 console=tty1 quiet nolapic_timer
initrd /boot/initrd-splash.img

Per disabilitare la funzione "elevator" occorre passare al kernel un ulteriore parametro, "elevator=noop":

default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu

title Linpus Linux RCD
rootnoverify (hd0,0)
kernel /boot/bzImage ro root=LABEL=linpus vga=0x311 splash=silent loglevel=1 console=tty1 quiet nolapic_timer elevator=noop
initrd /boot/initrd-splash.img


Riavviare l'Aspire One per rendere effettive le modifiche apportate al sistema operativo. Durante l'avvio si guadagnano pochi secondi, la modifica appena fatta si apprezza meglio durante lo spostamento di file.

Aspire One, Linpus lite: cambiare l'immagine di sfondo al desktop

Le prime personalizzazioni (software) che si applicano all'Aspire One riguardano senza dubbio la grafica dell'ambiente, mi riferisco allo sfondo e al tema delle finestre. Dopo aver rimosso la barra di ricerca e realizzato lo switch al desktop vediamo come impostare una nuova immagine come desktop. Come sempre tutto parte dal click destro del mouse. Selezionate ora dal menu la voce "Impostazioni" e all'interno di questa la voce "Impostazioni della scrivania". Dovete adesso cercare un'icona simile a questa:


Questa la finestra che verrà caricata non appena cliccate sull'icona mostrata sopra:


Attraverso la prima sezione di questa finestra, sezione "Color", è possibile impostare come sfondo un colore oppure un gradiente di colori. Per abilitare la visione di uno sfondo va invece spuntata la voce "Show Image" (della seconda sezione, la sezione "Image") che abiliterà in scrittura i due campi dati. Attraverso la voce "File" potete indicare il path che punta ad un file, un'immagine, sul vostro filesystem. La scelta del file viene agevolata cliccando sul bottone a destra dell'area di testo e navigando nel vostro filesystem, selezionando quindi il file. Alla voce "Style" invece potete selezionare il metodo da applicare all'immagine affinchè quest'ultima ricopra o meno l'area del desktop. Infine, la voce "Adjust Brightness" permette di regolare il tono di lucentezza da aggiungere eventualmente all'immagine.


Se volete potete creare una lista di immagini (bottone "New list...") da far impostare come sfondo al desktop. Ad ogni avvio del sistema operativo verrà scelta un immagine dalla suddetta lista! Ricordate che lo schermo dell'Aspire One ha una risoluzione di 1024 per 600 pixel. Cercate, pertanto, se possibile, desktop o sfondi con queste dimensioni. Una ricerca di immagini adatte proprio al nostro Aspire One può essere fatta da Google Immagini, passando al motore di ricerca la parola chiave "wallpaper imagesize:1024x600". Mi raccomando al path che punta all'immagine, meglio se è un path reale presente sull'hard disk come ad esempio la cartella "/home/user/Pictures".

giovedì 20 maggio 2010

Aspire One, Linpus lite: la modalità desktop

Che fine ha fatto l'ambiente desktop di Xfce? E' stato eliminato per far posto all'ambiente desktop di Linpus, quello a quadranti per intenderci?
L'ambiente desktop di Xfce prevede il classico desktop con sfondo ed icone di cartelle e programmi. In Linux Linpus Lite l'ambiente Xfce, come più volte detto, è stato modificato per l'Aspire One. Se volete, però, possibile mandarlo in esecuzione mediante un interessante script:

#!/bin/sh
# Verifica se attivo il processo della modalità easy mode
ps aux | grep xfdesktop2 | grep '/usr/bin'
# 0 = mode Easy
if [ $? = 0 ]; then
killall xfdesktop2
sleep .5
/usr/bin/xfdesktop-xfce &
else
killall xfdesktop-xfce
sleep .5
/usr/bin/xfdesktop2 &
fi

Salvate il contenuto di questo script in un file, ad esempio switchdesk.sh (aprite l'editor, mousepad ad esempio, e copiate il codice riportato sopra) e assegnate al suddetto file i permessi per l'esecuzione con il comando:

[user@localhost ~]$ chmod +x switchdesk.sh

Abbiamo reso eseguibile lo script appena editato, tuttavia è possibile invocarlo solo qualora la directory di lavoro punta alla directory che contiene il file, noioso.
Per modificare questo comportamento e rendere lo script un vero e proprio comando per l'utente "user" non ci resta che copiare il file nel path "/usr/local/bin" (una cartella di sistema). Per questo motivo diamo questo comando:

[root@localhost user]$ sudo mv switchdesk.sh /usr/local/bin/switchdesk

A questo punto, ogni volta che in una finestra di terminal diamo il comando "switchdesk" (il nome dato al file) avvieremo il desktop classico di Xfce se è presente quello Linpus o viceversa. Si può fare di più!
Se siamo pigri e ci scocciamo di digitare il nome del comando ogni volta che vogliamo cambiare l'ambiente desktop possiamo aggiungere un bottone alla barra delle applicazioni. Ecco come procedere, in una nuova sessione di terminal date il comando:

[user@localhost ~]$ xfce4-panel -a

e nella lista dei plugin di Xfce cercate la voce "Avviatore". Selezionatela con un click e premete sul bottone "Aggiungi" (questo provocherà l'aggiunta dell'elemento collocandolo all'estremità destra della barra delle applicazioni), in alternativa trascinatelo sulla barra delle applicazioni andando a collocarlo laddove vi occorre. L'aggiunta di un nuovo avviatore sulla barra delle applicazione provoca la comparsa di una nuova finestra con nome "Avviatore di programma":


Alla voce "Nome" e "Descrizione" inserite rispettivamente il nome del programma e una breve descrizione. Queste informazioni verrano mostrate all'utente non appena il mouse si sofferma sul bottone, non siate pigri anche su questo, scrivete qualcosa! Il bottone centrale permette di specificare un'icona da assegnare al bottone, è possibile scegliere alcune icone di default. Alla voce "Comando" va inserito il comando che richiama il programma, nel nostro caso lo script "switchdesk" (adesso è un comando!). Chiudete la finestra per personalizzare l'avviatore di programma e richiamate il comando attraverso il bottone appena aggiunto.


Ecco il (mio) desktop) dopo lo switch:

Aspire One, Linpus lite: eseguire un suono all'avvio

Molti lo avranno notato, Linux Linpus lite sembra essere muto. Nessun suono di sistema all'avvio e/o in presenza di eventi. Il motivo è molto semplice, di default Linux Linpus lite non prevede alcun server per i suoni di sistema. E' tuttavia possibile far eseguire almeno un suono all'avvio dell'Aspire One - in questo modo l'avvio del nostro Aspire One richiamerà sicuramente l'attenzione su di noi (così smettiamo di fare quello che stiamo facendo e ci precipitiamo al computer)!
A tale proposito avviate una nuova sessione di terminal premendo i tasti "Alt" + "F2", scrivendo il comando "terminal" e cliccando sul bottone "Run". Richiamate ora il comando "xfce4-autostart-editor":

[user@localhost ~]$ xfce4-autostart-editor

Verrà caricata una nuova finestra con nome "Applicazioni eseguite automaticamente". Mi raccomando, non rimuovete nessuna applicazione dall'esecuzione automatica se non quelle esclusivamente aggiunte da voi! Bene, come in molti avranno già capito, non ci resta che cliccare sul bottone "Aggiungi" e compilare la seguente finestra:


Alla voce "Nome" inserite un nome capace di identificare univocamente l'applicazione che state per inserire. Evitate quindi nomi già presenti in elenco. Alla voce "Descrizione", invece, fornite una breve descrizione che motiva la presenza dell'applicazione o del comando fra le applicazioni da eseguire all'avvio (chissà quanto tempo passerà fino alla successiva modifica, meglio quindi essere scrupolosi e scrivere queste informazioni!).
Alla voce "Comando" va infine indicato il nome del comando che avvia l'applicazione. Nel nostro caso, ossia l'esecuzione automatica di un suono all'avvio, il comando a cui fare riferimento è il comando "play". Tale comando esegue suoni e brani nei formati più noti. Per una lista completa dei formati supportati digitate in una finestra di "Terminal" il comando:

[user@localhost ~]$ play --help

Sfogliate la pagina di help fino alla voce "SUPPORTED FILE FORMATS", li troverete una lista di tipi di file che il comando "play" è in grado di leggere. Vi consiglio di usare un suono per l'avvio con formato .ogg oppure .wav essendo questi i due formati più diffusi nella rete. Un ottimo sito con suoni di avvio (e temi Xfce per le finestre) è . Per l'esecuzione di un suono è sufficiente far seguire al comando "play" (separato da un carattere di spazio) il path assoluto che conduce al suono. Prima ancora di aggiungere la voce "Comando" e di cliccare quindi sul bottone "Ok" vi consiglio di provare in una finestra di "Terminal" l'intero comando, nel mio caso ad esempio:

[user@localhost ~]$ play /home/user/Music/StartupSound/sound1.ogg

avendo allocato sul filesystem il suono di avvio con nome "sound1.ogg" nel path "/home/user/Music/StartupSound". Se tutto sembra funzionare potete allora inserire il comando usato per ascoltare il file audio nell'area di testo della voce "Comando". E ora? Se aspettate non sentirete nulla, questa volta dovete necessariamente riavviare.

Aspire One, Linux Linpus lite: cambiare/sostituire la password dell'utente root

Quando compriamo l'Aspire One e lo accendiamo per la prima volta, presi dalla foga di provare subito l'ultimo acquisto, iniziamo a scrivere cose senza poi ricordarle. Fra queste ovviamente c'è anche la password per l'utente root (che ci viene chiesta), utile ad installare e rimuovere programmi. Presi dal panico iniziamo allora a lamentarci e in molti pensano: "quelli al negozio non mi hanno dato la password!". Altri invece (quelli più furbi) rimediano ripristinando l'Aspire One tramite il dvd fornito nella confenzione (almeno quello me lo hanno lasciato, dicono). Ecco invece un metodo semplice semplice per cambiare la password dell'utente root. Da una finestra di terminal (avviabile premendo i tasti "Alt" ed "F2", scrivendo il comando "terminal" e cliccando sul bottone "Run") scrivere il comando:

[user@localhost ~]$ sudo passwd


Il sistema operativo vi chiederà allora di inserire due volte la nuova password per l'utente root:

[user@localhost ~]$ sudo passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[user@localhost ~]$


Fine del gioco, ora non dimenticate la nuova password!

Aspire One, Linux Linpus lite: aggiungere un menu per le applicazioni sul pannello

L'abilitazione del tasto destro ci permette di richiamare il menu con i programmi utente e quelli da noi installati. Per rendere il nostro Aspire One più simile al PC di casa, almeno graficamente, ma anche per renderne più comodo l'utilizzo, si può pensare di aggiungere sul pannello inferiore del desktop (detta anche barra delle applicazioni) un nuovo menu: il classico bottone "Start" noto in tutti gli ambienti Windows!
L'ambiente Xfce si presenta all'utente con un pannello inferiore, la barra delle applicazioni appunto. Alla destra di tale barra si trovano il pulsante per il logout, quello per regolare il volume, il tool per la gestione delle reti ed il bottone per cambiare il layout della tastiera. A sinistra, invece, troviamo un pulsante per far scomparire l'intera barra ed un bottone per mostrare la home, ossia il desktop. Non c'è il pulsante "Start" (a volte mi dicono).
Ogni modifica ai pannelli di Xfce avviene mediante il comando "xfce4-panel -a", per questo motivo avviamo una nuova sessione di terminal e digitiamo il comando:

[user@localhost ~]$ xfce4-panel -a

Verrà caricata una nuova finestra con nome "Aggiungi elementi al pannello". Si tratta di una finestra con un elenco di plugin (ulteriori plugin possono essere cercati attraverso il package manager, il gestore di pacchetti), per l'aggiunta di un pulsante "Start" dobbiamo scorrere la lista fino a cercare la voce "Menu Xfce". Selezionate il plugin e cliccate sul bottone "Aggiungi", il pulsante "Start" verrà aggiunto alla destra del pannello (non vi preoccupate, sposteremo a sinistra il pulsante in un secondo momento) ed una nuova finestra per la personalizzazione dell'elemento appena aggiunto comparirà sul desktop:


Questo il significato delle opzioni:
  • "Button title": se la voce "Show title in button" è selezionata, questa opzione affianca all'immagine associata al bottone la scritta contenuta nell'area di testo, se la voce "Show title in button" è deselezionata il testo scritto comparirà esclusivamente come tip (considerate il tip come l'evento: il mouse è fermo su un componente da x secondi);
  • "Use default desktop menu file" o "Use custom menu file" indica al bottone se caricare il menu di default generato da Xfce oppure quello editato dall'utente. Per adesso vi consiglio di tenere quello generato di default;
  • "Button icon": indica il path che punta al file immagine per il bottone "Start", un bel topolino che ne dite?;
  • "Show icons in menu": se selezionato, consente di avere nel menu le icone associate ai programmi;
Compilate le suddette opzioni come meglio credete, magari facendo più prove (se cioè il bottone appena aggiunto non vi piace nessuno vi vieta di eliminarlo oppure di modificarlo). Ci siamo quasi, non ci resta che spostare il bottone appena aggiunto a sinistra della barra delle applicazioni. Per questo motivo ridigitate il comando:

[user@localhost ~]$ xfce4-panel -a

Questa volta non dovendo aggiungere alcun elemento andremo a trascinare il bottone appena aggiunto fino all'estremità sinistra della barra delle applicazioni (se invece volete eliminare il bottone, ad esempio perchè non vi piace, trascinate lo stesso dalla barra delle applicazioni alla lista di plugin per il pannello, cliccate poi sul bottone "Remove"). Ogni bottone e plugin aggiunto può infatti essere spostato sulla barra delle applicazioni in questo modo. Siete voi a disporre l'ordine dei bottoni:

Aspire One, Linux Linpus lite: installare nuovi programmi

L'abilitazione del tasto destro ci apre nuovi scenari! Fra questi vi è anche la possibilità di aggiungere e/o rimuovere nuovi programmi. Con il gestore di pacchetti per Linux Linpus lite è possibile trovare di tutto. Sarà un po come fare la spesa al supermercato (mi serve questo e quello), e non si paga! Prima si fa una ricerca di quello che ci serve, poi si sceglie il software (in Linux si parla spesso di pacchetti) che viene quindi spuntato, quindi si avvia l'installazione (che procederà al download del pacchetto e alla successiva installazione e configurazione).
Vi dico subito come procedere: cliccate il tasto destro del mouse e dal menu che compare selezionate la voce "Sistema", all'interno di questa voce scegliete la voce "Aggiungi/Rimuovi software". In qualche istante di secondo si presenterà a voi una finestra di dialogo con questo messaggio: "Si sta tentando di eseguire "pirut" che richiede privilegi amministrativi, ma occorrono più informazioni per eseguire l'operazione". Cosa significa tutto questo?
Molto semplicemente, per installare o rimuovere un software dal vostro computer occorre dimostrare a quest'ultimo che l'operazione è stata richiesta dall'amministratore del sistema, noto anche come utente root. Cosa fare? Semplice, nell'area di testo inserite la password dell'utente root (quella che avete dato al sistema operativo durante il primo avvio del vostro Aspire One). Terminata la fase di riconoscimento (date tempo al sistema di reperire in rete i software disponibili - ovviamente vi occorre una connessione ad Internet) occorrerà interagire con la seguente finestra:


Possiamo navigare fra le varie sezioni della scheda "Browse" alla ricerca del programma da aggiungere. Nel riquadro a sinistra selezioniamo la classe di appartenenza dell'applicazione ("Ambienti desktop", "Applicazioni", "Sviluppo", etc...), nel riquadro a destra invece una sua sotto area (alcune di queste appaiono già spuntate poichè evidentemente sul sistema si trovano, di default, software già installati: ).
Per aggiungere un software di una sotto area selezioniamo, allora, una di questa e clicchiamo sul bottone "Optional package". Verrà caricata una lista con i software disponibili, selezioniamo quelli che ci interessano mettendo un segno di spunta nel riquadro alla sinistra del nome e chiudiamo la finestra (vi consiglio di installare un software alla volta).
Non ci resta che cliccare, dalla finestra principale, sul bottone "Applica" e attendere l'installazione. E' preferibile lasciare quante più risorse possibili all'Aspire One durante l'installazione di nuovi software, soprattutto quelle di rete. Il software infatti deve essere scaricato dalla rete. I pacchetti software vengono tenuti su server di rete, l'indirizzo di tale server o il server stesso vengono talvolta chiamati repository. Prima ancora di dare inizio all'installazione può capitare che il programma ritorni una nuova finestra in cui viene detto, molto brevemente, che per il software scelto occorre installare anche altri pacchetti software (ad esempio, librerie di supporto per l'esecuzione dell'applicazione). In tal caso occorre il vostro consenso per procedere all'installazione anche dei pacchetti software aggiuntivi, siete voi i padroni. Il gestore dei pacchetti ha risolto per noi il problema delle dipendenze, assai conosciuto in Linux (l'installazione di A richiede l'installazione di B e di C, l'installazione di B richiede a sua volta l'installazione di D e di E, e così via... il problema delle dipendenze).
Se invece conoscete il nome del software che intendete installare/rimuovere (anche una sola parte del nome), potete allora servirvi della scheda "Search" per avviare una ricerca:


La ricerca può essere affinata ulteriormente dicendo al gestore di pacchetti di mostrare come risultato i pacchetti software disponibili e non quelli già installati (quest'ultima voce forse è più utile in fase di disinstallazione, quando cioè si sta cercando un software da rimuovere). Ciò avviene attivando rispettivamente le opzioni: "All packages", "Installed packages" e "Available packages". In fase di installazione occorre applicare un segno di spunta alla sinistra del nome del pacchetto, come mostrato in figura sopra. Al contrario, per rimuovere un pacchetto, va invece tolto il segno di spunta.
Applicate, poi, la vostra scelta (cliccando sul bottone "Applica") e date tempo al sistema di aggiornarsi. Le librerie di supporto, se non usate più da alcun programma verranno anch'esse disinstallate. Ok, ho installato il programma. Come lo mando in esecuzione?
L'installazione di un nuovo software, purtroppo, non provoca l'aggiunta dello stesso all'interno di uno dei riquadri di Linux Linpus Lite. Per fare questo dovete attrezzarvi per editare un file .desktop e un file .xml usato dal menu di Linpu lite. Troverete tuttavia i nuovi programmi installati all'interno del menu dei programmi, quello che compare cliccando il tasto destro del mouse.