FVWM2 (FVWM, versione 2, vedi
http://www.fvwm.org) è un X Window
manager flessibile, affidabile e leggero che fornisce eccellenti possibilità
di configurazione per creare l'ambiente operativo del chiosco.
Per utilizzarlo con il chiosco si devono cambiare alcune delle impostazioni
di default.
Si deve modificare il file system.fvwm2rc
per rimuovere cose come
desktop virtuali, barre dei titoli, controlli di uscita ecc., lasciando un
ambiente FVWM relativamente minimalista.
Siccome il chiosco è un'unità autonoma, la modifica delle impostazioni
per l'intero sistema non è un problema.
Inoltre si può approfittare delle proprietà configurabili degli oggetti di FVWM ed usare le bitmap di X Window (i file xpm) per mascherare le parti di Netscape Navigator che non si vuole far accedere agli utenti.
Il file di FVWM2 che si deve modificare è
/etc/X11/fvwm2/system.fvwm2rc
. (Se si una una distribuzione diversa da
Red Hat, questo file può essere situato in qualche altro posto.)
Si dovrà cercare un po' nel file per trovare le sezioni mostrate qui sotto.
In /etc/X11/fvwm2/system.fvwm2rc
cambiare
DeskTopSize 2X2
in
DeskTopSize 1X1
Questo elimina i desktop virtuali.
In seguito, nella sezione "Default Styles", cambiare
Style "*" BorderWidth 7, HandleWidth 7
in
Style "*" BorderWidth 0, HandleWidth 0, notitle, nohandles
Questo disabiliterà la maggior parte dei controlli di finestra.
Aggiungere le due righe seguenti alla sezione "Default Styles":
Style "xdaliclock" StaysOnTop
Style "sxpm" StaysOnTop
Una volta terminata, la sezione "Default Styles" del file dovrebbe essere simile a questa:
# default Styles:
#Style "*" BorderWidth 7, HandleWidth 7
Style "*" BorderWidth 0, HandleWidth 0, notitle, nohandles
Style "*" Icon unknown1.xpm, Color lightgrey/dimgrey
Style "*" MWMFunctions, MWMDecor, HintOverride
Style "*" DecorateTransient, NoPPosition
Style "*" IconBox 0 -10 -280 -1
Style "*" FocusFollowsMouse
Style "*" RandomPlacement, SmartPlacement
Style "xdaliclock" StaysOnTop
Style "sxpm" StaysOnTop
Si possono usare i programmi xdaliclock e sxpm per coprire parti di Netscape Navigator. L'attributo "StaysOnTop" è quanto serve.
In seguito, trovare le seguenti quattro righe e commentarle come mostrato:
#AddToFunc InitFunction "I" Module FvwmButtons
#+ "I" exec xsetroot -mod 2 2 -fg \#554055 -bg \#705070
#AddToFunc RestartFunction "I" Module FvwmButtons
#+ "I" exec xsetroot -mod 2 2 -fg \#554055 -bg \#705070
Commentando queste righe si eliminerà da FVWM2 il gradevole "task launcher" , il che è corretto in quanto si cerca di creare un ambiente più semplice possibile.
Netscape Navigator è una scelta migliore di Netscape Communicator per configurare un chiosco. Essendo più semplice, ci sono meno oggetti da nascondere.
Su Microsoft Windows, Netscape Navigator ha una modalità chiosco che elimina la maggior parte dei controlli del Navigator ma, al momento della presente stesura, non c'è una modalità chiosco integrata nella versione Unix del Navigator.
La versione Unix può, nondimeno, essere invocata con un argomento
-geometry
che permette di avviare Netscape sempre in modalità a
pieno schermo. Questa è una parte della nostra strategia per un chiosco basato
su Netscape.
Si deve prendere una decisione sulla risoluzione dello schermo del chiosco. Usando un monitor da 19 o 20 pollici, è nostra opinione che la 640x480 sia troppo larga, la 1024x768 troppo stretta e la 800x600 praticamente giusta per il pubblico (si può decidere diversamente). Una volta stabilita la risoluzione, si può iniziare ad adattare il Navigator. Per il seguito di questo HOWTO si assume la risoluzione a 800x600. Sarà necessario adeguarsi di conseguenza se si seleziona una risoluzione diversa.
Nota: Navigator sarà invocato da root durante il boot, quindi si facciano
tutti gli adattamenti sotto l'account di root nella directory /root/.netscape
.
Si invochi Netscape e si clicchi sulla voce Edit|Preferences
.
In Appearance
si imposti "Show Toolbar as Text Only".
In Appearance|Fonts
si usino i font, sia a spaziatura fissa che proporzionale,
ad almeno 14 punti, altrimenti la visualizzazione sullo schermo sarà troppo
piccola per permettere una lettura confortevole.
In Preferences|Navigator
s'inserisca l'URL dell'home page del vostro
chiosco. Se si sta eseguendo una versione locale di Apache o di un altro server
web, lo si imposti a http://localhost/
per l'accesso alla home page, o
più in profondità nell'albero dei documenti html, se si vuole.
Dopo aver salvato queste opzioni, si clicchi View
sulla barra dei menù di
Navigator, per deselezionare Personal Toolbar
e Location Bar
.
Visto come l'interfaccia è diventata più simile a un chiosco? All'uscita da Navigator queste impostazioni saranno salvate.
Guardando attentamente lo schermo già adattato di Navigator, si noteranno quattro aree che devono essere coperte e protette dai clic del mouse o della trackball:
Ecco uno schema approssimativo delle aree da mascherare:
+---------------------------------------+
| # 1 Barra degli strumenti |
+--+------------+-----------------------+
|#2| | #3 Barra navigazione |
+--+ +-----------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+---------+ |
|#4 Chiave| |
+---------------------------------------+
<!--? la key ora sta in basso a dx no?-->
Per mascherare le aree in alto (#1-3), saranno necessarie tre immagini. Per mascherare la chiave di sicurezza (#4) si utilizzerà xdaliclock.
Il modo più facile per creare le maschere grafiche per coprire le aree #1-3 è di catturare uno screenshot di Navigator in modalità estesa 800x600 e poi ritagliare le aree che corrispondono a #1-3. Ho usato GIMP per questo.
Si può poi ridisegnare la grafica di base, cambiando i colori se si vuole o inserendovi il proprio logo. Salvarli come:
I formato xpm è quello nativo per le bitmap di X Window. Si utilizzerà il programma X Window sxpm per posizionarle sullo schermo.
Creare le maschere con esattamente il giusto numero di pixel ed esattamente il giusto posizionamento sul monitor richiede un po' di prove. Per convenienza, ho messo a disposizione i file xpm che abbiamo creato insieme ai nostri file di configurazione nel seguente sito web: http://www.rom.on.ca/kiosk/HOWTO/. Sarà più semplice scaricare le nostre maschere ed usarle come punto di inizio per la propria soluzione.
/root/kiosk.xinitrc
Proprio come se si creasse normalmente un file .xinitrc
per uso
personale, si deve creare un file di inizializzazione di sessione X Window
per l'applicazione chiosco.
Lo script seguente implementa un certo numero di caratteristiche:
Questo è il file principale che gestisce il chiosco.
#!/bin/sh # kiosk.xinitrc -- Script di inizializzazione per la sessione X Window modalità chiosco # Start screensaver /usr/X11R6/bin/xscreensaver-command -exit /usr/X11R6/bin/xscreensaver & # Maschere sovrapposte a Navigator (maschera num.1) sxpm /root/navtop.xpm & # Piccola sovrapposizione grafica sul tornado della Toolbar - lato sinistro (maschera num.2) sxpm -g +0+23 /root/navleft.xpm & # Sovrapposizione grafica più ampia per coprire tutto ciò che si trova # alla destra della Home sulla Toolbar (maschera num.3) sxpm -g +275+23 /root/navright.xpm & # Pone xdaliclock sopra la chiave di sicurezza Netscape, abbassa lhc (maschera num.4) /usr/X11R6/bin/xdaliclock -g 38x20+0+578 -font fixed -noseconds \ -bg gray -fg black & sleep 2 # Lancia fvwm2 fvwm2 & # rilancia netscape in caso si chiuda while true ; do if [ -f /.netscape/lock] ; then rm /.netscape/lock fi /usr/bin/netscape -geometry 800x600 done # non si dovrebbe mai arrivare sin qui
/root/xkiosk
Adesso si può iniziare a testare la configurazione del chiosco.
Dal momento che sarà necessario farlo ripetutamente, a mano ed anche con
uno script di inizializzazione, si crei il seguente script di shell, chiamato
/root/xkiosk
:
/usr/X11R6/bin/xinit /root/kiosk.xinitrc -- /usr/X11R6/bin/X \ -xf86config /root/kiosk.XF86Config bc
Siccome si vuole testare spesso e riusarlo più tardi quando l'avvio sarà
automatizzato, si crei /root/xkiosk
. Ci si assicuri di renderlo
eseguibile con chmod ug+x
.