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プロファイルが有効になっています。
Ubuntuバージョン:19.04
GNOMEバージョン:3.32.1
答え1
gnome-session
セッションが開始されると、バックグラウンドで実行され、セッションとは別にタスクacpi
(バックライトの管理、カバースイッチの変更時にシステムの省電力モードの設定など)を実行する独自の電源管理デーモンがあることがわかりました。
私はi3でこれらのイベントを直接傍受する方法やイベントを受け取る別のユーティリティを見つけることに成功しませんでした。しかし今、私は受け入れられる解決策を見つけました。i3 - GNOME
バックグラウンドで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-)
;;