StudentControlPanelCompletion

Differences between revisions 3 and 4
Revision 3 as of 2006-06-19 16:58:25
Size: 2142
Editor: ALagny-109-1-2-23
Comment:
Revision 4 as of 2006-06-19 17:16:54
Size: 3877
Editor: ALagny-109-1-2-23
Comment:
Deletions are marked like this. Additions are marked like this.
Line 34: Line 34:
 * add kill option for commands in processlist
   (basic implementation done, needs some code to interconnect button with processlist selection)
   
 * find strategy for vnc handling (proposal: x11vnc with initscript on the client connected to :0 , autogeneration of a password during program start on the server (copied into the client chroot to be read by x11vnc), i.e. md5sum of a unix timestamp or similar)
   * (should we be running the VNC within X.org itself?)
   * we will need a popup window or similar, pointing the admin/user to a script or option to install the vnc parts in the client chroot, since the debian policy forbids to directly install stuff in the chroot from the package postinst script.


 * find strategy for remote execution of programs for
   selected students
   * DBUS solution. Student runs a dbus listener in their session, which listens for messages from Student Control Panel, asking them to run a command.
   * DBUS has the security built in to not accept any messages except from SCP (see http://dbus.freedesktop.org/doc/dbus-specification.html#auth-protocol for tech details). This is a simple and elegant solution.

 * fix display of commands in processlist (with icons, see gnome-system-monitor as an example)
 * add context menu to the student list to start pessulus for a selected user to modify settings on the fly. (Screenshots: http://www.gnome.org/~vuntz/pessulus/screenshots/ )
 * prepare plugin system so future enhancements can be easily added
    * What about something like nautilus-scripts? Simply provide a
     standard area to drop scripts into, and they'll simply appear on
     the context menu. Environment variables can be set for userid,
     etc.

Summary

Roadmap for finishing the basic implementation of student-control-panel

Rationale

To control LTSP connections in a school environment, an application that interacts with the ltsp server and the clients is needed. An initial application called student-control-panel was uploaded to dapper, it currently implements basic connection control (it shows users and the ip of the client they are logged in to, enables to cut the connection for one, more or all users and shows the currently running processes of a single user)

More features are needed to provide a full student control application for school environments.

Use cases

Dr. Miller teaches biology in a ltsp equipped class, he has several students he suspects to secretly browse the web while he is not looking, with student-control-panel he is able to monitor the students desktops via vnc to see if his suspicion is true.

Miriam teaches about free software in a class that uses a ltsp setup, she wants do demonstrate several free software apps she wants to start up on all students desktops. She hits ctrl-a to select all students in student-control-panel and clicks on the execute button which brings up a dialog to execute a command on all selected desktop simultaneously.

Anselmo has one student he doesnt want to be able to access the commandline from his desktop, since this specific student is known to write harmful scripts, Anselmo right clicks on the students name in student-control-panel and selects the lock down option there. Pessulus pops up and he checks the "Disable Commandline" checkbox.

Scope

Easy handling of student ltsp connections.

Design

Implementation

  • add kill option for commands in processlist
    • (basic implementation done, needs some code to interconnect button with processlist selection)
  • find strategy for vnc handling (proposal: x11vnc with initscript on the client connected to :0 , autogeneration of a password during program start on the server (copied into the client chroot to be read by x11vnc), i.e. md5sum of a unix timestamp or similar)
    • (should we be running the VNC within X.org itself?)
    • we will need a popup window or similar, pointing the admin/user to a script or option to install the vnc parts in the client chroot, since the debian policy forbids to directly install stuff in the chroot from the package postinst script.
  • find strategy for remote execution of programs for
    • selected students
    • DBUS solution. Student runs a dbus listener in their session, which listens for messages from Student Control Panel, asking them to run a command.
    • DBUS has the security built in to not accept any messages except from SCP (see http://dbus.freedesktop.org/doc/dbus-specification.html#auth-protocol for tech details). This is a simple and elegant solution.

  • fix display of commands in processlist (with icons, see gnome-system-monitor as an example)
  • add context menu to the student list to start pessulus for a selected user to modify settings on the fly. (Screenshots: http://www.gnome.org/~vuntz/pessulus/screenshots/ )

  • prepare plugin system so future enhancements can be easily added
    • What about something like nautilus-scripts? Simply provide a
      • standard area to drop scripts into, and they'll simply appear on the context menu. Environment variables can be set for userid, etc.

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec

StudentControlPanelCompletion (last edited 2008-08-06 16:27:07 by localhost)