linux user group brescia

immagine del castello

Archivio della mailing list

galeon & debian

Maurizio Paolini paolini a dmf.unicatt.it
Mar 8 Apr 2003 13:27:58 UTC
> From: Sergio Bevilacqua <clockwork.orange a inwind.it>
>
> On Mon, 2003-04-07 at 09:53, Maurizio Paolini wrote:
> > fammi sapere, nel caso posso darti piu' dettagli.  Oppure puoi farmi una
> > visita qui in via Musei, e vedere come funziona la nostra soluzione.
> > 
> > mp
>
> oddio... penso che un diplomatico accordo via e-mail sia più che
> sufficiente, sempre che sia possibile.
>
> Per il momento mi interessa capire la storia del browser che gira senza
> window manager... è quacosa tipo links che gira in bash, o un browserc
> eh in qualche modo funziona in X, seppur senza window manager (la
> buutto, anche se mi sembra una cosa impossibile)?

Perche' impossibile? E' invece proprio nella filosofia di X.  Il window
manager non e' affatto necessario per il funzionamento degli applicativi
grafici, serve *solo* per poter spostare/ridimensionare le finestre, 
eventualmente permettere che si lancino altre applicazioni con menu vari,
pannelli (se si tratta di un desktop manager) e quant'altro.

Nel nostro caso abbiamo proceduto cosi':

nel file /etc/rc.d/rc.local (eseguito al boot)


[...]
   /usr/local/bin/browse      (fa tutto)
   /sbin/poweroff             (spegne la macchina)
[...]

poi il programma vero e proprio.  Sembra complicato, ma la parte piu'
ostica e' far partire il browser come utente "nobody", mentre il server
X parte come 'root'.  Nel nostro caso viene
lanciato "netscape", che ovviamente puoi sostituire con il tuo browser
preferito.

-------------------------  browse -------------------
#!/bin/sh
#
# $1 utente con la cui UID si vuole eseguire il comando
# $2 display da utilizzare (se gia attivo), nella forma ":n"
#

uid=nobody

if [ -n "$1" ]
then
   uid=$1
   shift
fi

display="activate"
if [ -n "$1" ]
then
   display="$1"
   shift
fi

test=""
if [ -n "$1" ]
then
   test="$1"
fi

if [ "$display" = "activate" ]
then
   if [ -n "$test" ] ; then
      echo "activating server X"
      echo   xinit $0 $uid ":0" $* -- -ac -bpp 16
   fi
   xinit $0 $uid ":0" $* -- -bpp 16
   exit $?
fi

uidn=`id | cut -f2 -d\( | cut -f1 -d\)`

if [ "$uidn" != "$uid" ]
then
   if [ -n "$test" ] ; then
      echo changing uid from $uidn to $uid
      echo su $uid -c $0 $uid $display $*
   fi
   su $uid -c "$0 $uid $display $*"
   exit $?
fi

if [ -n "$test" ] ; then
   echo "finally executing command..."
   echo "my id is:"
   id
fi

export HOME=/home/nobody
/usr/bin/netscape -display $display -geometry 1024x768+0+0 http://www.bplab.bs.unicatt.it/help/

------------------------------------------------------------------



Maggiori informazioni sulla lista Lug