web-dev-qa-db-ja.com

dbus-sendでキーボードのバックライトを変更できない

私はkdeデスクトップ環境を持っています Fn + F3 / F4 ボタンはキーボードの明るさを変更できません。

また、グローバルショートカットメニューでキーボードの明るさを増減するために他のキーを割り当てますが、再び機能しません。


だから私はこのコマンドで輝度レベルを変更しようとします:

echo 3 | Sudo tee /sys/class/leds/asus::kbd_backlight/brightness

キーボードの明るさの変更に成功しました

しかし、kdeはdbusを使用してキーボードの明るさを変更するため、このコマンドを使用しようとしています( Arch wiki にあります)。

dbus-send --type=method_call --print-reply=literal --system --dest='org.freedesktop.UPower' '/org/freedesktop/UPower/KbdBacklight' 'org.freedesktop.UPower.KbdBacklight.SetBrightness' int32:2

しかし、明るさはまったく変わらず、このエラーが発生しました:

Error org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.UPower.KbdBacklight” on object at path /org/freedesktop/UPower/KbdBacklight

だから私はそのファイルの許可を変更しようとします:

Sudo chmod 666 /sys/class/leds/asus::kbd_backlight/brightness

utしかし、私はキーボードの明るさを変更することはできません Fn + F3 / F4 またはdbusをもう一度。


追加情報:

Fn + F3 または F4 キーの組み合わせはうまく機能し、信号送信がうまくいくことがわかります:

$ xev | sed -n 's/^.*state \([0-9].*\), keycode *\([0-9]\+\) *\(.*\), .*$/keycode \2 = \3, state = \1/p'
keycode 237 = (keysym 0x1008ff06, XF86KbdBrightnessDown), state = 0x10
keycode 237 = (keysym 0x1008ff06, XF86KbdBrightnessDown), state = 0x10
keycode 238 = (keysym 0x1008ff05, XF86KbdBrightnessUp), state = 0x10
keycode 238 = (keysym 0x1008ff05, XF86KbdBrightnessUp), state = 0x10

それでは、どうすればdbusでキーボードの明るさを変更できますか?

2
Tara S Volpe

前にも言ったように、0.99.8-2バージョンのupowerパッケージを使用しています。

upowerの最後のアップデートでは、Debian不安定版、Arch Linux、Ubuntu cosmicなどの多くのディストリビューションユーザーがこの問題に遭遇しています。

たとえば、 this 問題はあなたのものに関連し、upower GitLabページで開きました。

そのリンクによれば、この方法はあなたの問題を解決するはずです(debian sidの私の問題を解決しました):

1. upowerサービスの構成をオーバーライドします。

Sudo systemctl edit upower.service

2.次の行を書き込みます:

[Service]
ProtectKernelTunables=false

3.このコマンドで変更を確認します。

systemctl show upower.service | grep ProtectKernelTunables

この出力が表示される場合は、正しく実行しました。

ProtectKernelTunables=no

ProtectKernelTunables=パラメーターの詳細については、 このリンク を参照してください。

4.システムを再起動します(upowerおよびdbusサービスを再起動することもできますが、システムを再起動してすべてのサービスを完全に再起動できます)。

5.キーボードのバックライトを確認します。 journalctl | grep -i upowerdコマンドの出力には、次のようなものは表示されないはずです。

upowerd[2907]: up_kbd_backlight_brightness_read: assertion 'fd >= 0' failed

キーボードのバックライトは次のように変更する必要があります Fn + F3 そして Fn + F4 キーの組み合わせまたはdbusコマンド:

dbus-send --type=method_call --print-reply=literal --system --dest='org.freedesktop.UPower' '/org/freedesktop/UPower/KbdBacklight' 'org.freedesktop.UPower.KbdBacklight.SetBrightness' int32:3
1
Ali Razmdideh