close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#1398 closed Verbesserung (weitergeleitet)

Client-Steuerung über Epoptes

Reported by: bau Owned by: Rüdiger Kupper
Priority: bei Gelegenheit Milestone: Schuljahr 2014/15
Component: Software: Ubuntu Severity: beeinträchtigt keinen Unterricht
Keywords: Cc:

Description

Mir ist folgende Idee gekommen:
Clients sollten beim Hochfahren auf dem Server eine Datei Ablegen und diese beim Herunterfahren wieder entfernen. Somit hätte man eine Übersicht, welche Clients grade an sind. Im Zweifelsfall wüsste man damit, wo man hinlaufen soll (Ich rename die Clients mal nach Zimmernummern).

  • Benötigt würde ein Befehl, der die Clients, die online sind anzeigt.
  • Der Client-Shutdown müsste dann auch nur noch auf die angeschalteten Clients warten

Change History (14)

in reply to:  description comment:1 by Rüdiger Kupper, 13 years ago

Replying to bau:

Clients sollten beim Hochfahren auf dem Server eine Datei Ablegen und diese beim Herunterfahren wieder entfernen. Somit hätte man eine Übersicht, welche Clients grade an sind.

Leider ist das nicht so aussagekräftig, wie Du denkst. Es könnte genausogut bedeuten, dass

  • der Client hochgefahren ist und dann per Ein-/Aus-Knopf ausgeschaltet wurde (Uwas nicht selten ist)
  • der Client hängt oder abgestürzt ist
  • der Client vom Netzwerk getrennt wurde
  • der Server neu gestartet wurde, ohne den Client herunterfzufahren

Die Tatsache, dass die Datei auf dem Server existiert, ist also keinb Beleg dafür, dass der Client läuft und ansprechbar ist.

Der Mechanismus lässt sich aber schon implementieren. Das ist indes überflüssig, weil Epoptes diesen Dienst bereits in viel besserer Weise zur Verfügung stellt -- damit kann man sich sogar auf dem Client einloggen, den Bildschirm anzeigen, den Cliuent herunterfahren, etc...

Das sollte doch eigentlich reichen?

Version 0, edited 13 years ago by Rüdiger Kupper (next)

comment:2 by Rüdiger Kupper, 13 years ago

Du müsstest doch eine schicke Übersicht über die laufenden Clients bekommen, wenn Du Dich auf ltsp6 einloggst und epoptes startest...

comment:3 by bau, 13 years ago

OK, das ist wirklich gut!
Gibt es aber eine Möglichkeit, das an der Console auszulesen?
Bestimmt schreibt epoptes das auch nur in irgendwelche Config-Files rein - oder?
Damit könnten wir dann ganz bequem den Mechanismus zum Server-Ausschalten beschleunigen :-)

comment:4 by Rüdiger Kupper, 13 years ago

Es gibt einen Featurwunsch/Bugreport dazu, dass Epoptes ein Kommandozeileninterface bekommt: ​launchpad:1039535. Der Entwickler spricht davon, dass das vielleicht in der nächsten LTS-Version implementiert werden könnte. Dazu passt, dass das Ticket im November 2013 jemandem zugewiesen wurde. Vielleicht sollten wir da nochmal drängeln?

comment:5 by bau, 13 years ago

Drängel nur mal :-)

Wie sieht das epoptes-Verfahren derzeit aus?

  • client fährt hoch
  • epoptes startet auf client als Dienst? und meldet sich am Server an
  • sobald ein User (außer teacher) sich einlogged verbindet der client sich mit dem Server
  • das ganze Umgekehrt beim logout bzw. shutdown

comment:6 by Rüdiger Kupper, 13 years ago

Ja, so ähnlich. Es gibt aber zwei Clientprozesse:

  • Client fährt hoch
  • Der Epoptes-Dienst startet auf dem Client einmal als Nutzer root (glaube ich...?). Der meldet sich am festgelegten Epoptes-Server an (per Default der jeweilige LTSP-Server, bei uns aber generell ltsp6).
  • Ab dann sieht man den Client in der Epoptes-Anwendung als hochgefahren. Man kann auch eine VNC-Verbindung herstellen, man sieht dann den Login-Screen und kann sich sogar darauf einloggen.
  • Sobald ein Nutzer (bei uns: außer Gruppe teacher) sich anmeldet startet der Dienst noch ein zweites mal, diesmal unter dem Nutzernamen des Users.
  • Ab dann sieht man in der Epoptes-Anwendung den Nutzer als angemeldet und kann mit seinem Desktop eine VNC-Verbindung aufbauen.
  • Weil es zudem noch die root-Verbindung gibt, kann man sogar von der Epoptes-Anwendung ein root-Terminal auf dem Client starten, den Client hoch- und runterfahren, locken, etc.
  • Das ganze umgekehrt beim Logout/Shutdown.

comment:7 by Rüdiger Kupper, 12 years ago

Summary: Client-Verzeichnis → Client-Steuerung über Epoptes

comment:8 by Rüdiger Kupper, 12 years ago

Priority: normal → gering
Severity: normal → unkritisch

comment:9 by Rüdiger Kupper, 12 years ago

Die Linuxmuster-Clients melden sich nun auch bei unserem Epoptes-Server (ltsp6) an.
Wenn man epoptes startet, sieht man wie gewohnt alle laufenden Clients, den Bildschirminhalt aber nur bei Schülern. Lehrer können ihren Bildschirm bei Bedarf freigeben.

In Epoptes erhält man damit eine Übersicht über alle laufenden Clients. Zudem kann man sich damit auf einem laufenden Client remote einloggen. Sehr nett!

comment:10 by bau, 12 years ago

Ich habe gerade den ersten Client im Lehrernetz in Betrieb genommen. Linbo funktioniert zunächst mal, kann dann aber das Image aus dem Lehrernetz nicht hochladen (weniger wichtig). Ich lade jetzt mal das Image aus dem Schülernetz hoch.

Bemerkungen

  • Linbo benötigt einen funktionierenden TFTP-Server, dieser läuft in beiden Netzen
  • der DHCP verweist LINBO automatisch an den paedml-Server
  • Wenn die IP von einem DHCP kommt, der nicht der paedml ist, muss in der /var/linbo/pxelinux.cfg/<Gruppe> der Append-Parameter für den Server angegeben sein:
    # use "reboot" instead of "linbo" for clients which need the reboot workaround 
    DEFAULT linbo
    
    # you have to uncomment next line if you want to be able to type options on the boot prompt
    #PROMPT 1
    
    # 3 secs boot prompt timeout
    TIMEOUT 30
    
    KBDMAP /german.kbd
    DISPLAY /boot.msg
    
    # the default boot method, pxe boots linbo kernel directly
    LABEL linbo
    KERNEL linbo
    APPEND initrd=linbofs.gz vga=788 server=10.32.1.1 quiet
    
    # boot method to use with reboot workaround
    LABEL reboot
    KERNEL grub.exe
    APPEND keeppxe --config-file=pxe basedir /; default 0; timeout 0; hiddenmenu; title REBOOT; fallback 1; find --ignore-floppies --ignore-cd --set-root /.linbo.reboot; cmp /.linbo.reboot /.grub.reboot || ls FALLBACK; write /.grub.reboot DONE; ls /boot/grub/menu.lst && configfile /boot/grub/menu.lst; ls /menu.lst && configfile /menu.lst; chainloader +1; title LINBO PXE; kernel (pd)/linbo quiet vga=788; initrd (pd)/linbofs.gz;
    
    # to boot LINBO in debug mode simply type "debug" on boot prompt and press ENTER
    LABEL debug
    KERNEL linbo
    APPEND initrd=linbofs.gz vga=788 server=10.32.1.1 debug
    
  • Damit Linbo im Lehrernetz funktioniert, muss eine neue Gruppe lehrer angelegt werden in deren Start-Conf die richtige Server-IP steht
  • Da wir im Lehrernetz größere Platten einbauen, sollte die Start-Conf sowieso anders aussehen

comment:11 by jas, 12 years ago

Milestone: Schuljahr 2013/14 → Schuljahr 2014/15

comment:12 by Rüdiger Kupper, 12 years ago

Resolution: → weitergeleitet
Status: new → closed

Die neuen Linuxmusterclients melden sich brav bei unserem dedizierten Epoptes-Server (ltsp6) an und erscheinen, wenn man epoptes aufruft. Sie können dann überwacht, erngesteuert, gesperrt, rauf- und runtergefahren werden.
Ein Kommandozeileninterface dafür gibt es noch nicht, aber einen entsprechenden Featurewunsch: ​launchpad:1039535.

comment:13 by bau, 12 years ago

Achtung!
Der Workaround für Lehrer muss auf den Clients vorgenommen werden - sonst erscheinen auch wieder eingeloggte Lehrer!

in reply to:  13 comment:14 by Rüdiger Kupper, 12 years ago

Replying to bau:

Achtung!
Der Workaround für Lehrer muss auf den Clients vorgenommen werden - sonst erscheinen auch wieder eingeloggte Lehrer!

Ich meine, das habe ich bereits gemacht...

Note: See TracTickets for help on using tickets.