Ubuntu
為什麼 acpi_listen 顯示 gnome-session 與 i3 的不同事件?
當我
acpi_listen
在執行 gnome-session 或 ubuntu-session 時執行,並按下鍵盤上的 Brightness Up/Down 鍵,我得到如下輸出: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
並且螢幕的亮度調整正確。
acpi_listen
但是,在執行 i3wm 時,執行或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.
什麼服務將在基於 gnome 的會話中執行,該會話正在拾取按鍵/觸發 acpi 事件,而不是在 i3wm 會話中執行/配置?
另一個有趣的事情是,在 gnome 會話中,
button/lid LID close
acpi_event 會在蓋子關閉時觸發,但在 i3wm 中會觸發 KEY_WLAN 事件。筆記型電腦:HP 15-cx0056wm(帶英特爾集成顯卡和 Nvidia 1050Ti)
Nvidia 驅動程序版本:nvidia-driver-418,Nvidia OPTIMUS 配置文件目前已啟用
Ubuntu 版本:19.04
侏儒版本:3.32.1
我發現它
gnome-session
有自己的電源管理守護程序,一旦會話開始,它就會在後台執行,並執行acpi
與我一直沒有成功地找出如何在 i3 中直接攔截這些事件,或者找到一個單獨的實用程序來為我收聽它們。但是,我現在在i3-gnome中找到了一個可以接受的解決方案
它在後台啟動 gnome 服務,同時允許 i3wm 作為視窗管理器執行。這導致我的背光和蓋子開關由 gnome 電源守護程序處理,而我的視窗由 i3wm 管理。