Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e05c4514608e650af9b28d9be1d35a18 > files > 720

howto-html-it-10.1-4mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
 <TITLE>Kiosk HOWTO: Costruire l'ambiente operativo 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.</A> <A HREF="Kiosk-HOWTO.html#toc3">Costruire l'ambiente operativo del chiosco</A></H2>



<H2><A NAME="ss3.1">3.1</A> <A HREF="Kiosk-HOWTO.html#toc3.1">FVWM2</A>
</H2>

<P>FVWM2 (FVWM, versione 2, vedi 
<A HREF="http://www.fvwm.org">http://www.fvwm.org</A>) &egrave; un X Window 
manager flessibile, affidabile e leggero che fornisce eccellenti possibilit&agrave; 
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 <CODE>system.fvwm2rc</CODE> per rimuovere cose come 
desktop virtuali, barre dei titoli, controlli di uscita ecc., lasciando un 
ambiente FVWM relativamente minimalista.
Siccome il chiosco &egrave; un'unit&agrave; autonoma, la modifica delle impostazioni 
per l'intero sistema non &egrave; un problema.</P>
<P>Inoltre si pu&ograve; approfittare delle propriet&agrave; 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.</P>
<P>Il file di FVWM2 che si deve modificare &egrave;
<CODE>/etc/X11/fvwm2/system.fvwm2rc</CODE>. (Se si una una distribuzione diversa da
Red Hat, questo file pu&ograve; essere situato in qualche altro posto.)
Si dovr&agrave; 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> cambiare</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
DeskTopSize 2X2
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>in</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
DeskTopSize 1X1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Questo elimina i desktop virtuali.</P>
<P>In seguito, nella sezione "Default Styles", cambiare</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
Style "*"           BorderWidth 7, HandleWidth 7
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>in</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
Style "*"           BorderWidth 0, HandleWidth 0, notitle, nohandles
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Questo disabiliter&agrave; la maggior parte dei controlli di finestra.</P>
<P>Aggiungere le due righe seguenti alla sezione "Default Styles":</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
Style "xdaliclock"  StaysOnTop
Style "sxpm"        StaysOnTop 
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Una volta terminata, la sezione "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>
<P>Si possono usare i programmi xdaliclock e sxpm per coprire parti di
Netscape Navigator. L'attributo "StaysOnTop" &egrave; quanto serve.</P>
<P>In seguito, trovare le seguenti quattro righe e commentarle come mostrato:</P>
<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>
<P>Commentando queste righe si eliminer&agrave; da FVWM2 il gradevole "task launcher"
, il che &egrave; corretto in quanto si cerca di creare un ambiente pi&ugrave; semplice 
possibile.</P>


<H2><A NAME="ss3.2">3.2</A> <A HREF="Kiosk-HOWTO.html#toc3.2">Netscape Navigator</A>
</H2>

<P>Netscape Navigator &egrave; una scelta migliore di Netscape Communicator per
configurare un chiosco. Essendo pi&ugrave; semplice, ci sono meno oggetti da
nascondere.</P>
<P>Su Microsoft Windows, Netscape Navigator ha una modalit&agrave; chiosco che elimina
la maggior parte dei controlli del Navigator ma, al momento della presente
stesura, non c'&egrave; una modalit&agrave; chiosco integrata nella versione Unix del
Navigator.</P>
<P>La versione Unix pu&ograve;, nondimeno, essere invocata con un argomento
<CODE>-geometry</CODE> che permette di avviare Netscape sempre in modalit&agrave; a
pieno schermo. Questa &egrave; una parte della nostra strategia per un chiosco basato
su Netscape.</P>
<P>Si deve prendere una decisione sulla risoluzione dello schermo del chiosco. 
Usando un monitor da 19 o 20 pollici, &egrave; nostra opinione che la 640x480 sia troppo 
larga, la 1024x768 troppo stretta e la 800x600 praticamente giusta per il 
pubblico (si pu&ograve; decidere diversamente).
Una volta stabilita la risoluzione, si pu&ograve; iniziare ad adattare il Navigator. 
Per il seguito di questo HOWTO si assume la risoluzione a 800x600. Sar&agrave; necessario 
adeguarsi di conseguenza se si seleziona una risoluzione diversa.</P>
<P><I>Nota:</I> Navigator sar&agrave; invocato da root durante il boot, quindi si facciano
tutti gli adattamenti sotto l'account di root nella directory <CODE>/root/.netscape</CODE>.
Si invochi Netscape e si clicchi sulla voce <CODE>Edit|Preferences</CODE>.
In <CODE>Appearance</CODE> si imposti "Show Toolbar as Text Only".
In <CODE>Appearance|Fonts</CODE> si usino i font, sia a spaziatura fissa che proporzionale,
ad almeno 14 punti, altrimenti la visualizzazione sullo schermo sar&agrave; troppo
piccola per permettere una lettura confortevole.</P>
<P>In <CODE>Preferences|Navigator</CODE> 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 <CODE>http://localhost/</CODE> per l'accesso alla home page, o 
pi&ugrave; in profondit&agrave; nell'albero dei documenti html, se si vuole.</P>
<P>Dopo aver salvato queste opzioni, si clicchi <CODE>View</CODE> sulla barra dei men&ugrave; di
Navigator, per deselezionare <CODE>Personal Toolbar</CODE> e <CODE>Location Bar</CODE>.</P>
<P>Visto come l'interfaccia &egrave; diventata pi&ugrave; simile a un chiosco? All'uscita da
Navigator queste impostazioni saranno salvate.</P>

<H2><A NAME="ss3.3">3.3</A> <A HREF="Kiosk-HOWTO.html#toc3.3">Sovrapporre delle maschere a Navigator</A>
</H2>

<P>Guardando attentamente lo schermo gi&agrave; adattato di Navigator, si noteranno quattro 
aree che devono essere coperte e protette dai clic del mouse o della trackball:</P>
<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>
<P>Ecco uno schema approssimativo delle aree da mascherare:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
+---------------------------------------+
|       # 1 Barra degli strumenti       |
+--+------------+-----------------------+
|#2|            | #3 Barra navigazione  |
+--+            +-----------------------+
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
|                                       |
+---------+                             |
|#4 Chiave|                             |
+---------------------------------------+
&lt;!--? la key ora sta in basso a dx no?-->
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Per mascherare le aree in alto (#1-3), saranno necessarie tre immagini.
Per mascherare la chiave di sicurezza (#4) si utilizzer&agrave; xdaliclock.</P>

<H3>Creare le maschere grafiche</H3>

<P>Il modo pi&ugrave; facile per creare le maschere grafiche per coprire le aree #1-3 &egrave;
di catturare uno screenshot di Navigator in modalit&agrave; estesa 800x600 e poi
ritagliare le aree che corrispondono a #1-3. Ho usato GIMP per questo.</P>
<P>Si pu&ograve; poi ridisegnare la grafica di base, cambiando i colori se si vuole o
inserendovi il proprio logo. Salvarli come:</P>
<P>
<OL>
<LI>topbar.xpm</LI>
<LI>navleft.xpm</LI>
<LI>navright.xpm</LI>
</OL>
</P>
<P>I formato xpm &egrave; quello nativo per le bitmap di X Window. Si utilizzer&agrave;
il programma X Window <I>sxpm</I> per posizionarle sullo schermo.</P>
<P>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:
<A HREF="http://www.rom.on.ca/kiosk/HOWTO/">http://www.rom.on.ca/kiosk/HOWTO/</A>.
Sar&agrave; pi&ugrave; semplice scaricare le nostre maschere ed usarle come punto di inizio
per la propria soluzione.</P>

<H2><A NAME="ss3.4">3.4</A> <A HREF="Kiosk-HOWTO.html#toc3.4"><CODE>/root/kiosk.xinitrc</CODE></A>
</H2>

<P>Proprio come se si creasse normalmente un file <CODE>.xinitrc</CODE> 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:</P>
<P>
<UL>
<LI>Inizializzazione dello screensaver (opzionale).</LI>
<LI>Posizionamento della bitmap sulla barra dei men&ugrave; 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>Avvio di Netscape, controllo ciclico che Navigator sia in esecuzione, 
rilanciarlo in caso non lo sia.</LI>
</UL>
</P>
<P>Questo &egrave; il file principale che gestisce il chiosco.</P>
<P>
<HR>
<PRE>
#!/bin/sh
# kiosk.xinitrc -- Script di inizializzazione per la sessione X Window modalit&agrave; chiosco

# Start screensaver
/usr/X11R6/bin/xscreensaver-command -exit
/usr/X11R6/bin/xscreensaver &amp;
 
# Maschere sovrapposte a Navigator (maschera num.1)
sxpm /root/navtop.xpm &amp;
 
# Piccola sovrapposizione grafica sul tornado della Toolbar - lato sinistro (maschera num.2)
sxpm -g +0+23 /root/navleft.xpm &amp;
 
# Sovrapposizione grafica pi&ugrave; ampia per coprire tutto ci&ograve; che si trova
# alla destra della Home sulla Toolbar (maschera num.3)
sxpm -g +275+23 /root/navright.xpm &amp;
 
# 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 &amp;
 
sleep 2

# Lancia fvwm2
fvwm2 &amp;
 
# 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
</PRE>
<HR>
</P>

<H2><A NAME="ss3.5">3.5</A> <A HREF="Kiosk-HOWTO.html#toc3.5"><CODE>/root/xkiosk</CODE></A>
</H2>

<P>Adesso si pu&ograve; iniziare a testare la configurazione del chiosco.
Dal momento che sar&agrave; necessario farlo ripetutamente, a mano ed anche con
uno script di inizializzazione, si crei il seguente script di shell, chiamato
<CODE>/root/xkiosk</CODE>:</P>
<P>
<HR>
<PRE>
/usr/X11R6/bin/xinit /root/kiosk.xinitrc -- /usr/X11R6/bin/X \
-xf86config /root/kiosk.XF86Config bc
</PRE>
<HR>
</P>
<P>Siccome si vuole testare spesso e riusarlo pi&ugrave; tardi quando l'avvio sar&agrave;
automatizzato, si crei <CODE>/root/xkiosk</CODE>. Ci si assicuri di renderlo
eseguibile con <CODE>chmod ug+x</CODE>.</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>