Jak ustawić przycisk zasilania (na obudowie komputera), aby wyłączał system za pomocą `systemd`?

12

Jak ustawić przycisk zasilania (na obudowie komputera, a nie na klawiaturze), aby wyłączał system za pomocą systemd(bez acpid)?


źródło

Odpowiedzi:

11

systemdporadzę sobie z tym. Myślę, że tego potrzebujesz:

Otwórz /etc/systemd/logind.conf( ręczny ):

  • HandlePowerKey: naciśnięcie przycisku zasilania;
  • HandleSuspendKey: naciśnięto przycisk zawieszania.
  • HandleHibernateKey: naciśnięcie przycisku hibernacji.
  • HandleLidSwitch: działanie, gdy pokrywa jest zamknięta.

Akcja może być jednym z ignore, poweroff, reboot, halt, suspend, hibernatelub kexec.

Jeśli nie ma konfiguracji, użyte zostaną wartości domyślne:

  • HandlePowerKey=poweroff
  • HandleSuspendKey=suspend
  • HandleHibernateKey=hibernate
  • HandleLidSwitch=suspend
m0nhawk
źródło
Myślę, że te parametry związane z przyciskami na klawiaturze („Zasilanie”, „Uśpienie” itp.), Prawda? (Niestety nie mogę tego teraz sprawdzić).
Jestem sfrustrowany. =) Jaka jest różnica? Przycisk zasilania to przycisk, za pomocą którego włączasz komputer. W każdym razie długie naciśnięcie tego klawisza zatrzymałoby komputer bez względu na ustawienia systemu operacyjnego.
m0nhawk
Ustawiam wszystko Handle*Keyna ignorowanie, ponieważ przyciski „Zasilanie”, „Uśpienie” i „Obudź” są umieszczone obok strzałek i Enter na mojej klawiaturze. Mogę to nacisnąć przypadkowo. Muszę obsługiwać przycisk zasilania na obudowie komputera .
Czy możesz podać więcej informacji na temat kluczy? Na przykład model klawiatury lub komputera, ponieważ przestaję rozumieć, o których klawiszach mówisz.
m0nhawk
Spójrz na te zdjęcia: link , link
2

Nie widzę, żeby miało to związek z systememd, ale w moim systemie, który ma acpidzainstalowany, reaguje automatycznie na naciśnięcie przycisku zasilania.

Można zdefiniować za pomocą /etc/acpi/handler.sh(On Arch Linux)

stokrotka
źródło
Jest to związane z systemdponieważ systemdzastąpić acpid„s funkcjonalność. Mogę używać obu systemdi acpidtak, ale chcę używać tylko pierwszego. Zredagowałem swoje pytanie.
-1

Uważam, że musisz to skonfigurować w BIOS-ie (jeśli obsługuje). Nie rozumiem, w jaki sposób przycisk zasilania na obudowie ma coś wspólnego z twoim systemem operacyjnym, gdzie przycisk zasilania na klawiaturze współdziała z systemem operacyjnym, ponieważ system operacyjny ładuje sterowniki dla klawiatury.

slafat01
źródło
Widziałem, jak naciśnięcie przycisku zasilania na obudowie powoduje prawidłowe wyłączenie MS Windows. Ogólnie rzecz biorąc, system operacyjny może obsługiwać przycisk zasilania na obudowie.