From 2df23eafb9b0d76051830824e8fa55565e5827ce Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Thu, 3 Apr 2008 01:41:58 +0000 Subject: do not change numlock status on remote displays (from Frank Griffin, #15299) --- numlock.xinit | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/numlock.xinit b/numlock.xinit index 0cf1ed4..3dba770 100755 --- a/numlock.xinit +++ b/numlock.xinit @@ -8,8 +8,23 @@ # Created On : Wed Apr 12 08:39:24 2000 #--------------------------------------------------------------- -if [ -f /var/lock/subsys/numlock -a -x /usr/bin/enable_X11_numlock ]; then - /usr/bin/enable_X11_numlock +# +# The following code used to execute enable_numlock if numlock was enabled +# on this host. This screwed hosts which did not use numlock (laptops) +# but which tried to create XDMCP sessions to this host, as numlock would +# be turned on unconditionally. +# +# The following code detects a $DISPLAY host other than what would be +# expected for a local X session on this host, and exempts it from the +# automatic execution of numlock. +# +DISPHOST=${DISPLAY%%:*} +if [ "$DISPHOST" = "" -o "$DISPHOST" = "localhost" -o "$DISPHOST" = "$HOSTNAME" ] + then + if [ -f /var/lock/subsys/numlock -a -x /usr/bin/enable_X11_numlock ]; then + /usr/bin/enable_X11_numlock + fi + else fi # numlock ends here -- cgit v1.2.1