|
di C.Merlano
Un window manager e' un programma che consente di aprire, chiudere, ingrandire, ridurre a icona o spostare le finestre: un gestore di finestre dunque; finestre che invece pensa l'X Window System (detto anche X o X11) a creare. Pertanto X e' l'ambiente grafico che fornisce le finestre, la grafica, l'uso del mouse e molte applicazioni come xterm e xcalc, mentre il window manager consente a noi di interagire con X in maniera semplice. L'X Window System per i sistemi basati sui processori Intel e compatibili (386, 486, Pentium, Pentium Pro, PentiumII,...) prende il nome di XFree86. Quando digitiamo startx per prima cosa parte il server X con la configurazione contenuta nel file XF86Config e successivamente si passa a leggere il file .xinitrc contenuto nella propria home directory (se esiste). Solo alla fine di tutto cio' si passa all'apertura di un window manager. Per curiosita' proviamo a vedere com'e' X senza un window manager: si modifichi il nome del file .xinitrc in .xinitrc.bak con il comando # mv .xinitrc .xinitrc.bake si dia il comando # xinitIn questo modo X partira' con una configurazione di default che prevede la sola presenza di una finestra xterm nella quale scrivere e null'altro. Per uscire dovremo premere contemporaneamente Ctrl+Alt+Backspace. Il gestore di finestre per X forse piu' conosciuto, semplice e leggero (e inoltre e' il mio preferito) e' FVWM, ovvero Feeble (Fine?) Virtual Window Manager nella sua versione 1.24r. Sono uscite altre versioni come FVWM95, molto simile nell'aspetto a Windows95, che permettono alcune finezze grafiche come le icone nei menu', e altre cose, ma FVWM e' l'ideale per chi possiede una piccola macchina e non vuole usare tutte le risorse del sistema per aprire una finestra... Bisogna inoltre aggiungere che con il progresso di Gnome e del
suo pannello di controllo applicabile a qualsiasi window manager, sara'
sempre piu' utile possedere un ambiente grafico leggero e la presenza di
icone, tools e effetti luminosi varii potrebbe diventare presto superfluo,
dal momento che pensera' a tutto il Gnome.
Prima di passare alla descrizione del programma e della sua configurazione vorrei dare un po' i numeri :-) Vediamo un po' quanto spazio occupano i window manager (dati tratti dagli rpm di Red Hat 5.2): fvwm 563336Kb fvwm2 1506939Kb enlightenment0.14 2733855Kb after step 1.5 3466170KbHo recentemente provato un programma ancora piu' piccolo dell'FVWM che si chiama FLWM (Fast Light Window Manager) il cui eseguibile e' leggermente piu' grande ma che effettivamente sembra occupare meno memoria di FVWM. Purtroppo non e' ancora molto configurabile. Poi c'e' TWM (Tab Window Manager, fornito assieme a X Window System), veramente spartano e che occupa piu' memoria di FVWM. Veniamo ora alla installazione e soprattutto alla configurazione del nostro window manager. Installarlo e' in genere facilissimo e il piu' delle volte non necessario, visto che e' considerato ormai lo standard di Linux e per questo e' quasi sempre installato assieme al sistema operativo. Solo la presenza di TWM e' piu' certa di quella di FVWM. Comunque se dovesse mancare nel sistema sara' certamente nel CDROM della distribuzione. In ogni caso e' veramente uno sforzo economico minimo scaricare dai seguenti siti la versione del programma adatta al proprio sistema operativo. L'installazione e' anch'essa semplice come scompattare un file rpm... Infatti gli utenti Red Hat e SUSE devono semplicemente eseguire il comando # rpm -ivh fvwm-1.24r-15.i386.rpmGli utenti di Debian e di Slackware guardino la pagina di HELP della rivista. A questo punto siamo pronti a configurare il sistema per avviare FVWM con X. Sono necessari due file: .xinitrc e .fvwmrc solitamente presenti nella home directory /home/nomeutente. Fare attenzione ai file che iniziano con . (punto) perche' sono invisibili e per scovarli bisogna dare il comando ls -la. Se i file non sono presenti, allora si trovano da qualche altra parte: in Red Hat i file di default sono /etc/X11/xinit/xinitrc e /etc/X11/fvwm/system.fvwmrc ... In questo caso bisogna copiare i file nella propria home directory per poterli modificare. Ad esempio, dalla propria home si possono dare i comandi # cp /etc/X11/xinit/xinitrc ./.xinitrc # cp /etc/X11/fvwm/system.fvwmrc ./.fvwmrcOra che abbiamo i file .xinitrc e .fvwmrc bisogna modificarli con il proprio editor. Nel file .xinitrc bisogna cancellare tutto quello che c'e' scritto dopo # start some nice programsanche se si potrebbe benissimo cancellare tutto o addirittura creare un nuovo file. Un file .xinitrc contenente la sola stringa /usr/X11/bin/fvwmdovrebbe essere sufficiente (se, com'e' probabile, la directory /usr/X11/bin e' nel PATH del sistema, basta addirittura la stringa fvwm). Nel file system.fvwmrc non e' necessario nessun cambiamento, almeno per avviare il gestore di finestre, ma molti cambiamenti sono auspicabili per personalizzare l'ambiente di lavoro. Comunque diamo pure startx e vediamo cosa succede. Cio' che vedremo dipendera' molto dal file .fvwmrc, ma solitamente appare una piccola finestra chiamata Pager divisa in 4 o piu' parti e possono anche essere presenti delle icone.
Naturalmente e' probabile che il nostro programma preferito non compaia
nel menu', come e' possibile che non ci piaccia vedere apparire una finestra
in un posto qualunque dello schermo mentre preferiremmo sciegliere dove
metterla. Dobbiamo mettere mano al file .fvwmrc...
#now define the menus - defer bindings until later # This menu will fire up some very common utilities Popup "Utilities" Exec "Rxvt" exec rxvt & Quit "Exit Fvwm" EndPopup # This defines the most common window operations Popup "Window Ops" Move "Move" Close "Close" EndPopup ############################################################################## # This defines the mouse bindings # First, for the mouse in the root window # Button 1 gives the Utilities menu # Button 2 gives the Window Ops menu # I use the AnyModifier (A) option for the modifier field, so you can hold down # any shift-control-whatever combination you want! # Button Context Modifi Function Mouse 1 R A PopUp "Utilities" Mouse 2 R A PopUp "Window Ops"Il primo pezzo genera i menu' a scomparsa (PopUp) Utilities e Window Ops. Il primo menu' contiene la possibilita' di avviare il terminale rxvt e di uscire da X (Quit), mentre il secondo menu' consente di spostare una finestra e di chiuderla. Il secondo pezzo attribuisce a 2 tasti del mouse i due menu', esattamente premendo il tasto sinistro (Mouse 1) appare il menu' delle Utilities e premendo il tasto centrale (Mouse 2) appare l'altro menu'. La seguente figura mostra il risultato non certo impressionante... ![]() Function "InitFunction" Exec "I" xsetroot -solid SteelBlue Module "I" FvwmPager 0 0 EndFunctionAvviando X con il file .fvwmrc modificato in questo modo vedremo che ora appare anche il Pager (modulo FvwmPager) e che il colore dello sfondo e' diventato azzurro (grazie al comando xsetroot). Il file system.fvwmrc e' in genere piuttosto ricco di funzioni e qui ho preso in esame quello trovato di default nella versione 5.2 di Red Hat. I commenti dell'autore li ho tradotti o integrati. Procedendo per passi successivi e' possibile creare un ambiente di lavoro su misura per le proprie esigenze e scrivendo semplicemente "panel &" nel file .xinitrc, subito prima della chiamata di fvwm otteniamo un ambiente di lavoro davvero professionale, grazie a Gnome.
|