• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Bildschirme auf den Clients sperren?

A

Anonymous

Gast
Hallo,
als geplagter Lehrer :wink: mit Schülern, die in einer Theoriephase die Finger nicht von der Tastatur/Maus lassen könen, suche ich nach einer Möglichkeit alle (oder aber auch gezielt einzelne) Bildschirme in einem Computerkabinett zu sperren.
Es gab einmal etwas, das nannte sich vnceye. Gibt es das noch und funtioniert es auch mit X.org (damals lief es mit XFree)?

Ich habe mir auch einmal iTALC (http://italc.sourceforge.net/home.php) angesehen. Ein schönes Programm, nur frisst es zuviel Bandbreite, dass ein arbeiten kaum noch möglich ist.

Im Prinzip würde es mich schon glücklich machen, wenn die Monitore gesperrt werden. Eine Umleitung von/zum Leherrechner ist gar nicht notwendig.

cu
 

Yehudi

Guru
Mag vielleicht komisch klingen:
Alle Monitore an eine Sammelsteckdose, und ausschalten, wenn die Schüler zuhören sollen.

Wenn die Schüler kein Passwort für den PC haben, und das Linux mit KDE ist, könntest Du diese bei einer kleinen Menge, wenn Du sie von Deinem Lehrerrechner mit VNC oder so bedienen kannst einfach über das KMenü ---> Sitzung sperren gehen. Bei 5 PCs dürfte das einiger Maßen schnell funktionieren. Bei 10 stelle ich mir das schwieriger vor. Aber ich denke, da könnte man dann ein Script schreiben, welches dies Funktion erfüllt.
 
OP
A

Anonymous

Gast
Hallo,

Danke für die schnelle Antwort, es ist allerdings noch nicht die Lösung für mich.
Es sind nämlich 28 Clients und als Windowmanager fahren wir Icewm (klein, schlank, schnell und super zentral zu konfigurieren).

cu
 

Yehudi

Guru
28 PCs das habe ich fast befürchtet. Mit dem WM muss ich leider passen, obwohl ich doch schon einige ausprobiert habe. Sicherlich gibt es da noch eine andere Möglichkeit.
Ist das hier vielleicht was:
http://www.linux-schulen.de/alt_vnc-eye/
 

Dr. Glastonbury

Advanced Hacker
Hi,
mal wieder eine Bastellösung vom Doc. ^^

Lass beim Anmelden n Script starten, was folgendes tut:
Code:
#!/bin/sh
while [ 1 ]; do
   if [ -e /tmp/lockPC ] ; then #In Endlosschleife abfragen, ob Lock-Datei existiert
      xlock; #wenn ja, dann xlock ausführen
      while [ -e /tmp/lockPC ]; do #und so lange warten, bis Datei nicht mehr existiert
         sleep 2;
      done
      killall xlock; #wenn dem so ist xlock wieder Killen
   fi
   sleep 2;
done
Wenn ich mich recht erinnere muss man nämlich für xlock extra n Passwort setzen - das heißt du müsstest diese Option für die Schüler untersagen (bin grad am c't-Artikel für AppAmor dran, das sollte sich damit verwirklichen lassen).

Tjoa - und wenn du jetzt dir noch n kleines Admin-Script schreibst:
Code:
#!/bin/sh
xmessage "Was soll getan werden?" -buttons Sperren,Freischalten,Abrrechen
if [ $? -eq 101 ] ; then
   touch /tmp/lockPC;
   chmod 744; #kA, ob das nötig ist^^
elif [ $? -eq 102 ] ; then
   rm /tmp/lockPC;
fi
Dann kannst du darüber bequem die Rechner sperren, bzw. entsperren - aber ist wie gesagt eine Frickel-Bastel-Doc-Lösung :D
 
OP
A

Anonymous

Gast
Hallo,
ich habe mir vnc-eye noch einmal geholt und nach Anleitung manuell installiert. Alle Bildschirme sperren und freigeben sowie Xdialog funktionieren auch. Die Ausgabeumleitung (Lehrer->terminal, Terminal->Lehrer) muss ich noch bearbeiten, da gewisse Java-Sachen noch nicht hinhauen. Ebenso muss man die Pfade anpassen (oder aber einen Link legen), denn die Konfigurationdateien liegen jetzt in /etc/icewm und nicht mehr in /etc/X11/icewm.

Italc kriege ich nicht kompiliert, denn ein ./configure stößt sich immer an einem Pfad für QTDIR, aber dieser Pfad ist gesetzt und qt3 als auch qt4 sind installiert.

Italc ist ein schönes Tool und beinhaltet so ziemlich alles, was man sich als Lehrer wünscht. Warten wir noch einmal die offizielle Version 1 ab und dann sehen wir weiter.

cu
 
OP
A

Anonymous

Gast
Ich muss mich korrigieren, denn es funktioniert doch noch nicht. :x

System: SuSE10.1, LTSP 4.2, die User authorisieren sich via einem LDAP-Server.
Es geht nur, wenn ich auf den Clients einmal in einer Konsole xhost +Terminalserver_IP eingebe.

Laut Beschreibung von vnc-eye muss ich in der /etc/X11/xdm/Xsession folgendes eintragen:
Code:
Nach den Zeilen 
# User session
# If the user doesn't have their own xsession, then run
# xinitrc if they exist


readonly XSESSION_IS_UP=yes 
export XSESSION_IS_UP 

fügt man folgende Zeilen ein:

exec xhost +192.168.0.254& 
exec cp /etc/icewm/terminal_remote/.x0rfbserver ~/& 

(dabei ist die 192.168.0.254 durch die IP des Terminalservers zu ersetzen.)

Starte ich vnc-eye in einer Konsole oder aber
Code:
Xdialog -display 192.168.xxx.yyy Hallo
so sehe ich immer die Meldung
Code:
Connection refused ...

Noch einen Tipp für mich?

cu
 
OP
A

Anonymous

Gast
Code:
korrektes Display verwenden ist nicht schlecht, z.B. 192.168.222.4:0
Das stimmt zwar, ist aber nicht die Ursache.

Denn ich erhalte genau diese Fehlermeldung auch wenn ich es mit :0 eingebe. Zudem ist das vnc-eye so prgrammiert, dass es :0 automatisch mit anfügt.
Es funktioniert nur, wenn ich vorher explizit am Client ein xhost +Server_IP eingegeben habe.
Das lässt für mich eigentlich nur den Schluss zu, dass die Zeilen in der Xsession nicht korrekt ausgewertet werden.

cu
 
Oben