Shutdown Pressing Power Button
If you want to shutdown your system by simply pressing the power button, do the following:
Install acpid package, if there is no hal in the DAEMONS array in rc.conf add acpid to it and create a file in /etc/acpi/events/ named power with following content:
# /etc/acpi/events/power # This is called when the user presses the power button event=button/power (PWR.||PBTN) action=/sbin/poweroff
To be able to test it start the acpid daemon:
From now on pressing the power button (lightly, not for few seconds) should properly shutdown the system. Note that if you have hibernate configured and working you may want to change the last line with:
However, if you're using more sophisticated WM, you should use its own shutdown call, so it'd save its session etc.
To accomplish it in KDE 3, simply change the action to:
action=/opt/kde/bin/dcop --all-users --all-sessions ksmserver ksmserver logout 0 2 0
For KDE 4, dcop is being phased out in favour of dbus, so as well as the above you could also use:
action=/usr/bin/qdbus org.kde.ksmserver /KSMServer logout 0 2 0
More information on using dbus is here Likewise for XFCE4.4 change the action line to:
action=echo POWEROFF | /usr/lib/xfce4/xfsm-shutdown-helper
Note: For a more robust solution [If you are facing frequent WM crashes or working on a sacrificial PC for developing or testing your software...], you should take a look at "/usr/src/linux/Documentation/sysrq.txt", which is a kernel facility for yielding you [the user...] the CPU so that it could be used for any *rescue* work.