A better workaround (but still less than ideal) to the ones mentioned above:

It seems that gnome is trying to load a default keymap when it initializes, but tightvnc requires a specific one that's nothing like the one gnome loads. By running the following command while logged in with a twm session, I was able to capture a copy of the working keymap:

xmodmap -display :1 -pke > ~/tightvncdefault.xmodmaprc

I can then reload the keymap after gnome-session replaces it by running 'xmodmap -display :1 ~/tightvncdefault.xmodmaprc'.

The difficult thing is arranging for that to happen automatically. The best way I could find is to create a script to do it in /etc/X11/Xsession.d, but that's run before gnome-session, so I had to make it sleep for a while (I chose 15 seconds) before running the command (both of which have to be done in the background, naturally).

My finished script, /etc/X11/Xsession.d/98fix-tightvnc-keymap:

case $DISPLAY in
   127.0.0.1:1)
       ( sleep 15; xmodmap /etc/X11/tightvncdefault.xmodmaprc ) &
       ;;
esac

if you're using multiple VNC displays, you'd want to add a similar entry for each of them.

Obviously, the 15 second delay is less than ideal because it's highly unreliable, but unfortunately I can't find a good way to make gnome run a script after it's finished its startup processes.




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to