노트북 덮개를 닫아도 화면이 꺼지지 않습니다. Arch 설치 스틱에서 실행하면 이미 존재합니다.
시스템이 다음 이벤트를 기록했기 때문에 이벤트 자체가 올바르게 식별되었습니다.
systemd-logind[500]: Lid opened.
systemd-logind[500]: Lid closed.
덮개를 닫으면 화면이 꺼지도록 시스템에 어떻게 알릴 수 있나요?
답변1
이제 나에게 맞는 답변을 찾았습니다(단일 사용자 시스템).
systemd-logind
손잡이가 있긴 하지만ACPI 이벤트, 에는 표준 옵션 세트인 poweroff
, reboot
, halt
, ...( 참조 man logind.conf
)만 있으며 화면을 개별적으로 포함하지 않습니다.
전임자acpid
덮개 닫기와 같은 ACPI 이벤트를 처리하기 위한 처리기도 제공됩니다. 가장 쉬운 방법은 데모 파일을 망쳐 놓고/etc/acpi/handler.sh
섹션을 변경하는 것입니다.
button/lid)
case "$3" in
close)
logger 'LID closed'
;;
open)
logger 'LID opened'
;;
*)
logger "ACPI action undefined: $3"
;;
도착하다
button/lid)
case "$3" in
close)
logger 'LID closed'
XAUTHORITY=/home/USERNAME/.Xauthority DISPLAY=:0 xset dpms force off
;;
open)
logger 'LID opened'
XAUTHORITY=/home/USERNAME/.Xauthority DISPLAY=:0 xset dpms force on
;;
*)
logger "ACPI action undefined: $3"
;;
(물론 광범위하게 사용하기 위해서는 acpid
이 작업에 대해 별도의 규칙/파일을 생성하는 것이 좋습니다.)
설명하다
xset dpms force off
암시적으로 화면을 닫습니다 $DISPLAY
(그렇지 않은 경우 xset -d $DISPLAY dpms force off
). 이를 위해서는 X
해당 개인의 쿠키(인증 파일)부터 시작해야 합니다 $XAUTHORITY
.
로그인 중에 시작된 경우 X
(표준 사례) 간단한 것만으로도 충분할 수 있습니다.root
xset dpms force off
로그인 셸 구성 X
부터 시작 했습니다 . ~/.shellrc
따라서 디스플레이와 쿠키를 수동으로 제공해야 합니다.
부록
AC가 켜져 있을 때 명령을 사용하지 않음으로써 이를 더욱 세부적으로 조정할 수 있습니다 ( xset
off모두화면이 연결되어 있는데 udev
시스템에서 덮개 스위치가 감지되지 않습니다.
close)
logger 'LID closed'
if [[ $(cat /sys/class/power_supply/AC/online) == 0 ]];then
XAUTHORITY=/home/USERNAME/.Xauthority DISPLAY=:0 xset dpms force off
fi
;;