我有 kde 桌面环境,Fn+ F3/F4按钮无法改变键盘亮度。
我还在全局快捷菜单中指定其他键来增加或减少键盘亮度,但它不再起作用。
因此我尝试通过此命令改变亮度级别:
echo 3 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
键盘亮度变化成功地。
但是 kde 使用 dbus 来改变键盘亮度,所以我尝试使用这个命令(可以在Arch 维基):
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
但我无法再通过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 改变键盘亮度?
答案1
正如您所说,您正在使用包0.99.8-2
的版本upower
。
在最近更新的upower
许多发行版用户,如Debian stable,Arch linux,Ubuntu cosmic,都遇到了这个问题。
例如这问题与您的相关,已在upower
GitLab 页面中打开。
根据该链接,这种方法应该可以解决你的问题(它解决了我在 debian sid 上的问题):
upower
1.对服务进行覆盖配置:
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