Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Fluxbox: desktop leggero per un Linux velocissimo

Tutto su Fluxbox: come installare, configurare ed usare l'ambiente desktop leggero, veloce e minimale che rende Linux veloce e più reattivo
Tutto su Fluxbox: come installare, configurare ed usare l'ambiente desktop leggero, veloce e minimale che rende Linux veloce e più reattivo
Link copiato negli appunti

Le necessità degli utenti del mondo Linux sono, molto spesso, condizionate dalle principali tendenze dei più comuni sistemi operativi commerciali. Per questo motivo, le distribuzioni Linux più diffuse sono quelle che offrono effetti grafici di rilievo, o ambienti desktop che, in un modo o nell'altro, cercano di competere con la potenza di Windows o MacOS.

È anche vero, però, che altri utenti possano aver bisogno di ambienti leggeri, a causa di esigenze legate ad hardware datati e non adeguati a Unity, GNOME Shell o, peggio ancora, KDE. Proprio a questo scopo è utile conoscere ed utilizzare Fluxbox, un desktop environment conosciuto principalmente per l'estrema leggerezza e per il suo aspetto minimale. In questo articolo descriveremo le sue principali caratteristiche, e daremo alcune indicazioni fondamentali per l'installazione e la configurazione, certamente meno user-friendly di GNOME o KDE.

Installazione e primo impatto

Per prima cosa, abbiamo la necessità di installare Fluxbox sulla distribuzione che stiamo utilizzando. Sul sito ufficiale è disponibile il codice sorgente da compilare, anche se la maggior parte delle distribuzioni dispone già di una versione di questo desktop environment nei canali software principali. Su Ubuntu (che è il sistema operativo che utilizzeremo per questo tutorial), è sufficiente utilizzare APT:

$ sudo apt-get install fluxbox

Sempre su Ubuntu, una volta riavviata la sessione, sarà sufficiente affidarci al log-in manager, LightDM (o GDM per le versioni meno recenti), e selezionare Fluxbox anziché l'ambiente di default.

Una volta avviato, il nuovo desktop environment si presenterà decisamente minimale. Oltre ad uno sfondo monocromatico, e al puntatore del mouse, in basso è presente una barra con data e ora, ed un selettore per cambiare l'area di lavoro.

Figura 1: Il desktop minimale di Fluxbox subito dopo l'installazione
(clic per ingrandire)

Figura 1: Il desktop minimale di Fluxbox subito dopo l'installazione

La prima cosa che ci serve conoscere è come aprire il menu principale di Fluxbox. Nulla di più facile: sarà sufficiente un semplice click con il tasto destro del mouse su un punto vuoto del desktop, e avremo a disposizione una lista (che su Ubuntu è già abbastanza folta) con tutti i programmi installati, più una serie di funzionalità aggiuntive che analizzeremo a breve. In alcuni casi, purtroppo, questa lista potrebbe essere spoglia, ma vedremo a breve come risolvere anche questo problema.

Vediamo ora quali sono i principali file di configurazione di Fluxbox, ed impariamo ad utilizzarli.

Configurazione

La configurazione di Fluxbox è gestita tramite pochi file di testo, che sono reperibili alla directory ~/.fluxbox . Va però precisato che esiste un utilissimo tool grafico, FluxConf, creato appositamente per modificare questi file in modo semplice e intuitivo. Nel prosieguo non mostreremo come usare FluxConf, ma il suo utilizzo non necessita di una guida approfondita. Piuttosto, ci concentreremo sui file di configurazione appena accennati, la cui conoscenza implica un'immediata comprensione del funzionamento di FluxConf, nel caso lo si volesse utilizzare.

Il comando ls ci consente di vedere il contenuto della directory ~/.fluxbox, e quindi tutti i file che ci interessano; in grassetto, sono indicate le voci che approfondiremo:

vito@vito-eeepc:~$ ls -1 ~/.fluxbox
apps
backgrounds
init
keys
lastwallpaper
menu
overlay
pixmaps
slitlist
startup
styles
windowmenu
  • Il file menu contiene la descrizione dei menu di Fluxbox, visualizzabili tramite un click con il tasto destro del mouse sul desktop.
  • Grazie al file keys, invece, abbiamo la possibilità di decidere il comportamento di qualsiasi combinazione di tasti.
  • Il file startup definisce le applicazioni che Fluxbox lancerà all'avvio.

Gli altri file consentono di modificare altre impostazioni ugualmente utili, ma, non potendo in questa sede analizzarli tutti, rimandiamo ai lettori questi approfondimenti, consapevoli che il modus operandi è molto simile a quanto vedremo.

Modificare il menu di Fluxbox

Il file ~/.fluxbox/menu contiene l'intera descrizione del menu delle applicazioni che ci viene mostrato cliccando con il tasto destro sul desktop. Il suo contenuto è basato su una sintassi abbastanza semplice da comprendere. Nel caso di Fluxbox su Ubuntu, esso apparirà come segue:

[begin] (fluxbox)
[include] (/etc/X11/fluxbox/fluxbox-menu)
[end]

Come si intuisce, l'intera sintassi è inclusa all'interno di un altro file. Il motivo di questa particolare scelta ha le radici nella necessità di aggiornare dinamicamente il menu ogni qualvolta si installa o si rimuove un'applicazione. Perciò, in questo caso, il file menu contiene soltanto poche righe. In generale, però, è possibile personalizzarlo a proprio piacimento, utilizzando una sintassi abbastanza semplice, che possiamo schematizzare come segue:

[begin] (Titolo)
[exec] (Nome Applicazione) {comando} <icona>
[submenu] (Nome del sottomenu)
	[exec] (Voce A) {comando A} <icona A>
	[exec] (Voce B) {comando B} <icona B>
[end]
[end]

Si intuisce che i tag [begin] ed [end] delimitano l'intera configurazione. All'interno di questi, è possibile utilizzare [exec] se si vuole creare una voce direttamente eseguibile, o [submenu] per creare un sottomenu (che deve anch'esso essere chiuso da [end]).Oltre a quelli visti, alcuni tag sono riservati a particolari funzionalità offerte da Fluxbox:

  • [reconfig] consente di aggiornare la configurazione di Fluxbox; per esempio, subito dopo avere modificato uno dei file sopra elencati, potrebbe essere necessario volere ricaricare la nuova configurazione. Se questo tag è incluso nel menu, potremo utilizzare questa voce.
  • [restart] riavvia la configurazione di Fluxbox (il che è ovviamente diverso dal riavviare l'intero sistema).
  • [exit] consente di terminare la sessione, riportando il sistema al login manager.
  • [nop] consente di inserire un testo o una riga vuota, alla quale non è associato alcun comando. Può essere utile a fini stilistici.

Ad ognuno di questi tag dovremo comunque assegnare un'etichetta. Questa, come abbiamo visto in precedenza, deve essere inserita tra parentesi tonde. Un esempio riepilogativo chiarirà ogni dubbio:

[begin] (Menu di Fluxbox)
[exec] (Transmission) {/usr/bin/transmission} </usr/share/pixmaps/transmission.xpm>
[submenu] (Applicazioni)
	[exec] (Pidgin) {/usr/bin/pidgin} </usr/share/pixmaps/pidgin-menu.xpm>
	[exec] (Terminale) {/usr/bin/gnome-terminal} </usr/share/pixmaps/Gnome-terminal.xpm>
[end]
[nop]
[reconfigure] (Riconfigura)
[restart] (Riavvia Fluxbox)
[exit] (Termina sessione)
[end]

Il risultato del codice è mostrato in figura 2:

Figura 2: Il menu appena descritto, direttamente sul desktop di Fluxbox
(clic per ingrandire)

Figura 2: Il menu appena descritto, direttamente sul desktop di Fluxbox

Gestire le combinazioni di tasti

Il file ~/.fluxbox/keys ha lo scopo di facilitare la modifica e la personalizzazione delle scorciatoie da tastiera, consentendo anche di intervenire sugli eventi legati ai click del mouse. Anche in questo caso, la sintassi utilizzata è abbastanza semplice. Il modo migliore per capirla è dare subito uno sguardo al file, così com'è subito dopo l'installazione: con le versioni più recenti di Fluxbox, infatti, il file contiene una serie di commenti che aiutano a comprendere meglio il significato delle istruzioni.

Una tipica riga di questo file è la seguente:

OnDesktop Mouse2 :WorkspaceMenu

In questo esempio, stiamo assegnando al click sul pulsante Mouse2 (ovvero il tasto destro) l'azione WorkspaceMenu, quando il click è effettuato sul desktop (OnDesktop). Si capisce, quindi, che modificando in qualche modo l'azione, o il tasto del mouse, si può raggiungere un grado di personalizzazione decisamente elevato.

Anche le scorciatoie da tastiera seguono una sintassi molto simile. Vediamo un esempio:

Mod1 Tab :NextWindow

Mod1 rappresenta il tasto Alt, mentre Tab è, appunto, il tasto relativo alle tabulazioni. In questo caso, con la combinazione Alt+Tab verrà aperta una nuova finestra. L'alternativa più vicina ad Alt è il tasto brand (quello con la mela su Mac, o con il simbolo di Windows su ambienti Microsoft), che è identificato dalla stringa Mod4.

Un altro esempio degno di nota è la possibilità di associare ad una combinazione di tasti l'esecuzione di un comando:

Mod4 P :ExecCommand gnome-paint

In questo caso, la combinazione Win+P (o Mela+P) aprirebbe GNOME Paint.

Quelli visti sono solo semplici esempi. Alcune azioni, come quelle dei primi due esempi, sono predefinite, e l'unico modo per conoscerle è consultare il manuale di Fluxbox. In realtà, infatti, esistono moltissime possibilità, che per fortuna Fluxbox chiarifica già nei commenti del file in questione. Le potenzialità di questa sintassi vanno ben oltre le semplici associazioni di tasti ad azioni: è anche possibile utilizzare dei costrutti condizionali complessi.

Queste ed altre caratteristiche, però, richiederebbero un articolo a parte. Per questa ragione, rimandiamo all'apposita pagina del sito ufficiale del progetto, contenente l'intero manuale d'uso, e perfettamente comprensibile anche agli utenti alle prime armi.

Applicazioni di Startup

L'ultimo file che analizziamo è quello più importante, poiché consente di stabilire quali applicazioni devono essere eseguite all'avvio di Fluxbox. Il file in questione è ~/.fluxbox/startup, e si tratta di un semplice script di shell, che possiamo programmare a nostro piacimento. Non ci addentreremo su particolari impegnativi, ma vedremo la logica che sta alla base di questo file.

Il file, dopo l'installazione, si presenterà più o meno così:

#!/bin/sh
# Change your keymap:
xmodmap "/home/vito/.Xmodmap"
# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
# idesk &
# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.
exec fluxbox

La righe commentate con # vengono ignorate dall'interprete della shell, che invece non ignora le uniche due istruzioni non commentate: la prima (xmodmap "/home/vito/.Xmodmap") possiamo trascurarla, mentre la seconda non fa altro che eseguire il desktop environment vero e proprio (exec fluxbox). Tutte le applicazioni che vogliamo far partire all'avvio dovranno essere inserite prima della riga che contiene quest'ultimo comando, ed ogni riga inserita deve terminare con il simbolo &, che consente l'esecuzione delle successive istruzioni anche prima che l'ultima termini. In altre parole, senza il simbolo &, l'avvio di Fluxbox si bloccherebbe, e non ci consentirebbe di utilizzare il sistema.

Vediamo subito un esempio. Supponiamo di volere avviare Firefox tutte le volte che apriamo Fluxbox. Il file startup dovrebbe allora contenere i seguenti comandi:

#!/bin/sh
xmodmap "/home/vito/.Xmodmap"
firefox &
exec fluxbox

Si capisce, quindi, che l'inserimento di un programma alla lista di startup si riassume nell'aggiungere tale programma al file in esame, secondo la seguente sintassi:

#!/bin/sh
xmodmap "/home/vito/.Xmodmap"
prog1 &
prog2 &
… &
progN &
exec fluxbox

Le applicazioni tipiche che vanno aggiunte a questa sezione saranno quelle relative alle gestione del desktop (di cui parleremo nel prossimo paragrafo), alcune dockbar come Conky o Slit (il cui utilizzo richiede, anch'esso, un articolo a parte) o qualche programma relativo alla gestione della rete, come il network manager di default su GNOME (nm-applet).

Gestione del Desktop

In tutta la trattazione fatta, abbiamo tralasciato un dettaglio che molti utenti ritengono essenziale per la buona convivenza con qualsiasi sistema operativo. Fluxbox, infatti, non prevede (di default) nulla che fornisca la possibilità di aggiungere icone sul desktop, e men che meno un meccanismo (quasi scontato per gli utenti abituati ad ambienti come GNOME) che consente di associare tali icone al contenuto di una directory (la cartella "Scrivania" presente nella home dell'utente). Come fare, allora, per abilitare questa funzionalità?

Per ottenere il comportamento descritto, potremmo decidere di utilizzare lo stesso Nautilus, il gestore del desktop di GNOME, semplicemente aggiungendolo alle applicazioni di startup. Così facendo, però, la leggerezza che contraddistingue Fluxbox verrebbe limitata, poiché Nautilus richiede una quantità di memoria che, in questo contesto, risulta più che rilevante.

Una delle soluzioni più conosciute ed utilizzate (suggerita, tra l'altro, dagli stessi commenti presenti nel file startup di Fluxbox) è l'utilizzo di applicazioni come iDesk, fbdesk o xdesk, in grado di definire le icone da visualizzare sul desktop. Questi programmi si basano sulla possibilità di creare un'icona definendola tramite appositi file di testo. Di conseguenza, non ci danno la possibilità (a meno di script pensati apposta per fare questo) di associare le icone al contenuto della directory "Scrivania". Piuttosto, le icone diventano dei lanciatori di comandi, attivabili tramite i click del mouse.

Vediamo, quindi, come utilizzare iDesk, attualmente il progetto più maturo e diffuso tra gli utenti di questo desktop environment.

iDesk e le icone su Fluxbox

Per installare iDesk, possiamo fare riferimento al sito ufficiale, che oltre a rendere disponibile i sorgenti compilabili, mette a disposizione degli utenti un'ampia pagina di manuale. Una volta installato, dovremo creare (se l'installazione non lo fa in automatico) la directory .idesktop all'interno della nostra home:

mkdir -p ~/.idesktop

Questa directory conterrà tanti file quante saranno le icone che vorremo sul desktop. In altre parole, ogni icona corrisponderà ad un file.

Per creare un'icona, sarà sufficiente creare un file con estensione .lnk, all'interno del quale definiremo i parametri necessari. Anche qui la sintassi è molto intuitiva:

table Icon
  Caption: HTML.it
  Command: firefox “http://www.html.it”
  Icon: /home/vito/.icons/logo.png
  Width: 50
  Height: 50
  X: 20
  Y: 20
end

Figura 3: Le icone di iDesk sul desktop di Fluxbox
(clic per ingrandire)

Figura 3: Le icone di iDesk sul desktop di Fluxbox

Tra le righe table Icon ed end inseriremo tutti i parametri necessari a definire un'icona:

  • Caption contiene il nome dell'icona, che comparirà sotto l'immagine.
  • Command è il comando che verrà eseguito al doppio click del mouse. E' anche possibile definire più comandi, ad esempio associandone uno al tasto destro. Per questo tipo di dettagli, rimandiamo agli esempi della pagina di manuale sopra citata.
  • Icon identifica il path dell'immagine che vogliamo utilizzare come icona.
  • Width ed Height sono le dimensioni dell'icona, che possono quindi essere variabili.
  • X ed Y identificano la posizione iniziale, ovvero quella in cui verrà posizionata l'icona. all'atto della creazione. Una volta creato il file, questi due campi si aggiornano automaticamente ad ogni spostamento dell'icona, e non dobbiamo più preoccuparci dei loro valori (basteranno semplici drag & drop per modificare la posizione a nostro piacimento).

La figura 3 mostra un esempio con tre icone che utilizzano la stessa immagine, ma dimensioni diverse. In questo caso, è stato sufficiente creare 3 file con estensione .lnk, all'interno della directory .idesktop, e valorizzarne opportunamente il contenuto.

La configurazione di iDesk può essere ulteriormente modificata, modificando il file .ideskrc, sempre all'interno della nostra home. Il suo utilizzo è intuitivamente comprensibile grazie all'espressività dei nomi delle variabili. Modificando alcune entry, possiamo scegliere lo sfondo, il font da utilizzare, la grandezza dei caratteri e quant'altro necessario per personalizzare il più possibile il desktop.

Conclusioni

Quella vista è solo una piccola parte di Fluxbox. Ci sarebbe molto altro da dire relativamente a questo più che interessante ambiente desktop, che si rende particolarmente adatto a chi non si fa intimorire dalle "configurazioni manuali", e sopratutto a chi ha la necessità di limitare il più possibile l'utilizzo delle risorse di memoria. Basti pensare che alcuni test hanno dimostrato che, mentre GNOME 2.x richiedeva circa 380 MB di RAM, con Fluxbox (escludendo iDesk o altri software qui non citati) si può arrivare a soli 48 MB. Un risparmio notevolissimo per chi vuole godersi le potenzialità di Linux su PC datati, senza doversi privare di un desktop environment discreto e, comunque, personalizzabile.

Ti consigliamo anche