런타임 중에 시스템 HandleLidSwitch 설정을 변경하시겠습니까?

런타임 중에 시스템 HandleLidSwitch 설정을 변경하시겠습니까?

설정은 다음과 같이 HandleLidSwitch정의됩니다 /etc/systemd/logind.conf.

HandleLidSwitch=<hibernate,ignore,...>

부팅 시 설정이 성공적으로 적용됩니다. 그러나 AC 상태에 따라 런타임 중에 설정을 변경하고 싶습니다.

노트북이 충전 중이라면 를 사용하세요 HandleLidSwitch=ignore. 내 노트북이 배터리를 사용하고 있다면 를 사용하세요 HandleLidSwitch=suspend.

이것이 현재 systemd로 어떻게든 실현될 수 있습니까?

답변1

로그인은 다음을 제공합니다억제제 잠금사용자 소프트웨어가 시스템 정책을 무시할 수 있도록 하는 메커니즘입니다. 예를 들어 Gnome은 활성화된 동안 모든 ACPI 버튼과 스위치를 제어할 수 있습니다. 장치가 연결되어 있을 때 "손잡이-뚜껑-스위치"를 금지하고 플러그를 뽑을 때 잠금 장치를 해제하는 데 사용할 수 있습니다.

가장 좋은 접근 방식은 DBus 바인딩이 있는 언어로 스크립트를 작성하고 logind의 방법을 사용하는 것이지만 systemd는 쉘 스크립트에서 사용할 수 있는 명령을 Inhibit()제공합니다 . systemd-inhibit하위 프로세스가 종료될 때까지 잠금을 유지하는 래퍼로 사용하기 위한 것입니다.

systemd-inhibit --what=handle-lid-switch SOME_COMMAND_HERE

PS 이것은 모두 이미 "handle-lid-switch"를 차단하고 있는 데스크탑 환경을 사용하고 있지 않다고 가정합니다. 인수 없이 실행하면 systemd-inhibit기존 억제제가 나열됩니다.

관련 정보