Difference between revisions of "Shutdown Pressing Power Button"

From ArchWiki
Jump to: navigation, search
(cleanup)
m
Line 1: Line 1:
 
[[Category:Power management (English)]]
 
[[Category:Power management (English)]]
 
[[Category:HOWTOs (English)]]
 
[[Category:HOWTOs (English)]]
 
 
{{i18n_links_start}}
 
{{i18n_links_start}}
 
{{i18n_entry|English|Shutting system down by pressing the power button}}
 
{{i18n_entry|English|Shutting system down by pressing the power button}}
Line 14: Line 13:
  
 
#Install the [[acpid]] package.
 
#Install the [[acpid]] package.
#If there is no hal in the DAEMONS array in rc.conf, add acpid to the DAEMONS array.
+
#If there is no ''hal'' in the DAEMONS array in [[rc.conf]], add ''acpid'' to the DAEMONS array.
 
#Create a file in ''/etc/acpi/events/'' named ''power'' with following content:
 
#Create a file in ''/etc/acpi/events/'' named ''power'' with following content:
 
  # /etc/acpi/events/power
 
  # /etc/acpi/events/power
Line 22: Line 21:
 
  action=/sbin/poweroff
 
  action=/sbin/poweroff
 
To be able to test it, start the acpid daemon:
 
To be able to test it, start the acpid daemon:
  /etc/rc.d/acpid start
+
  # /etc/rc.d/acpid start
  
From now on, pressing the power button (lightly, not for few seconds) should properly shutdown the system.
+
From now on, pressing the power button (lightly, not for a 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:
 
Note that if you have '''hibernate''' configured and working you may want to change the last line with:
 
  action=/usr/sbin/hibernate
 
  action=/usr/sbin/hibernate
Line 35: Line 34:
 
For '''KDE 4''', dcop is being phased out in favour of dbus, so as well as the above you could also use:
 
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''
 
  ''action=/usr/bin/qdbus org.kde.ksmserver /KSMServer logout 0 2 0''
More information on using dbus is [http://samwiseandthestereotypical.blogspot.com/2008/09/using-dbus-and-ksmserver-to-logout-and.html here]
+
'''''Note:''' More information on using dbus is [http://samwiseandthestereotypical.blogspot.com/2008/09/using-dbus-and-ksmserver-to-logout-and.html here].''
 +
 
 
Likewise for '''XFCE4.4''' change the action line to:  
 
Likewise for '''XFCE4.4''' change the action line to:  
 
  ''action=echo POWEROFF | /usr/lib/xfce4/xfsm-shutdown-helper''
 
  ''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.''
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.
+

Revision as of 14:51, 15 December 2008

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

If you want to shutdown your system by simply pressing the power button, do the following:

  1. Install the acpid package.
  2. If there is no hal in the DAEMONS array in rc.conf, add acpid to the DAEMONS array.
  3. 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:

# /etc/rc.d/acpid start

From now on, pressing the power button (lightly, not for a 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:

action=/usr/sbin/hibernate

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

Note: 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.