August 7, 2007

Controlling and managing Edubuntu users' desktops

Author: Benjamin Mako Hill, Jono Bacon, Ivan Krstic. David J. Murphy, Jonathan Jesse, Peter Savage, Corey Burger

The community-driven Edubuntu project aims to create a version of Ubuntu specially tailored for use in primary and secondary education. Perhaps the most useful feature present in the Edubuntu OS is the Linux Terminal Server Project environment, whose applications are not limited just to eduction. The LTSP model centers around one powerful machine that acts as a server and several often much lower-powered machines that act as clients and boot from an installation of Ubuntu on the server. Though you will not be installing anything on them, there are still some maintenance tasks specifically directed at clients.

This article is excerpted from the newly published The Official Ubuntu Book, Second Edition.

Thin Client Manager began life as Student Control Panel in Dapper 6.06 and was written by Oliver Grawert. It was then revamped and feature-enhanced in 6.10, and again in 7.04 by Pete Savage and Oliver Grawert. Thin Client Manager now offers many of the features you would find in a commercial network management package. Designed specifically to administrate and manage the LTSP thin client environment, it provides the following features.

  • Stop a process on the client's machine.
  • Log users out of their sessions.
  • Send users a message.
  • Run an application on the client's machine.
  • Blank or lock users' screens.
  • Lock down clients using Pessulus.
  • Add users to groups for ease of filtering.
  • Use a plug-in framework to perform simple tasks.

Using Thin Client Manager

Upon loading Thin Client Manager for the first time, you will be presented with a screen similar to the one shown here. The screen is basically split into two sections. The first is the user list, on the left side, which shows a constantly updating list of all users who are logged onto the LTSP server. The second section, on the right, contains the Process View and Screen Viewer tabs. This section is tab-operated so that you can switch between viewing the currently selected processes and running applications and, in the future, a selection of four screenshots of currently running clients.

You can end a user's running applications by first choosing a user, selecting a process from the right-hand side, and then clicking on the End Process button. You will then be asked to confirm your actions. After you do, an internal message is sent to the client's session asking for the program to terminate.

If desired, you can log a user out of his or her session by first selecting the user and then clicking on the Disconnect button. (You can also select multiple users.) You will then be asked to confirm your actions. After you do, an internal message is sent to end the user's session. This will log the user out of the current session.

You can send short messages to users -- for example, "You have 5 minutes left for this lesson." To do this, first select a user (or multiple users) and then click the Message button. You will then be presented with a box to type in your message. After you click OK, the message will be sent to the selected user.

It is also possible to start an application or process in a client's session from Thin Client Manager. To do this, select the user (or multiple users) and click the Execute button. You will then be presented with a dialog box to enter a command to be run in the user's session. After you click OK, an internal message will be sent to the user's session asking for the chosen command to be run.

Sometimes it may become necessary to temporarily prevent users from accessing the computer. To do this, select the user (or multiple users) and click the Blank button. This will then activate a locked screensaver on the client's machine, forcing the user to stop and wait until you have unlocked the machine. Unlocking is done the same way, but using the Un-Blank button instead.

The lockdown editor

By selecting only a single user and right-clicking on that user, you can use the context menu to lock down a specific user. Selecting Lockdown will open Pessulus, the GNOME lockdown editor. Ticking and unticking options in Pessulus will enable and disable certain functions for the user. Ticking the padlock next to an option will make it unchangeable by the user. This is called a mandatory setting. Pessulus has been altered for integration with Thin Client Manager so that mandatory keys are now per user, instead of per system. For further help with Pessulus, please refer to the Pessulus documentation.

The latest version of Thin Client Manager comes with a users group and filtering system. This is all accessed by the context menu. By right-clicking in the user list, you will be presented with a menu that has an option called Groups. From this menu, you can create new groups, delete old groups, and assign users to groups.

To assign users to a group, simply select the users required from the user list and then right-click to bring up the context menu. From here you can move through the menu -- Groups -> Add to Group -> Group Name. The process is identical for removing users from groups.

Once your groups are all assigned, you can use the filter combo box above the user list to show only members of a particular group. The groups and members are persistent across Thin Client Manager sessions and are automatically saved once they have been altered. If you wish to access the file that stores the groups and members, it is located at /etc/tcm/users.conf.


The plugin framework allows you to expand the way Thin Client Manager works. Select a set of users in the left panel and right-click to bring up the context menu. From the Plugins option, you'll see a list of all the plugins installed in Thin Client Manager. On a fresh installation, this will consist of a single plugin, which is used purely as an example. You can also look at the example plugin file located in /usr/lib/python2.4/site-packages/studentcontrolpanel/plugins/cheap_plugin. Put simply, a plugin consists of a class and a registration function. The plugin is provided with a list of users, which you can use to write a routine to perform operations based on that list.

Copyright © 2007 Pearson Education. All rights reserved.


  • System Administration
Click Here!