gnome-session과 i3의 acpi_listen이 다른 이벤트를 표시하는 이유는 무엇입니까?

gnome-session과 i3의 acpi_listen이 다른 이벤트를 표시하는 이유는 무엇입니까?

gnome-session 또는 ubuntu-session을 실행 acpi_listen하고 키보드의 밝기 높이기/낮추기 키를 누르면 다음과 같은 결과가 나타납니다.

video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

에서 xev:

KeymapNotify event, serial 38, synthetic NO, window 0x0,
    keys:  4294967216 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 38, synthetic NO, window 0x2000001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 38, synthetic NO, window 0x2000001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 38, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

그리고 화면 밝기가 올바르게 조정되었습니다. 그러나 i3wm을 실행할 때 실행 acpi_listen하거나 키를 눌러도 xev출력이 표시되지 않습니다 .

두 환경 모두에서 dmesg다음이 표시됩니다.

[ 5237.752419] atkbd serio0: Unknown key pressed (translated set 2, code 0xab on isa0060/serio0).
[ 5237.752426] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.
[ 5237.763659] atkbd serio0: Unknown key released (translated set 2, code 0xab on isa0060/serio0).
[ 5237.763666] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.

i3wm 세션에서 실행/구성하는 대신 키 누르기/트리거 acpi 이벤트를 가져오기 위해 gnome 기반 세션에서 어떤 서비스가 실행되고 있습니까?

또 다른 흥미로운 점은 gnome 세션에서는 button/lid LID close덮개가 닫힐 때 acpi_event가 발생하지만 i3wm에서는 KEY_WLAN 이벤트가 발생한다는 것입니다.


노트북: HP 15-cx0056wm(Intel 통합 그래픽 및 Nvidia 1050Ti 포함)

Nvidia 드라이버 버전: nvidia-driver-418, 현재 Nvidia OPTIMUS 프로필이 활성화되어 있습니다.

우분투 버전: 19.04

그놈 버전: 3.32.1

답변1

gnome-session세션이 시작되면 백그라운드에서 실행되고 세션과 별도로 작업 acpi(예: 백라이트 관리, 덮개 스위치 변경 시 시스템 절전 모드 설정 등)을 수행 하는 자체 전원 관리 데몬이 있다는 것을 발견했습니다 .

나는 i3에서 이러한 이벤트를 직접 가로채는 방법이나 이벤트를 수신하는 별도의 유틸리티를 찾는 데 성공하지 못했습니다. 그러나 이제 나는 받아들일 수 있는 해결책을 찾았습니다.i3-그놈

백그라운드에서 gnome 서비스를 시작하고 i3wm을 창 관리자로 실행할 수 있습니다. 이로 인해 내 백라이트와 덮개 전환은 gnome Power 데몬에 의해 처리되고 내 창은 i3wm에 의해 관리됩니다.

답변2

acpid는 창 관리자나 데스크탑 관리자 없이도 acpi 이벤트 비디오/밝기 높이기, 비디오/밝기 낮추기 및 덮개, 전원 버튼, 볼륨 높이기/낮추기 등을 처리할 수 있습니다. /etc/acpi/handler.sh를 편집했는데 백라이트와 볼륨 버튼이 콘솔에서도 작동합니다.

video/brightnessup)
        (echo $(( $(cat /sys/class/backlight/intel_backlight/brightness)+5 )) >/sys/class/backlight/intel_backlight/brightness )
        ;;
video/brightnessdown)
        (echo $(( $(cat /sys/class/backlight/intel_backlight/brightness)-5 )) >/sys/class/backlight/intel_backlight/brightness )
        ;;
button/screenlock)
        logger "screenlock Fn + F7 pressed"
        ;;
0B3CBB35-E3C2-)
        logger "acpi tag 0B3CBB35-E3C2- misc"
        ;;
button/mute)
        logger "mute Fn + f10 toggle pressed"
        (amixer -q sset Master,0 toggle)
        ;;
button/volumeup)
        logger "volumeup Fn + F12 pressed"
        (amixer -q sset Master,0 2dB+)
        ;;
button/volumedown)
        logger "volumedown Fn + F11 pressed"
        (amixer -q sset Master,0 2dB-)
        ;;

관련 정보