설명하다

설명하다

노트북 덮개를 닫아도 화면이 꺼지지 않습니다. 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(표준 사례) 간단한 것만으로도 충분할 수 있습니다.rootxset dpms force off

로그인 셸 구성 X부터 시작 했습니다 . ~/.shellrc따라서 디스플레이와 쿠키를 수동으로 제공해야 합니다.


부록

AC가 켜져 있을 때 명령을 사용하지 않음으로써 이를 더욱 세부적으로 조정할 수 있습니다 ( xsetoff모두화면이 연결되어 있는데 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
            ;;

관련 정보