I can confirm this problem on Ubuntu Hardy. It was a fresh install (about a week ago) and I have installed all updates since.
I also seem to remember that Gnome logged out normally after the session in which I installed keytouch.
keytouch seems to spawn a new keytouchd process whenever I click "OK" or "Apply". If I manually kill all but one of these keytouchd processes Gnome will log out normally; if there are more than one it doesn't.
This also works if I kill the processes after initiating the Gnome-Logout: I click on logout, the panel etc. are closing but the desktop background remains. I then switch to the console and kill the keytouchd processes one after another; the moment I kill the last but one of them the logout continues and I am back to the GDM-Login.
I tried removing my ~/.keytouch2 directory, and when I logged back in no keytouchd process was running an I could log out normally.
Something else I found interesting: I started keytouch from the shell and set a command for one of the keys; when I hit apply the following was written to the shell: "keytouchd: Kein Prozess abgebrochen" ("keytouchd: No Process killed"). So it seems keytouch TRIES to kill old keytouchd processes when you change the settings; of course if there are none it can't kill any. BUT I also needed to kill (or killall) the processes with "-9" or else they wouldn't be killed - could that be the problem here?
Apart from killing the keytouchd processes a "killall keytouchd-launch" also "allows" Gnome to log out; however if I issue this command from within Gnome it logs me out all by its own, i.e. killing keytouchd-launch seems to kill Gnome (and I go back to GDM Login).
Strangely, adding either "killall keytouchd-launch" or "killall -9 keytouchd" to my /etc/gdm/PostSession/Default does not solve the problem here.
Next, I tried disabling /etc/X11/Xsession.d/55keytouchd_launch (there is only one), by adding "disable-session-keytouch" to /etc/X11/Xsession.options. Naturally the extra keys don't work if I do this, but I can switch them back on by launching keytouch and clicking "Ok". If I do this more than once I still get extra keytouchd processes; in the absence of keytouchd-launch however, they don't seem to block logout...
Just in case anyone is still struggling with this problem, for the moment I use the following workaround:
1. disable /etc/X11/Xsession.d/55keytouchd_launch by adding "disable-session-keytouch" to /etc/X11/Xsession.option
2. save the following script somewhere on your harddisk (e.g. ~/bin/)
keytouchd-relaunch
--- Begin file contents ---
#! /bin/bash
killall -9 keytouchd
keytouchd &
--- End file contents ---
3. make the file executable
4. add it to the Start-Programs of your gnome session
Excuse my rather lengthy post - but I hope the information provided may be useful for finding the real problem.
I can confirm this problem on Ubuntu Hardy. It was a fresh install (about a week ago) and I have installed all updates since.
I also seem to remember that Gnome logged out normally after the session in which I installed keytouch.
keytouch seems to spawn a new keytouchd process whenever I click "OK" or "Apply". If I manually kill all but one of these keytouchd processes Gnome will log out normally; if there are more than one it doesn't.
This also works if I kill the processes after initiating the Gnome-Logout: I click on logout, the panel etc. are closing but the desktop background remains. I then switch to the console and kill the keytouchd processes one after another; the moment I kill the last but one of them the logout continues and I am back to the GDM-Login.
I tried removing my ~/.keytouch2 directory, and when I logged back in no keytouchd process was running an I could log out normally.
Something else I found interesting: I started keytouch from the shell and set a command for one of the keys; when I hit apply the following was written to the shell: "keytouchd: Kein Prozess abgebrochen" ("keytouchd: No Process killed"). So it seems keytouch TRIES to kill old keytouchd processes when you change the settings; of course if there are none it can't kill any. BUT I also needed to kill (or killall) the processes with "-9" or else they wouldn't be killed - could that be the problem here?
Apart from killing the keytouchd processes a "killall keytouchd-launch" also "allows" Gnome to log out; however if I issue this command from within Gnome it logs me out all by its own, i.e. killing keytouchd-launch seems to kill Gnome (and I go back to GDM Login).
Strangely, adding either "killall keytouchd-launch" or "killall -9 keytouchd" to my /etc/gdm/ PostSession/ Default does not solve the problem here.
Next, I tried disabling /etc/X11/ Xsession. d/55keytouchd_ launch (there is only one), by adding "disable- session- keytouch" to /etc/X11/ Xsession. options. Naturally the extra keys don't work if I do this, but I can switch them back on by launching keytouch and clicking "Ok". If I do this more than once I still get extra keytouchd processes; in the absence of keytouchd-launch however, they don't seem to block logout...
Just in case anyone is still struggling with this problem, for the moment I use the following workaround: Xsession. d/55keytouchd_ launch by adding "disable- session- keytouch" to /etc/X11/ Xsession. option
1. disable /etc/X11/
2. save the following script somewhere on your harddisk (e.g. ~/bin/)
keytouchd-relaunch
--- Begin file contents ---
#! /bin/bash
killall -9 keytouchd
keytouchd &
--- End file contents ---
3. make the file executable
4. add it to the Start-Programs of your gnome session
Excuse my rather lengthy post - but I hope the information provided may be useful for finding the real problem.
David