Fluxbox, da tempo risulta essere ancora prima di “openbox” e prima ancora con “kahakai o waimea” (nel 2000 d.c) e morti prima ancora del nascere, praticamente abbandonati a se stessi, la soluzione migliore per una linuxbox dalle caratteristiche medio-basse (ram,scheda video). Insieme ad altri applicativi specificamente destinati diventa senza ombra di dubbio fantastico, sia per uso minimalistico e sia anche per quei linuxiani che amano la desktopmania. Mi limiterò ad illustrare gli attrezzi che dispone questo wm per X al fine di rendere la vita più comoda a tutti quegli utenti che spesso richiedono un uso minore e più snello della box ma al tempo stesso una buona dose si richieste estetiche.

#

Per prima cosa è consigliabile utilizzare la versione svn , per intenderci quella di sviluppo che solitamente contiene alcuni fix che le stable release non supportano. E’ bene ricordare che al momento attuale la release stable di fluxbox è la versione 1.1.0 che è reperibile dal sito ufficiale http://www.fluxbox.org

Siccome però come i miei cordialmente sempre amici mi ricordano io sono un incline all’antiquato e sperimentale allo stesso tempo vada per la svn che detto fra di noi ho sempre usato e su cui non ho mai riscontrato particolari problemi. Scarichiamo quindi la release da user:

~$ svn checkout svn://svn.berlios.de/fluxbox/trunk fluxbox

Ci collegheremo al server svn che provvederà a scaricare nella directory “fluxbox” da noi specificata i file per esteso già estratti. A questo punto non ci resta che compilare sempre da user ovviamente:

~$ cd fluxbox
~$ ./autogen.sh
~$ ./configure

E’ bene ricordare per i non generalmente addetti alla compilazione manuale che la compilazione prevede due livelli: il default utilizzato solitamente se non richiediamo particolari cose e il “configure -help” che ci da la possibilità di aggiungere features alla compilazione di default per intenderci con questo comando vedremo le cose che è possibile modificare e quelle che vengono compilate di default. Vediamo in particolare dando ./configure -help quali sono le variabili che ci interessano per ottenere il massimo dal nostro wm:

 --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-shape          enable support of the XShape extension (default=yes)
  --enable-slit           include code for the Slit (default=yes)
  --enable-remember       include code for Remembering attributes (default=yes)
  --enable-toolbar        include code for Toolbar (default=yes)
  --enable-regexp         regular expression support (default=yes)
  --enable-newwmspec      include code for the new WM Spec (default=yes)
  --enable-ordered-pseudo include code for ordered pseudocolor (8bpp)
                          dithering (default=no)
  --enable-debug          include verbose debugging code (default=no)
  --enable-nls            include native language support (default=no)
  --enable-timed-cache    use new timed pixmap cache (default=yes)
  --enable-kde            KDE slit support (default=yes)
  --enable-gnome          GNOME support (default=yes)
  --enable-xft            Xft (antialias) support (default=yes)
  --enable-xrender        Xrender (transparent) support (default=yes)
  --enable-xpm            Xpm (pixmap themes) support (default=yes)
  --enable-imlib2         Imlib2 (pixmap themes) support (default=yes)
  --enable-xmb            Xmb (multibyte font, utf-8) support (default=yes)
  --enable-randr          RANDR (The X Resize and Rotate Extension) support (default=yes)
  --enable-xinerama       enable xinerama extension (default=yes)

Come è facile intuire quelle con (default=yes)  sulla parte destra sono le feature’s abilitate di default dando un semplice ./configure

Siccome però noi siamo scrupolosi e ci accorgiamo che alcune non sono abilitate e che potrebbero interessarci decidiamo di effettuare la compilazione dando i parametri  che ci interessano compresi quelli già attivi di default e quindi al comando sopra elencato sostituiremo:

~$ ./configure --enable-shape --enable-slit --enable-remember --enable-toolbar --enable-regexp --enable-newwmspec  --enable-nls --enable-timed-cache --enable-kde --enable-gnome --enable-xft --enable-xrender --enable-xpm --enable-imlib2 --enable-xmb --enable-randr --enable-xinerama

Alcuni di voi potrebbero dire: ok ma a che serve dargli tutte le flag se sono già in default yes? Semplice, nelle precedenti versioni non erano abilitate e quindi (tanto per) è sempre meglio abilitare per evitare successive rogne.

N.B. Potrebbe capitare un messaggio simile a questo che suggerisce all’user di scaricare la versione git:

configure: error:
We have switched to git for fluxbox development. Svn is no longer being
used. To get the latest development sources, use the following commands:
git clone git://git.fluxbox.org/fluxbox.git
cd fluxbox
./autogen.sh && ./configure && ./make install

Detto fatto! il simpaticone ci sta ricordando che alcune feature’s non sono presenti nemmeno nella versione svn e ci rimanda ad un altra versione la .git che noi senza perderci d’animo andremo a scaricare e compilare.

Prima però cancelliamo la vecchia cartella fluxbox creata, e quindi:

~$ cd ..
~$ rm -rf fluxbox/
~$ git clone git://git.fluxbox.org/fluxbox.git
~$ cd fluxbox/
~$ ./autogen.sh
~$ ./configure --enable-shape --enable-slit --enable-remember --enable-toolbar --enable-regexp --enable-newwmspec  --enable-nls --enable-timed-cache --enable-kde --enable-gnome --enable-xft --enable-xrender --enable-xpm --enable-imlib2 --enable-xmb --enable-randr --enable-xinerama
~$ make
~$ make install

NOTA. Chiaramente è bene ricordare che nel caso ci dovessero essere errori molto probabilmente sono riferiti a librerie mancanti, nel caso specifico gli errori comuni sono riguardanti: imlib2 ; xrender ; xinerama. Quindi prima di tutto accertatevi di avere tutto ciò che vi occorre ancora prima di effettuare la compilazione.

Installato il wm non ci resta che avviarlo scegliendolo di default allo “startx”. Quindi da shell nel caso usiate come il sottoscritto slackware daremo un:

~$ xwmconfig

Nel caso la vostra distro sia diversa basterà modificare .xinitrc presente nella $HOME e sotto  “# Start the window manager” modificare:

exec /usr/bin/startfluxbox

O anche:

$ echo "exec startfluxbox" > ~/.xinitrc

Scelto Fluxbox: starteremo il server X con:

~$ startx

NOTA. Potrebbe capitare in slackware che il nostro caro amico si sia dimenticato di creare automaticamente l’init di avvio per fluxbox in

/etc/X11/xinit/

e quindi xwmconfig non ci mostri nel menù grafico il link a fluxbox. In questo caso “senza disperarci” cercheremo i file che ci interessano per capire il percorso di default che non abbiamo provveduto a specificare prima in fase di compilazione e creeremo lo .xinitrc relativo a fluxbox nella cartella precedentemente detta che si occupa di gestire tutti gli init di avvio dei wm presenti nella box (kde,gnome,xfce,etc). Quindi questa volta da root:

Le virgolette “ “  segnano il percorso che ci interessa e che terremo a mente.

~# whereis startfluxbox
startfluxbox: "/usr/bin/startfluxbox" /usr/X11R6/bin/startfluxbox /usr/bin/X11/startfluxbox
/usr/X11/bin/startfluxbox /usr/local/bin/startfluxbox
~# cd /etc/X11/xinit/
~# vi xinitrc.fluxbox

Dentro xinitrc.fluxbox scriveremo le stringhe necessarie a startare X per questo wm:

#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/lib/X11/xinit/.Xresources
sysmodmap=/usr/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# Start the window manager:
# NOTA: exec $percorso segnato in precedenza con whereis
exec /usr/bin/startfluxbox

E quindi salvate le modifiche:

~# chmod +x xinitrc.fluxbox
~# exit
~$ xwmconfig            ### dove sceglieremo Fluxbox
~$ startx

END