Comment 22 for bug 553557

Revision history for this message
Tom Chiverton (bugs-launchpad-net-falkensweb) wrote :

Sorry, this is still busted.
If you remove (and purge) acpid and acpi-support and reinstall them (on 10.10), it still breaks.
I commented the last line of /etc/acpi/powerbtn.sh out and then added a 'touch' line to show the detection of KDE fails.

falken@wopr:/tmp$ ls -lah
total 48K
drwxrwxrwt 9 root root 12K 2010-11-10 21:47 .
drwxr-xr-x 26 root root 4.0K 2010-11-05 21:27 ..
drwx------ 2 falken falken 4.0K 2010-11-10 21:47 .esd-1000
drwxrwxrwt 2 root root 4.0K 2010-11-10 21:47 .ICE-unix
drwx------ 2 falken falken 4.0K 2010-11-10 21:47 kde-falken
drwx------ 2 falken falken 4.0K 2010-11-10 21:47 ksocket-falken
drwx------ 2 falken falken 4.0K 2010-11-10 21:47 pulse-s6YhteYQrpJA
drwx------ 2 falken falken 4.0K 2010-11-10 21:47 ssh-rVZOMZ1835
-r--r--r-- 1 root root 11 2010-11-10 21:46 .X0-lock
drwxrwxrwt 2 root root 4.0K 2010-11-10 21:46 .X11-unix

...press power button, hibernates, press power button and machine resumes...

falken@wopr:/tmp$ ls -lah
.
.
.
-rw-r--r-- 1 root root 0 2010-11-10 21:49 fail
.
.
.

Simple testing confirms the X session detected appears to be busted *again*.
root@wopr:~# [ -r /usr/share/acpi-support/power-funcs ] && . /usr/share/acpi-support/power-funcs
root@wopr:~# getXuser() {
> user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'`
> if [ x"$user" = x"" ]; then
> startx=`pgrep -n startx`
> if [ x"$startx" != x"" ]; then
> user=`ps -o user --no-headers $startx`
> fi
> fi
> if [ x"$user" != x"" ]; then
> userhome=`getent passwd $user | cut -d: -f6`
> export XAUTHORITY=$userhome/.Xauthority
> else
> export XAUTHORITY=""
> fi
> export XUSER=$user
> }
root@wopr:~#
root@wopr:~# [ -r /usr/share/acpi-support/power-funcs ] && getXconsole
root@wopr:~# PMS="gnome-power-manager kpowersave xfce4-power-manager"
root@wopr:~# PMS="$PMS guidance-power-manager.py dalston-power-applet"
#now the main if statement from powerbtn.sh, modified to echo what is going on:
root@wopr:~# if pidof x $PMS > /dev/null || ( test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon) || ( test "$XUSER" != "" && test -x /usr/bin/qdbus && test -r /proc/$(pidof kded4)/environ && su - $XUSER -c "eval $(echo -n 'export '; cat /proc/$(pidof kded4)/environ |tr '\0' '\n'|grep DBUS_SESSION_BUS_ADDRESS); qdbus org.kde.kded" | grep -q powerdevil) ; then echo "win"; fi ; echo "fail"
fail
root@wopr:~#