<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Kiosk HOWTO: Costruire l'Ambiente del Chiosco</TITLE> <LINK HREF="Kiosk-HOWTO-4.html" REL=next> <LINK HREF="Kiosk-HOWTO-2.html" REL=previous> <LINK HREF="Kiosk-HOWTO.html#toc3" REL=contents> </HEAD> <BODY> <A HREF="Kiosk-HOWTO-4.html">Avanti</A> <A HREF="Kiosk-HOWTO-2.html">Indietro</A> <A HREF="Kiosk-HOWTO.html#toc3">Indice</A> <HR> <H2><A NAME="s3">3. Costruire l'Ambiente del Chiosco</A></H2> <P> <P> <H2><A NAME="ss3.1">3.1 FVWM2</A> </H2> <P>FVWM2 (FVWM, versione 2 -- www.fvwm.org) è un X Window manager flessibile, affidabile e leggero con un'ottima configurabilità per creare l'ambiente 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 del titolo, controlli di uscita ecc, lasciando un ambiente FVWM relativamente minimalista. Siccome il chiosco è un'unità standalone, la modifica delle impostazioni per l'intero sistema non è un problema. <P>Inoltre si può approfittare delle proprietà configurabili degli oggetti di FVWM ed usare le bitmap di X Window (files xpm) per mascherare le parti di Netscape Navigator a cui non si vuole far accedere dagli utenti. <P>Il file di FVWM2 che si deve modificare è /etc/X11/fvwm2/system.fvwm2rc (se avete una una distribuzione diversa da RedHat, questo file può essere situato in qualche altro posto). Dovrete cercare un po' nel file per trovare le sezioni mostrate qui sotto. <P> <H3>/etc/X11/fvwm2/system.fvwm2rc</H3> <P>In <CODE>/etc/X11/fvwm2/system.fvwm2rc</CODE> cambiate <P> <BLOCKQUOTE><CODE> <PRE> DeskTopSize 2X2 </PRE> </CODE></BLOCKQUOTE> <P>in <P> <BLOCKQUOTE><CODE> <PRE> DeskTopSize 1X1 </PRE> </CODE></BLOCKQUOTE> <P>Questo elimina i desktop virtuali. <P>In seguito, nella sezione Default Styles, cambiate <P> <BLOCKQUOTE><CODE> <PRE> Style "*" BorderWidth 7, HandleWidth 7 </PRE> </CODE></BLOCKQUOTE> <P>in <P> <BLOCKQUOTE><CODE> <PRE> Style "*" BorderWidth 0, HandleWidth 0, notitle, nohandles </PRE> </CODE></BLOCKQUOTE> <P>Questo disabiliterà la maggior parte dei controlli di finestra. <P>Aggiungere le due linee seguenti alla sezione Default Styles: <P> <BLOCKQUOTE><CODE> <PRE> Style "xdaliclock" StaysOnTop Style "sxpm" StaysOnTop </PRE> </CODE></BLOCKQUOTE> <P>Una volta terminata, la parte Default Styles del file dovrebbe essere simile a questa: <P> <P> <BLOCKQUOTE><CODE> <PRE> # 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 </PRE> </CODE></BLOCKQUOTE> <P>Si possono usare i programmi xdaliclock e sxpm per coprire le parti di Netscape Navigator. L'attributo ``StaysOnTop'' risulta un elemento efficace. <P>In seguito, trovate le seguenti quattro linee e commentatele come mostrato: <P> <BLOCKQUOTE><CODE> <PRE> #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 </PRE> </CODE></BLOCKQUOTE> <P>Commentando queste linee si eliminerà da FVWM2 il gradevole task launcher, e questo va bene in quanto si cerca di creare un ambiente il più semplice possibile. <P> <P> <H2><A NAME="ss3.2">3.2 Netscape Navigator</A> </H2> <P>Netscape Navigator è una scelta migliore di Netscape Communicator per configurare un chiosco. Essendo più semplice, ci sono meno oggetti da nascondere. <P>Sotto Microsoft Windows, Netscape Navigator ha una modalità chiosco che elimina la maggior parte dei controlli del Navigator ma, nell'istante in cui si scrive, non c'è una modalità chiosco integrata nella versione Unix del Navigator. <P>La versione Unix può, nondimeno, essere invocata con un argomento <CODE>-geometry</CODE> che permette di avviare Netscape sempre in modalità full screen. Questa è una parte della nostra strategia per un chiosco basato su Netscape. <P>Si deve prendere una decisione sulla risoluzione dello schermo del nostro chiosco. Usando un monitor da 19 o 20 pollici, si trova la 640x480 troppo larga, la 1024x768 troppo stretta, e la 800x600 quasi giusta per la visione pubblica (si può decidere diversamente). Una volta stabilita la risoluzione, siamo pronti per 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. <P> <P><I>Nota:</I> Navigator sarà invocato da root durante il boot, quindi fate tutti gli adattamenti sotto l'account di root nella directory <CODE>/root/.netscape</CODE>. <P>Invocate Netscape e cliccate sulla finestra di dialogo <CODE>Edit, Preferences</CODE>. In <CODE>Appearance</CODE> impostate ``Show Toolbar as Text Only.'' In <CODE>Appearance, Fonts</CODE> adattate i font sia a larghezza fissa che variabile ad almeno 14pt, altrimenti la visualizzazione sullo schermo sarà troppo piccola per poter essere letta comodamente. <P>In <CODE>Preferences, Navigator</CODE> inserite l'URL dell'home page del vostro chiosco. Se si sta eseguendo una versione locale di Apache o di un altro server web, impostatelo a <CODE>http://localhost/</CODE> per l'accesso al livello principale, o più in profondità nell'albero dei documenti html, se volete. <P>Salvate queste opzioni, poi cliccate su <CODE>View</CODE> sulla barra dei menu di Navigator. Deselezionate <CODE>Personal Toolbar</CODE> e <CODE>Location Bar</CODE>. <P>Notate come l'interfaccia sia diventata più simile a quella di un chiosco? All'uscita da Navigator queste impostazioni saranno salvate. <P> <P> <H2><A NAME="ss3.3">3.3 Overlay Masks per Navigator</A> </H2> <P>Se guardate molto attentamente il vostro schermo adattato di Navigator, noterete quattro aree che devono essere coperte e protette dai click del mouse o della trackball: <P> <OL> <LI>La barra degli strumenti in alto</LI> <LI>Il tornado sul lato sinistro della barra di navigazione</LI> <LI>Il resto della barra di navigazione alla destra della Home</LI> <LI>La chiave di sicurezza nell'angolo in basso a sinistra di Navigator.</LI> </OL> <P>Ecco uno schema approssimativo delle aree da mascherare: <P> <BLOCKQUOTE><CODE> <PRE> +---------------------------------------+ | # 1 Toolbar | +--+------------+-----------------------+ |#2| | #3 Navbar | +--+ +-----------------------+ | | | | | | | | | | | | | | | | | | | | +--------+ | |#4 Key | | +---------------------------------------+ </PRE> </CODE></BLOCKQUOTE> <P>Per mascherare le aree in alto (#1-3), saranno necessarie tre immagini. Per mascherare la chiave di sicurezza (#4) si utilizzerà xdaliclock. <P> <H3>Creare le Maschere Grafiche</H3> <P>Il modo più facile per creare le maschere grafiche per coprire le aree #1-3 è di catturare un screenshot di Navigator in modalità estesa 800x600 e poi ritagliare le aree che corrispondono a #1-3. Ho usato GIMP per questo. <P>Si può poi ri-disegnare la grafica di base, cambiando i colori se si vuole, o inserendovi il proprio logo. Salvarli come: <P> <OL> <LI>topbar.xpm</LI> <LI>navleft.xpm</LI> <LI>navright.xpm</LI> </OL> <P>I formato xpm è quello nativo per le bitmap di X Window. Si utilizzerà il programma X Window <I>sxpm</I> per posizionarle sullo schermo. <P>Creare le maschere con esattamente il giusto numero di pixel ed esattamente il giusto posizionamento sul monitor richiede un pò di sperimentazione. Per convenienza, ho messo a disposizione i file xpm che abbiamo creato insieme ai nostri file di configurazione nel seguente sito web: <A HREF="http://www.rom.on.ca/kiosk/HOWTO/">http://www.rom.on.ca/kiosk/HOWTO/</A>. Sarà più semplice scaricare le nostre maschere ed usarle come punto di inizio per la vostra propria grafica. <P> <H2><A NAME="ss3.4">3.4 /root/kiosk.xinitrc</A> </H2> <P>Proprio come se si creasse normalmente un file .xinitrc per vostro uso personale, si deve creare un file di inizializzazione di sessione X Window per la nostra applicazione di chiosco. Lo script seguente implementa un certo numero di caratteristiche: <P> <UL> <LI>Inizializzazione dello screensaver (opzionale)</LI> <LI>Posizionamento della bitmap sulla menu bar di Navigator (topnav.xpm)</LI> <LI>Posizionamento della bitmap sul tornado della barra di navigazione (navleft.xpm)</LI> <LI>Posizionamento della bitmap sul resto della barra di navigazione (navright.xpm)</LI> <LI>Posizionamento di xdaliclock sulla chiave di sicurezza di Navigator (adattata per una risoluzione di 800x600)</LI> <LI>Inizializzazione di Netscape e loop per controllare che Navigator stia eseguendo ed eseguirlo di nuovo in caso contrario.</LI> </UL> <P>Questo è il file principale che gestisce il chiosco. <P> <HR> <PRE> #!/bin/sh # kiosk.xinitrc -- Initialization script for kiosk X Window session # Start screensaver /usr/X11R6/bin/xscreensaver-command -exit /usr/X11R6/bin/xscreensaver & # Overlay over Navigator (mask #1) sxpm /root/navtop.xpm & # Overlay small graphic over Toolbar twister - left-hand side (mask #2) sxpm -g +0+23 /root/navleft.xpm & # Overlay larger graphic to cover everything to the right of # Home on the Toolbar (mask #3) sxpm -g +275+23 /root/navright.xpm & # Place xdaliclock over top of Netscape security key, lower lhc (mask #4) /usr/X11R6/bin/xdaliclock -g 38x20+0+578 -font fixed -noseconds \ -bg gray -fg black & sleep 2 # Start fvwm2 window manager fvwm2 & # restart netscape if it ever exits while true ; do if [ -f /.netscape/lock] ; then rm /.netscape/lock fi /usr/bin/netscape -geometry 800x600 done # This should never be reached </PRE> <HR> <P> <H2><A NAME="ss3.5">3.5 /root/xkiosk</A> </H2> <P>Adesso potete iniziare a testare la configurazione del vostro chiosco. Dal momento che sarà necessario farlo ripetutamente, manualmente oppure da uno script di inizializzazione, creare il seguente scrip shell chiamato /root/xkiosk: <P> <HR> <PRE> /usr/X11R6/bin/xinit /root/kiosk.xinitrc -- /usr/X11R6/bin/X \ -xf86config /root/kiosk.XF86Config bc </PRE> <HR> <P>Siccome si vuole testare spesso, e riusarlo più tardi quando l'avvio sarà automatizzato, creare questo comando come script shell chiamato <CODE>/root/xkiosk</CODE>. Essere sicuri di eseguire <CODE>chmod ug+x</CODE> sullo script. <P> <HR> <A HREF="Kiosk-HOWTO-4.html">Avanti</A> <A HREF="Kiosk-HOWTO-2.html">Indietro</A> <A HREF="Kiosk-HOWTO.html#toc3">Indice</A> </BODY> </HTML>