/
usr
/
share
/
doc
/
acpid
/
examples
/
/usr/share/doc/acpid/examples
mkdir
upload
Name
Size
Mode
Actions
ac
308
0644
edit
dl
rm
ac.sh
1143
0644
edit
dl
rm
default
630
0644
edit
dl
rm
default.sh
629
0644
edit
dl
rm
powerbtn
423
0644
edit
dl
rm
powerbtn.sh
2012
0644
edit
dl
rm
Edit:
/usr/share/doc/acpid/examples/powerbtn.sh
(2012B)
#!/bin/sh # /etc/acpi/powerbtn.sh # Initiates a shutdown when the power putton has been # pressed. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! 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 } # Skip if we just in the middle of resuming. test -f /var/lock/acpisleep && exit 0 # If the current X console user is running a power management daemon that # handles suspend/resume requests, let them handle policy This is effectively # the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file. getXconsole PMS="gnome-power-manager kpowersave xfce4-power-manager" PMS="$PMS guidance-power-manager.py dalston-power-applet" if pidof -x $PMS > /dev/null; then exit elif test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; then exit elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then kded4pid=$(pgrep -n -u $XUSER kded4) if test "$kded4pid" != ""; then dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ") if test "$dbusaddr" != "" && su - $XUSER -c "export $dbusaddr; qdbus org.kde.kded" | grep -q powerdevil; then exit fi fi fi # If all else failed, just initiate a plain shutdown. /sbin/shutdown -h now "Power button pressed"
Save
cmd:
run