Rechner per Power Knopf runterfahren: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
MacWolf (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K /sbin/poweroff → systemctl poweroff
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Um den Rechner per Power-Knopf herunterzufahren, braucht man den '''acpid'''-Daemon und das Kernel-Modul '''button'''. Das button-Modul sollte normalerweise automatisch geladen werden. Falls nicht, muss es in der ''/etc/rc.conf'' in das MODULES=() Array eingetragen werden. Das Paket für den acpid-Daemon heißt ''acpid''.
Mit der Standardkonfiguration von [[systemd]] sollte das Herunterfahren des Rechners beim Betätigen des Power-Knopfs "out-of-the-box" funktionieren.  
Welche Aktion ausgelöst wird kann man bei Bedarf über die Variable {{ic|HandlePowerKey}} in {{ic|/etc/systemd/logind.conf}} ändern.
 
Falls das ganze nicht funktionieren sollte kann man es mit dem acpi-daemon probieren.
 
  pacman -S acpid
  pacman -S acpid
Damit der Daemon beim Booten gestartet wird, muss er zum DAEMONS=() Array in der /etc/rc.conf hinzugefügt werden.
 
Jetzt muss nur noch der Befehl zum herunterfahren ''/sbin/poweroff'' oder ''/sbin/halt'' an der richtigen Stelle in das Script, dass auf ACPI-Events reagiert, eingetragen werden. Die Datei heißt /etc/acpi/handler.sh
Daemon dauerhaft aktivieren
 
systemctl enable acpid.service
 
Außerdem wird noch das Kernel Modul {{ic|button}} benötigt. Sollte es nicht automatisch geladen werden, muss dies manuell gemacht werden, siehe
[[Kernelmodule]]
 
Jetzt muss noch der Befehl zum Herunterfahren {{ic|systemctl poweroff}} an der richtigen Stelle in das Script, das auf ACPI-Events reagiert, eingetragen werden. Die Datei heißt {{ic|/etc/acpi/handler.sh}}


Die entsprechende Stelle sieht dann z.B. so aus.
Die entsprechende Stelle sieht dann z.B. so aus.
  button/power)
button/power)
                #echo "PowerButton pressed!">/dev/tty5
              #echo "PowerButton pressed!">/dev/tty5
                case "$2" in
              case "$2" in
                          PWRF)  logger "PowerButton pressed: $2"
                          PWRF)  logger "PowerButton pressed: $2"
                                      '''/sbin/halt;;'''
                                      '''systemctl poweroff;;'''
                          *)  logger "ACPI action undefined: $2" ;;
                          *)  logger "ACPI action undefined: $2" ;;
                esac
              esac
                ;;
              ;;


Natürlich kann man statt ''/sbin/halt'' auch andere Befehle angeben, die dann beim drücken des Power-Knopfs ausgeführt werden.
Natürlich kann man anstatt {{ic|systemctl poweroff}} auch andere Befehle angeben, die dann beim Drücken des Power-Knopfs ausgeführt werden.


[[Kategorie:Tipps und Tricks]]
[[Kategorie:Tipps und Tricks]]
[[Kategorie:Hardware]]
[[Kategorie:Hardware]]

Aktuelle Version vom 26. Oktober 2013, 03:33 Uhr

Mit der Standardkonfiguration von systemd sollte das Herunterfahren des Rechners beim Betätigen des Power-Knopfs "out-of-the-box" funktionieren. Welche Aktion ausgelöst wird kann man bei Bedarf über die Variable HandlePowerKey in /etc/systemd/logind.conf ändern.

Falls das ganze nicht funktionieren sollte kann man es mit dem acpi-daemon probieren.

pacman -S acpid

Daemon dauerhaft aktivieren

systemctl enable acpid.service

Außerdem wird noch das Kernel Modul button benötigt. Sollte es nicht automatisch geladen werden, muss dies manuell gemacht werden, siehe Kernelmodule

Jetzt muss noch der Befehl zum Herunterfahren systemctl poweroff an der richtigen Stelle in das Script, das auf ACPI-Events reagiert, eingetragen werden. Die Datei heißt /etc/acpi/handler.sh

Die entsprechende Stelle sieht dann z.B. so aus.

button/power)
              #echo "PowerButton pressed!">/dev/tty5
              case "$2" in
                         PWRF)   logger "PowerButton pressed: $2"
                                     systemctl poweroff;;
                         *)   logger "ACPI action undefined: $2" ;;
              esac
              ;;

Natürlich kann man anstatt systemctl poweroff auch andere Befehle angeben, die dann beim Drücken des Power-Knopfs ausgeführt werden.