Avanti Indietro Indice

3. Costruire l'ambiente operativo del chiosco

3.1 FVWM2

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.

/etc/X11/fvwm2/system.fvwm2rc

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.

3.2 Netscape Navigator

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.

3.3 Sovrapporre delle maschere a Navigator

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:

  1. La barra degli strumenti in alto
  2. Il tornado sul lato sinistro della barra di navigazione
  3. Il resto della barra di navigazione alla destra della Home
  4. La chiave di sicurezza nell'angolo in basso a sinistra di Navigator.

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.

Creare le maschere grafiche

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:

  1. topbar.xpm
  2. navleft.xpm
  3. navright.xpm

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.

3.4 /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

3.5 /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.


Avanti Indietro Indice