Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Fluxbox: desktop leggero per un Linux velocissimo | HTML.it
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

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
menu
startup
  • Il file menu
  • Grazie al file keys,
  • Il file startup

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]
  • [restart]
  • [exit]
  • [nop]

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 WorkspaceMenu OnDesktop

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 Mela+P

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 xmodmap "/home/vito/.Xmodmap" exec fluxbox & &

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 end

  • Caption
  • Command
  • Icon
  • Width Height
  • X Y

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