Home · Kontakt · Impressum
contents index previous up next
Next: 23. Zertifizierung: Das LPIC-Programm Up: 22.1 Exportieren des X11-Desktops Previous: 22.1.5 Beispiel: Einrichtung als

22.1.6 Beispiel: Einrichtung als Klassenraumserver

Eine der interessantesten Aufgaben des VNC-Servers ist der Export eines X11-Desktops für den Untericht. Hier tritt das Problem auf, daß ein Betrachter, nämlich der des Dozenten, auf dem X-Server arbeiten muß, während die Kursteilnehmer nicht auf dem Server arbeiten dürfen. Leider gibt es keine Option, die eine solche Einstellung erlaubt. Das Setzen des Viewonly-Flags erfolgt nur über den Viewer.

Der Trick an der Sache ist es zwei X-Server aufzusetzen. Einen ``Master''-Server auf dem gearbeitet werden darf und einen ``Slave''-Server der nur einen Viewer auf den ``Master''-Server enthält. Dieser Viewer ist auf Viewonly gestellt.

Mit diesem Start-Skript werden die Server gestartet.

Listing 22.2   vnc

   1: #!/bin/sh
   2: # Startet zwei VNC-Server (Master und Slave)
   3: 
   4: # Auflösung festlegen
   5: GEOM=950x680
   6: CDEPTH=16
   7: 
   8: # Variable auswerten
   9: case $1 in
  10:   start) 
  11:         # Starten der VNC-Server
  12:         # Master starten
  13:         # Passworddatei ~/.vnc/privat
  14:         vncserver :1 \
  15:                 -geometry $GEOM \
  16:                 -depth $CDEPTH \
  17:                 -alwaysshared \
  18:                 -name master \
  19:                 -rfbauth $HOME/.vnc/privat
  20:         
  21:         # Slave starten
  22:         # Passworddatei ~/.vnc/public
  23:         vncserver :2 \
  24:                 -geometry $GEOM \
  25:                 -depth $CDEPTH \
  26:                 -alwaysshared \
  27:                 -name slave \
  28:                 -rfbauth $HOME/.vnc/public
  29: 
  30:         # Viewer zur Kontrolle des Master-Servers starten
  31:         # Falls in einem X-Terminal als anderer Benutzer gestartet zeigt
  32:         # die Display-Variable auf das aktuelle X-Window
  33:         # Der Server muß aber vorher mit 
  34:         # xhost localhost 
  35:         # freigegeben werden
  36:         DISPLAY=:0.0
  37:         export DISPLAY
  38:         # Viewer starten
  39:         vncviewer :1 
  40:         ;;
  41:         
  42:   stop) 
  43:         # Beenden des VNC-Servers
  44:         vncserver -kill :1
  45:         vncserver -kill :2
  46:         ;;
  47:   *)    # Falsches Kommando
  48:         echo "Syntax: vnc start|stop"
  49:         ;;
  50: esac
  51: 
  52: # Ende

Mit dem Parameter start werden die zwei Server und der Master-Viewer gestartet.

ole@enterprise:~> vnc start

New 'master' desktop is enterprise:1

Starting applications specified in /home/ole/.vnc/xstartup
Log file is /home/ole/.vnc/enterprise:1.log


New 'slave' desktop is enterprise:2

Starting applications specified in /home/ole/.vnc/xstartup
Log file is /home/ole/.vnc/enterprise:2.log

VNC server supports protocol version 3.3 (viewer 3.3)
Password:
VNC authentication succeeded
Desktop name "ole's master desktop (enterprise:1)"
Connected to VNC server, using protocol version 3.3

Der Parameter stop sorgt dafür, daß die beiden Server beendet werden.

ole@enterprise:~> vnc stop
Killing Xvnc process ID 1994
Killing Xvnc process ID 2014

Vorm Einsatz des Skripts müssen mit

ole@enterprise:~> vncpasswd ~/.vnc/privat
Password:
Verify:
ole@enterprise:~> vncpasswd ~/.vnc/public
Password:
Verify:
zwei Passwortdateien angelegt werden. Die Kursteilnehmer erhalten natürlich nur das Passwort aus der Datei public.

Damit die Server unterschiedlich in ihrer Ausführung sind, muß die Datei xstartup die Server unterscheiden.

Listing 22.3   xstartup

   1: #!/bin/sh
   2: 
   3: # Start ist abhängig vom Servernamen
   4: case $VNCDESKTOP in
   5:   slave) 
   6:         # Slave-Server nur mit Viewer
   7:         echo "Slave Modus: $VNCDESKTOP"
   8:         vncviewer -viewonly -share -fullscreen \
   9:                 -passwd $HOME/.vnc/privat :1
  10:         ;;
  11:         
  12:   master)
  13:         # Master-Server mit KDE
  14:         echo "Master Modus: $VNCDESKTOP"
  15:         xrdb $HOME/.Xresources
  16:         xsetroot -solid grey
  17:         #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  18:         kde &
  19:         ;;
  20:   *)
  21:         # Normaler Server zum Arbeiten
  22:         echo "Normaler Server"
  23:         xrdb $HOME/.Xresources
  24:         xsetroot -solid grey
  25:         xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  26:         twm &
  27:         ;;
  28: esac


contents index previous up next
Next: 23. Zertifizierung: Das LPIC-Programm Up: 22.1 Exportieren des X11-Desktops Previous: 22.1.5 Beispiel: Einrichtung als
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang