Hi,

Like we have only P4 server which supporting up to 20 thin clients

I did a lot of tricks to get Edubuntu working including sound!

So I had the issues that a user gnome session doesn't get cleaned up 
after a user logged out ...

For that I wrote the program gnome-watchdog which is working up to now 
with Feisty ( with deacticated ldm encryption LDM_DIRECTX = True)

You can download this package from here:
www.morokeni.ch/edubuntu/gnome-watchdog_0.9.2_i386.deb


I hope it's useful. For more information about the package see below ...

Philipp


----------------------------------------------------------------------------------------------------
gnome-watchdog - cleans up gnome user session of Edubuntu and checks if a
user is logged in already.
----------------------------------------------------------------------------------------------------

It happens with Edubuntu that user processes continue to live even 
though the user
is not logged in anymore. This is not a really nice thing because these 
zombie processes
running in the background consume memory and cpu from the server. Now 
the question is,
how can we get rid of this processes?

Let us have a look at the current situation:
There are different use cases which cause these user zombie processes:

(1) Users are lazy. Instead of logging out properly, they just press the 
power button (hard reset)
(2) The user is using CTRL-ALT-BACKSPACE (killing the X11 session) to 
log out.
(3) User is logged out normally but some faulty program does not get 
terminated.
(4) A program is freezing the thin client completely which forces the 
user to reboot
the thin client.

(5) In some cases it can even be that these remaining processes prevent 
a user login with
the same user.

These scripts ensure that a faulty gnome user session gets cleaned up 
when a user isn't
logged in anymore ...

How does it work:

During a gnome login process a watchdog script (called gnome-watchdog) 
starts. The special
thing about this script is that it starts with the command nohup. In 
this way the 
gnome-watchdog script ignores any hangup signals.
This means this script survives even if the user is logging out in the 
normal way (3) or
unexpectedly (1,2,4+5).
Basically the script is waiting in a loop until the process gnome-panel 
gets terminated.
In case this happens, he waits a certain period to be sure that the 
process doesn't get
restarted by his parent process. If this does not happen the script 
assumes that the user
is not logged in anymore.
Now the cleaning process takes place. The scripts checks if any user 
processes under this user id
are still running. If yes, he kills all these user processes.

Based of some testing with these methods you should get 99% of the cases 
2 and 3 solved.
Unfortunately, if the user is doing a hard reset (1) it will happen that 
almost all processes including
the gnome-panel process will run as zombie processes.
Sometimes it happens that after a while, the gnome-panel gets 
terminated. This will cause the
remaining processes to get killed by the watchdog script.

When the process gnome-panel of this user survives, it can happen that 
the same user
will not be able to login anymore (5).

Now these scripts will also have a solution but it must be manually 
activated.
For this just create the file like this:
  touch /etc/check_previous_login

When this feature is activated, the script gnome-watchdog-start will 
check during a user login
if a gnome-panel is already running.
If yes, the user will be notified by a message box that a previous 
session is still running. The
user has now the option to kill this previous session before he logs in.

These facts may also be important to know:
- All actions from the scripts get logged to the syslog daemon 
(/var/log/messages).
- The script does not get executed for user root, schoolnet and teacher 
(see script).
- The script will only get started when you choose gnome as a session 
and when you are doing
a thin client login.

Please note that these scripts have only been tested for a few weeks. 
Until now we have had good
experiences with them.
However be warned that they may still have some faults. If you use them 
and your system and
your server start to kill users without notice perhaps it is better to 
remove them before doing
further troubleshooting.

-- 
SchoolNet NA - Youth Empowerment through Information and Communication 
Technology

SchoolNet Namibia provides sustainable, low cost technology solutions and 
internet access, as well as technical support, training services and rich 
educational content to schools, community-based educational organisations, and 
educational practitioners throughout Namibia.

www.schoolnet.na

toll free number: 0800 005793



-- 
edubuntu-users mailing list
edubuntu-users@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/edubuntu-users

Reply via email to