Bug#756268: x11-xkb-utils: xkbcomp to :0 sometimes succeeds with no effect
Package: x11-xkb-utils
Version: 7.7+1
Severity: normal
To restore the XKB settings automatically after suspend/resume,
I use the following /etc/pm/sleep.d/xkb-save-restore script:
------------------------------------------------------------
#!/bin/sh
set -e
dir=/run/pm-xkb
mkdir -p $dir
displays=$dir/displays
env=$dir/env
unset list
ok()
{
if [ -n "$list" ]; then
echo "$1 XKB settings for displays:$list"
fi
}
xkbsave()
{
: > $displays
cd /tmp/.X11-unix
for file in X*
do
d=${file#X}
if xkbcomp :$d $dir/$d; then
echo $d >> $displays
list="$list $d"
fi
done
ok saved
}
xkbrestore()
{
while read d
do
xkbcomp $dir/$d :$d
list="$list $d"
done < $displays
ok restored
}
case $1 in
suspend|hibernate) xkbsave ;;
resume|thaw) xkbrestore ;;
*) echo "unsupported argument" >&2
exit 1 ;;
esac
------------------------------------------------------------
But sometimes, though this script runs successfully according to
/var/log/pm-suspend.log
[...]
Mon Jul 28 10:11:43 CEST 2014: Awake.
Mon Jul 28 10:11:43 CEST 2014: Running hooks for resume
Running hook /etc/pm/sleep.d/xkb-save-restore resume suspend:
Warning: Compat map for group 2 redefined
Using new definition
Warning: Compat map for group 3 redefined
Using new definition
Warning: Compat map for group 4 redefined
Using new definition
Warning: No symbols defined for <AB11> (keycode 97)
Warning: No symbols defined for <JPCM> (keycode 103)
Warning: No symbols defined for <I120> (keycode 120)
Warning: No symbols defined for <AE13> (keycode 132)
Warning: No symbols defined for <I149> (keycode 149)
Warning: No symbols defined for <I154> (keycode 154)
Warning: No symbols defined for <I168> (keycode 168)
Warning: No symbols defined for <I178> (keycode 178)
Warning: No symbols defined for <I183> (keycode 183)
Warning: No symbols defined for <I184> (keycode 184)
Warning: No symbols defined for <FK19> (keycode 197)
Warning: No symbols defined for <FK24> (keycode 202)
Warning: No symbols defined for <I217> (keycode 217)
Warning: No symbols defined for <I219> (keycode 219)
Warning: No symbols defined for <I221> (keycode 221)
Warning: No symbols defined for <I222> (keycode 222)
Warning: No symbols defined for <I230> (keycode 230)
Warning: No symbols defined for <I247> (keycode 247)
Warning: No symbols defined for <I248> (keycode 248)
Warning: No symbols defined for <I249> (keycode 249)
Warning: No symbols defined for <I250> (keycode 250)
Warning: No symbols defined for <I251> (keycode 251)
Warning: No symbols defined for <I252> (keycode 252)
Warning: No symbols defined for <I253> (keycode 253)
restored XKB settings for displays: 0
/etc/pm/sleep.d/xkb-save-restore resume suspend: success.
[...]
(the above warnings are the usual ones), the settings are not
restored: some keys of the keyboard don't behave as remapped,
and output of "xkbcomp :0 -" is different from /run/pm-xkb/0
(the diff shows that the settings haven't been restored).
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.11-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages x11-xkb-utils depends on:
ii libc6 2.19-7
ii libx11-6 2:1.6.2-2
ii libxaw7 2:1.0.12-2
ii libxkbfile1 1:1.0.8-1
ii libxt6 1:1.1.4-1
x11-xkb-utils recommends no packages.
x11-xkb-utils suggests no packages.
-- no debconf information
Reply to: