E così, alla fine ci sono cascato!
Usando il computer anche per lavoro, devo sovente usare programmi creati esclusivamente per Windows, ma nel mio computer non c'è più traccia di Windows (quando ho cambiato la scheda madre e il processore che si erano bruciati, non sono più riuscito a reinstallare il sistema operativo di casa Microsoft, cosa che prima facevo a cadenza bisettimanale...), per cui mi viene incontro il famoso e prestigioso emulatore Wine.
La maggior parte dei programmi che utilizzo io funzionano bene anche sotto Wine, compreso il programma di calcoli Tysistem e un paio di programmi di CAD che ho scoperto nei miei continui viaggi nella rete (e che ho regolarmente acquistato già all'epoca che li utilizzavo sotto Windows), in particolare uno di questi programmi pare intenzionato ad emettere una versione per Linux, per cui ho aggiunto il sito ufficiale ai preferiti e inserito la sezione news nel mio lettore, per essere costantemente aggiornato e pronto all'acquisto (per il momento lo utilizzo in versione demo).
In pratica, il mio computer ha quindi una certa esigenza di caratteristiche hardware che esulano un pochetto dagli standard classici linuxiani, ma questo è niente: mi sono rivolto al mio
tecnico di fiducia che mi ha riempito di paroloni iper-tecnologici e mi ha poi fatto un'offerta che non ho potuto accettare... per cui, al posto di ampliare la macchina, mi vedo costretto a ridurre i consumi.
E' noto che Ubuntu, da una versione all'altra, richiede sempre maggiori risorse hardware (anche se non siamo certo ai limiti assurdi di Windows), ma è sempre possibile far seguire al proprio computer una dieta ferrea (caxxo! La sto facendo io, la dieta, perché non deve farla anche lui?)
Ho cominciato semplicemente sostituendo il window manager (da metacity a openbox) e levando tutti gli effetti di compiz, per poi levare tutto quello che non utilizzo e tutti i servizi inutili all'avvio, quindi ho preso a sostituire molti pacchetti pesantucci con analoghi più leggeri, in pieno stile di ottimizzazione delle risorse, e infine sono arrivato alla decisione finale: il passaggio diretto a un ambiente grafico minimale... ho messo direttamente openbox da solo, non in sessione mista con gnome.
Avevo già, in precedenza, lavorato con un ambiente minimale (sul portatile avevo installato una versione minimale di Ubuntu con ambiente fluxbox) quindi sapevo cosa aspettarmi.
Il primo passo è stato quello di levare a nautilus la possibilità di gestire il desktop (aprendo gconf-editor e deselezionando l'apposita opzione nella sezione apps=>nautilus=>preferences=>show desktop), quindi è stato possibile usare il menù di openbox direttamente col tasto destro dentro gnome, verificando quali voci sono presenti e quali mancano.
Nella cartella nascosta
.config/openbox è quindi possibile trovare un file
menu.xml, che contiene tutte le voci del menù (editabile direttamente con l'editor di testo), dove possiamo inserire le singole voci che vogliamo per creare il nostro menù (se poi non vogliamo editare direttamente il file
menu.xml, possiamo tranquillamente usare il programma
obmenu, che fornisce una versione grafica per fare la stessa cosa).
Siccome la procedura può essere lunga e complessa, specie se abbiamo molte voci da inserire, è possibile far creare automaticamente un primo menù di openbox che riporti tutte le voci relative ai pacchetti installati nella nostra macchina. Basta semplicemente scaricare il programma
menumaker, scompattarlo ed estrarre la cartella dentro la home, quindi accedervi con un terminale e digitare:
./mmaker -f OpenBox3
Questo comando creerà una prima bozza di menù simile al menù di gnome su una sola colonna.
In questo modo, avremmo un menù relativamente completo, semplicemente da riordinare, mediante una serie di taglia-incolla usando
obmenu.
Avviata la cosa, ci renderemo conto anche di come sono impostati i comandi dei singoli menù, per cui sarà semplice crearne di nuovi, per esempio per lanciare le voci dei programmi gestiti mediante Wine.
Siamo a posto? No: dobbiamo ancora mettere i comandi relativamente a spegnimento e riavvio del sistema (per adesso abbiamo solo un
exit e un
reconfigure nell'ultima voce in basso, oltre alla situazione dei
4 desktop di default, ma exit serve solo a terminare la sessione grafica, reconfigure invece reimposta il menù secondo i cambiamenti che abbiamo apportato e salvato sul file obmenu), quindi procediamo anche con queste voci: nelle guide si legge che basta associare il comando
sudo reboot
e
sudo halt
alle voci e poi modificare il file
etc/sudoers per evitare la richiesta della password, ma a me non ha funzionato, quindi ho bisogno di una soluzione alternativa: io ho mantenuto Gdm come gestore del display manager (presente la finestrella di gnome dove vengono richiesti username e password?) e quindi tanto vale sfruttare le proprietà intrinseche, gestendo lo spegnimento e il riavvio direttamente da Gdm.
Ecco quindi i comandi da inserire per permettere spegnimento e riavvio del sistema operativo (e non chiede nemmeno la password):
spegnimento:
gnome-power-cmd.sh shutdown
riavvio:
gnome-power-cmd.sh reboot
Fatto ciò, il nostro menù è pronto per fare ciò che vogliamo, apparendo ovunque vogliamo non appena clicchiamo col tasto destro in un punto vuoto dello schermo (senza nemmeno la necessità di avere un pannello cui associare il menù stesso, cosa che ho trovato estremamente limitante sia sotto gnome che sotto kde).
Voi direte che in un pannello si vede anche quali programmi sono aperti nella finestra corrente e ridotti a icona, ed è verissimo, ma openbox ha un'altra particolarità: sappiamo già che l'ultima voce del menù individua anche la situazione dei 4 desktop (compreso i programmi aperti in ciascuno e la possibilità di raggiungere ciascun programma con un banale click) ma cliccando in un punto vuoto dello schermo, stavolta con la rotella (intesa come terzo tasto), vedremo apparire una finestrella analoga ma maggiormente dettagliata sulla situazione dei 4 desktop, su quale stiamo operando, sui programmi aperti su ciascuno e la possibilità di raggiungerli cliccandoci sopra, per non parlare del tradizionale
ALT-TAB, che sfoglia una a una le finestre aperte sul desktop attuale.
Possiamo anche dire che in un pannello c'è il vassoio delle icone, ma personalmente, sul mio desktop, l'unica icona della tray è quella di network manager, ma sono perfettamente in grado di capire da solo se ho connessione o meno (sia perché il baracchino di fastweb è a fianco del mio computer, quindi vedo benissimo tutti i giochi di luce, sia perché essendo praticamente sempre online mi accorgo subito se ho problemi di connessione).
Poi non dimentichiamoci che ho comunque il monitor di sistema costantemente visualizzato sotto forma del
conky, con tutte le indicazioni necessarie, compresa la sezione relativa alla presenza della connessione.
Ho quindi eliminato qualsiasi forma di pannello (inizialmente avevo messo comunque un pannello semplicissimo e facile da configurare:
pypanel, ma poi sono sorte tutte queste riflessioni e di conseguenza l'ho eliminato dall'autostart, anche se mi sono accorto adesso che non ho eliminato la voce di modifica della configurazione dal menù, poco male: ci vanno esattamente 3 secondi).
Sempre nella cartella nascosta
.config/openbox, troviamo anche il file
rc.xml, anch'esso modificabile direttamente tramite un editor di testo, dove possiamo tranquillamente settare tutte le caratteristiche di openbox stesso, per adeguarlo al meglio alle nostre esigenze.
Gran parte di queste caratteristiche si possono settare graficamente anche tramite il programma
obconf, per esempio il tema, le caratteristiche del mouse, il posizionamento di una eventuale dockbar e tante altre cose, ma per quello che ho fatto io è stato meglio procedere direttamente in maniera testuale: ho configurato tutte le scorciatoie di tastiera che mi ero settato su Gnome, in particolare
WIN-S per avviare il terminale,
WIN-H per avviare il file-manager,
WIN-T per thunderbird,
WIN-F per firefox eccetera (ho lasciato invariate le scorciatoie per cambiare desktop e per spostare la finestra da un desktop all'altro, come anche la maggior parte di quelle di sistema, tipo
ALT-TAB per sfogliare le finestre aperte, eccetera).
Ho quindi fatto un menù, personalizzandolo al massimo secondo le mie esigenze.
Ho deciso che il pannello non mi serve e lo ho eliminato.
Ho impostato tutte le configurazioni che mi servivano.
Adesso si tratta semplicemente di dire a
openbox cosa deve caricare di preciso ogni volta che si avvia, e questo lo si fa semplicemente modificando un file chiamato autostart.sh, ma prima dobbiamo copiare la configurazione base nella nostra home, affinché openbox lo utilizzi secondo le nostre modifiche, quindi apriamo un terminale e digitiamo:
cp /etc/xdg/openbox/autostart.sh ~/.config/openbox/autostart.sh
A questo punto, possiamo modificare direttamente il file di autostart di openbox nella nostra home (sarà infatti questo il primo file cercato da openbox al momento dell'avvio). Basterà aggiungere in fondo al file un elenco analogo a questo:
#!/bin/sh
gnome-volume-manager &
gnome-power-manager &
nm-applet &
pypanel &
conky &
L'elenco altro non è che le applicazioni che openbox avvia in sequenza.
Ricordatevi di inserire le
& al termine di ogni singolo comando.
Ovviamente adattate il tutto a quello che vi serve.
Una volta fatto questo, siamo a posto: openbox si avvierà caricando tutti i programmi che gli abbiamo indicato e sarà quindi pronto il nostro ambiente di lavoro ottimale.
Un'ultima cosa: ho anche sostituito nautilus con il più leggero
thunar, leggero e scattante, ma sufficientemente completo da non far rimpiangere nautilus stesso.
...
Ecco qui la situazione attuale.
Schermata vuota (vero che avevo appena acceso il computer, ma faccio comunque notare il consumo irrisorio di RAM, incredibilmente basso rispetto al 20% di Gnome e al 16-17% della sessione mista):
Schermata piena (piena per modo di dire: thunar per mostrare la mia home e xterm che mi ha appena avvisato che non ci sono aggiornamenti):
E, infine, un paio di schermate per mostrare il menù di openbox e la finestrella che mi permette di controllare se ho dimenticato applicazioni aperte in qualcuno dei 4 desktop virtuali (non ho ancora capito se esiste un sistema per visualizzare tutte le finestre insieme, tipo l'effetto Expo a muraglia di Gnome ma va comunque benissimo così).
Ecco il menù personalizzato:
Le prime voci sono i lanciatori automatici (xterm, thunar, gedit, gimp, inkscape, thunderbird, firefox, synaptic e xkill, da ieri sera è presente anche liferea, il mio lettore di news)
Subito dopo la sezione di configurazione (adesso non c'è più la voce riferita a pypanel), la sezione musicale (ho diverse playlist, e ho aggiunto le voci di comando di Vlc per avviare le singole playlist senza doverle caricare preventivamente), la sezione dei programmi che utilizzo per lavoro (aperta, quindi potete tranquillamente fare spionaggio industriale su come lavora un prestigioso studio tecnico impiantistico... :-P ) e, infine, le sezioni che raccolgono tutti i programmi, ricalcando la configurazione tipica del menù di Ubuntu, più la sezione relativa allo spegnimento e riconfigurazione del menù stesso, che comprende le voci Reconfigure, Exit, Spegni, Riavvia, oltre alla situazione dei 4 desktop, ma per quest'ultima preferisco utilizzare la seguente finestrella di controllo:
Che ne dite? :-D