Fluxbox, un Window Manager per Computer con poche risorse
Introduzione
Questa guida mostra come installare il Windows Manager Fluxbox su un PC in cui sia stata fatta un'installazione base di Debian, senza server grafico X. Fluxbox è un Window Manager leggero, che consuma poche risorse di sistema e che può dare nuova vita a macchine obsolete
Installazione
Come al solito in Debian l'installazione consta di pochi comandi:
# aptitude install xserver-xorg # aptitude install fluxbox
Configurazione
Ora che abbiamo installato Fluxbox, dobbiamo copiare il menu esempio di default e farlo diventare il nostro primo menu di sistema:
# cp /etc/X11/fluxbox/system.fluxbox-menu /etc/X11/fluxbox/fluxbox-menu
e quindi copiarlo nella nostra Home, per poterlo poi modificare a piacere:
$ cp /etc/X11/fluxbox/fluxbox.menu-user $HOME/.fluxbox/menu
Programmi utili
Sebbene Fluxbox e il nostro server grafico X siano già funzionanti, abbiamo bisogno ancora di alcuni programmi, prima di poter utilizzare con profitto il nostro nuovo Window Manager:
# aptitude install xterm
Per apprendere come aggiungere programmi al Menu di Fluxbox si veda la sezione apposita della guida.
Si noti che in questa installazione di Fluxbox non è stato installato alcun Login Manager; pertanto sarà necessario effettuare il login in maniera testuale da shell e poi avviare Fluxbox con il comando:
$ startx
Se preferite, è possibile installare un Login Manager come gdm, xdm, kdm
.
Abbellimento del Desktop
Prima di installare altre applicazioni ci dedicheremo a rendere più gradevole l'ambiente di lavoro, installando:
# apt-get install conky
Per fare in modo che conky appaia sul desktop di Fluxbox è necessario modificare il suo file di configurazione:
$ nano $HOME/.conkyrc
aggiungendo la linea
own_window no
Per avere conky che si avvia insieme a Fluxbox modificate invece il file:
$ nano $HOME/.fluxbox/startup
aggiungendo la linea
conky &
prima della linea
exec /usr/bin/fluxbox
che deve essere sempre l'ultima.
Software per vecchi Laptop
Installiamo adesso alcuni software leggeri, adatti per notebook non proprio giovanissimi:
aptitude install wifi-radar cpufreqd
Quindi avviamo il demone appena installato:
# /etc/init.d/cpufreqd start
Se il demone non partisse, occorre caricare il corretto modulo:
- AMD Sempron/Athlon/MP ( K7 )
# modprobe powernow-k7
- AMD Duron/Sempron/Athlon/Opteron 64 ( K8 )
# modprobe powernow-k8
- Intel Core Duo and Intel Pentium M
# modprobe speedstep-centrino
- Intel Pentium IV
# modprobe acpi-cpufreq
Software applicativo
# aptitude install firefox thunderbird centericq htop vim gftp abiword gnumeric
Dove trovare i temi GTK
E' possibile ottenere i temi GTK nella sezione GTK di FreshMeat (http://themes.freshmeat.net/browse/58/).
Per installare i temi c'è solo bisogno di decomprimere questi file in ~/.themes
. Quindi:
$ mkdir ~/.themes $ cd ~/.themes $ tar -zxvf theme-name-here.tar.gz $ tar -jxvf theme-name-here.tar.bz2
Alcuni temi sono installabili anche via apt-get
:
apt-get install gtk-engines-industrial apt-get install gtk-engines-*
Per utilizzare i temi scaricati, basta installare:
# apt-get install gtk-theme-switch # apt-get install gtk2-theme-switch # gtk-chtheme
Il Menu di Fluxbox
Il file di configurazione del menu di fluxbox di default è ~/.fluxbox/menu
.
Il file ha una struttura molto elementare. Di seguito è riportato uno stralcio del file di configurazione del menu di default su debian (/etc/X11/fluxbox/fluxbox-menu):
[ begin] (Fluxbox) # Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html) [submenu] (Aiuto) {} [exec] (Debian Reference) {/usr/bin/debian-reference} [exec] (Info) { x-terminal-emulator -T "Info" -e info} [exec] (Xman) {xman} [end] [submenu] (Applicazioni) {} [submenu] (Editor) {} [exec] (Nano) { x-terminal-emulator -T "Nano" -e /bin/nano} [end] [submenu] (Emulatori di terminale) {} [exec] (XTerm) {xterm} [exec] (XTerm (Unicode\)) {uxterm} [end] [submenu] (Grafica) {} [exec] (X Window Snapshot) {xwd | xwud} [end] [submenu] (Navigazione web) {} [exec] (w3m) { x-terminal-emulator -T "w3m" -e /usr/bin/w3m /usr/share/doc/w3m/MANUAL.html} [end] [end]
Le principali caratteristiche di questo file di testo sono:
- Ogni riga ha una sintassi molto intuitiva e semplice;
- L'indentatura del codice permette di "immaginarsi" il risultato finale.
- Ogni riga ha una sintassi di questo tipo:
[tag] (label o nome del file) {comando o nomefile}
L'indentatura del file è una caratteristica molto importante che semplfica l'operazione di generazione del menu e della sua successiva modifica, perciò è bene mantenere questa struttura gerarchica ogni volta che si mette mano al menu.
Sintassi generica delle righe del file
Ciascuna riga del file di configurazione del menu di fluxbox ha una struttura di questo tipo:
[tag] (label o nome del file) {comando o nomefile}
Perciò a ciascuna coppia di parentesi corrisponde un significato ben preciso e questo aiuta molto a far risparmiare tempo in fase di modifica del file.
Il menu inizia sempre con una riga di codice simile alla seguente:
[begin] (Titolo_Menu)
la tag [begin]
deve essere presente nel file, altrimenti fluxbox cerca il file di configurazione di default del sistema, mentre (Titolo_Menu) può essere omesso. Titolo_Menu è il testo che verrà visualizzato in cima al menu di fluxbox.
Per la chiusura del menu viene utilizzata la tag [end]
. Questa tag può essere utilizzata sia per chiudere un menu che un sottimenu. In ogni menu deve essere presente una tag [end]
per ogni tag [submenu]
più una che comunque è presente e che corrisponde alla tag [begin]
. Quindi un menu ha la seguente struttura:
[begin] (Titolo Menu) ... ... ... [end]
Per creare un sottomenu nel menu principale si usa il tag [submenu]
. Ogni Sottomenu viene chiuso dal tag [end]
. Il tag [submenu]
deve essere seguito dagli attributi (label) e . Il secondo attributo è opzionale e se omesso viene assunto uguale a (label). Riassumendo un sottomenu avrà il seguente aspetto.
[submenu] (label) ... ... ... [end]
dove tra [submenu]
e [end]
vengono incluse tutte le voci del menu.
Dal momento che flubxbox legge i menu in maniera ricorsiva non c'è limite al numero di sottomenu che possono essere annidati, praticamente vi consiglio di non esagerare per non complicare troppo la ricerca di una applicazione.
Per popolare ciascun menu di voci che corrispondono all'esecuzione di un programma si utilizza il seguente statement:
[exec] (label) {command}
A questa riga viene associata nel menu una voce che viene chiamata "label" e che esegue il comando "command".
Per inserire il collegamento ad un file o ad una directory all'interno del menu di fluxbox si usa la seguente riga:
[include] (nome_file_o_dir)
Separatore
A volte, per aumentare la chiarezza del menu può essere utile inserire un separatore. Questo può essere aggiunto inserendo una riga contenente lo statement [separator]
:
[separator]
Statements aggiuntivi
Fluxbox mette a disposizione una serie di statements addizionali per personalizzare ulteriormente il menu. I principali sono:
- Inserimento di una voce che permette la chiusura e l'uscita da fluxbox
[exit] (label)
- Inserimento di una voce "estetica nel menu". In altre parole: inserimento di una voce che se selezionata non comporta l'esecuzione di nessun comando. La sintassi è:
[nop] (label)
se label viene omessa di default viene inserita una voce vuota.
- Reload del menu e di tutti i files di configurazione e di stile di fluxbox
Questa voce è utile per creare nuovi temi e stili e non dover rilanciare fluxbox tutte le volte che è necessario testare il tema. * Riavvio di fluxbox <pre> [restart] (label) {command}
Verrà creata una voce nel menu con il nome "label" e quando verrà selezionata fluxbox verrà arrestato e all'uscita da fluxbox verrà eseguito il comando "command". Comunemente il comando fornito è quello necessario ad avviare un altro windows manager. Il parametro "command" è opzionale.
- Voce per la configurazione di fluxbox
[config] (label)
Viene inserita una voce nel menu chiamata "label" che permette di accedere a numerose opzioni di configurazione riguardanti il comportamento delle finestre.
- Directory dei Wallpapers
E' possibile inserire una voce all'interno del menu permetta di cambiare rapidamente lo sfondo di fluxbox attraverso la seguente riga:
[wallpapers] (directory) {command}
Cliccando su una immagine questa viene immediatamente settata come sfondo. Ovviamente directory
è la directory contenente le immagini.