Fluxbox, un Window Manager per Computer con poche risorse

Da Guide@Debianizzati.Org.

Debian-swirl.png Versioni Compatibili
Debian 7 "Wheezy"
Debian 8 "Jessie"
Verificala con Stretch

Indice

Introduzione

Questa guida mostra come installare il Window 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:

# apt-get install xorg fluxbox

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:

# apt-get install xterm feh

Per apprendere come aggiungere programmi al menù di Fluxbox vedere la sezione apposita più avanti.

Avvio di Fluxbox

Notare 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.

Prima di poterlo fare, però, è necessario creare il file di avvio per startx:

$ echo "exec startfluxbox" > "$HOME"/.xinitrc

Oppure, se si è installato ConsoleKit (basta installare il pacchetto consolekit):

$ echo "exec ck-launch-session startfluxbox" > "$HOME"/.xinitrc

La sessione grafica è in questo modo registrata assieme a quella sul terminale virtuale.

In entrambi i casi tramite dbus, che è avviato automaticamente, è possibile avvalersi delle funzionalità di altri demoni di sistema, se si decide di installarli.

Dopo di che è sufficiente eseguire, dopo aver effettuato il login da un terminale virtuale (tty1, tty2, ...):

$ startx

Se preferite, è possibile installare un Login Manager come xdm, gdm, kdm.

L'avvio di Fluxbox dal gestore di login avviene andando a leggere il file /usr/share/xsessions/fluxbox.desktop il cui contenuto è il seguente:

[Desktop Entry]
Name=Fluxbox
Comment=Highly configurable and low resource X11 Window manager
Exec=/usr/bin/startfluxbox
Terminal=false
TryExec=/usr/bin/startfluxbox
Type=Application

[X-Window Manager]
SessionManaged=true

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 creare il suo file di configurazione:

$ conky -C > $HOME/.conkyrc

modificando poi al suo interno la linea own_window yes in 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:

# apt-get install wifi-radar cpufreqd

Quindi avviamo il demone appena installato:

# service cpufreqd start

Se il demone non partisse, occorre caricare il corretto modulo:

# modprobe powernow-k7
# modprobe powernow-k8
# modprobe speedstep-centrino
# modprobe acpi-cpufreq

Software applicativo

# apt-get install iceweasel icedove pidgin htop vim abiword gnumeric evince libreoffice-impress

Dove trovare i temi GTK

È possibile ottenere i temi GTK da xfce-look.org, gnome-look.org, deviantart.com

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 gtk2-engines-pixbuf

oppure:

# apt-get install gtk2-engines-*

Per utilizzare i temi scaricati, basta installare:

# apt-get install gtk-theme-switch

oppure:

# apt-get install gtk-chtheme

Il menù di Fluxbox

Il file di configurazione del menù di fluxbox di default è ~/.fluxbox/menu.

Il file ha una struttura molto elementare. Di seguito è riportato uno stralcio del file di configurazione del menù 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:

  1. Ogni riga ha una sintassi molto intuitiva e semplice;
  2. L'indentatura del codice permette di "immaginarsi" il risultato finale.
  3. 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 semplifica l'operazione di generazione del menù e della sua successiva modifica, perciò è bene mantenere questa struttura gerarchica ogni volta che si mette mano al menù.

Sintassi generica delle righe del file

Ciascuna riga del file di configurazione del menù 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 menù inizia sempre con una riga di codice simile alla seguente:

[begin] (Titolo_menù)

il tag [begin] deve essere presente nel file, altrimenti Fluxbox cerca il file di configurazione di default del sistema, mentre (Titolo_menù) può essere omesso. Titolo_menù è il testo che verrà visualizzato in cima al menù di Fluxbox.

Per la chiusura del menù viene utilizzata il tag [end]. Questo può essere utilizzato sia per chiudere un menù che un sottomenù. In ogni menù deve essere presente un tag [end] per ogni tag [submenu] più uno che comunque è presente e che corrisponde al tag [begin]. Quindi un menù ha la seguente struttura:

 [begin] (Titolo Menu)
 ...
 ...
 ...
 [end]

Per creare un sottomenù nel menù principale si usa il tag [submenu]. Ogni sottomenù 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 sottomenù avrà il seguente aspetto:

 [submenu] (label) 
 ...
 ...
 ...
 [end]

dove tra [submenu] e [end] vengono incluse tutte le voci del menù.

Dal momento che Fluxbox legge i menù in maniera ricorsiva non c'è limite al numero di sottomenù che possono essere annidati, vi consiglio però di non esagerare per non complicare troppo la ricerca di una applicazione.

Elemento del menù (Eseguibili)

Per popolare ciascun menù di voci che corrispondono all'esecuzione di un programma si utilizza la seguente istruzione:

[exec] (label) {command}

A questa riga viene associata nel menù una voce che viene chiamata "label" e che esegue il comando "command".

Elemento del menù (file e directory)

Per inserire il collegamento ad un file o ad una directory all'interno del menù di Fluxbox si usa la seguente riga:

[include] (nome_file_o_dir)

Separatore

A volte, per aumentare la chiarezza del menù può essere utile inserire un separatore. Questo può essere aggiunto inserendo una riga contenente l'istruzione [separator]:

[separator]

Istruzioni aggiuntive

Fluxbox mette a disposizione una serie di istruzioni addizionali per personalizzare ulteriormente il menù. Le principali sono:

Windowmenu

Windowmenu è il menù che si ottiene con un click destro del mouse sulla barra del titolo di una finestra, premere il tasto menù sulla barra del titolo, utilizzare il comando :WindowMenu tramite tastiera o anche dal menù delle aree di lavoro. Di default ha opzioni per massimizzare, minimizzare, nascondere la finestra ecc, impostare le finestre su diversi livelli o inviare ad aree di lavoro e ricordare le opzioni delle finestre.

Modificare il menù

Windowmenu è come il rootmenu, eccetto alcune voci speciali che il menù normale non ha, il file di configurazione è ~/.fluxbox/windowmenu .

Il menù dovrebbe iniziare con [begin] e finire con [end].

Si possono usare i normali elementi del menù oppure quelli speciali della lista sottostante. Notare che (label) è facoltativo, senza di esso sarà utilizzato quello di default:

[shade] (label)
Questa opzione riduce la finestra alla sola barra del titolo "arrotolandola".

Lo stesso effetto cliccando due volte sul titolo, scegliendo "Riduci a barra", utilizzando una scorciatoia da tastiera o la rotellina del mouse (comandi :Shade :ShadeOn :ShadeOff).

[close] (label)
Chiude la finestra. Proprio come premendo il tasto X nell'angolo.
[stick] (label)
Rende la finestra appiccicosa, ovvero visibile su tutte le aree di lavoro.
[maximize] (label)
Massimizza e ripristina la finestra.
[iconify] (label)
Minimizza (riduce a icona) la finestra.
[raise] (label)
Solleva la finestra al livello superiore portandola quindi in primo piano.
[lower] (label)
Porta la finestra al livello inferiore, dietro tutte le altre.
[sendto] (label)
Mostra il menù "Invia a..." che permette l'invio delle finestre in un'altra area di lavoro.
[layer] (label)
Mostra il menù "Livello..." che permette all'utente di cambiare facilmente il livello della finestra.
[extramenus]
Mostra il menù "Ricorda..." per salvare alcune impostazioni della finestra nel file ~/.fluxbox/apps.
[alpha] (label)
Un sottomenù contenente varie opzioni per la trasparenza della finestra.
[separator]
Linea di separazione orizzontale, non fa altro che creare una linea divisoria.

Esempi

Questo dovrebbe creare un menù simile a quello di default:

# ~./fluxbox/windowmenu
[begin]
       	[shade]  (Shade)
       	[stick]  (Stick)
       	[maximize]
       	[iconify]  (Iconify)
       	[raise]
       	[lower]
       	[sendto]
       	[layer]
       	[extramenus]
       	[separator]
       	[close]	(Close)
[end]

Questo è un po' differente:

[begin]
       	[exec]	(terminal)  {xterm}
         [maximize]  (maximize)
       	[iconify]  (minimize)
       	[submenu]  (advanced)
       	[layer]  (layer)
       	[extramenus]  (remember)
       	[sendto]  (send to)
[end]
[separator]
[close]  (close)
[end]

Applicazioni e accessori aggiuntivi

Fluxbox non integra un file manager, un emulatore di terminale o altro, perciò si può installare praticamente tutto quel che si vuole.




Guida scritta da: Ferdybassi 18:11, 10 mar 2010 (CET)

Swirl-auth20.png Debianized 20%

Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti