我想在带有Fn键的英特尔笔记本电脑中控制i3的屏幕亮度。这些键可与任何其他 DE 一起使用。
首先确保可用的设备是英特尔:
$ ls -l /sys/class/backlight/
total 0
lrwxrwxrwx 1 root root 0 juin 24 18:26 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight
在另一个论坛中,建议将该程序xbacklight
作为控制i3亮度的方法。然而,它在我迄今为止尝试过的笔记本电脑中失败了:
$ xbacklight -inc 10
No outputs have backlight property
有没有其他方法可以控制i3的亮度?
brightnessctl
可用于设置实际设备亮度。要更改屏幕亮度,您可以使用
xrandr
.为此,您可以执行以下操作:
这将返回所有连接的监视器(
LVDS-1
例如DVI-D-0
)。现在,要更改屏幕亮度,请执行以下命令(用
DVI-D-0
前面的命令输出替换):例如,此命令将亮度设置为 70%。
我希望它会有所帮助!
我的解决方案。它在 Ubuntu 20.04 上进行了测试。
sudo apt install light
sudo chmod +s /usr/bin/light
添加到 i3 配置:
bindsym XF86MonBrightnessUp exec --no-startup-id light -A 1 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id light -U 1 # decrease screen brightness
从我的旧答案复制到一个问题:XF86MonBrightnessUp/XF86MonBrightnessDown special keys not working
编辑:如下所述,您必须
acpi
在您的机器上安装这些才能工作:)编辑 2:此代码将亮度值递增/递减 1,但某些型号的值会在数千范围内,因此请相应地修改更改。
这是一个老问题,但答案可能对其他人有所帮助。我在笔记本电脑上全新安装时遇到了一个问题
i3wm
,无论出于何种原因,我的XF86MonBrightnessUp/Down
密钥都没有被注册(我检查了xev
)。我最终做的是创建acpi
与按下的键相对应的动作和事件。以下是我分别在
/etc/acpi/actions
和/etc/acpi/events
中定义的动作/事件:行动
/etc/acpi/actions/bl-down.sh
/etc/acpi/actions/bl-up.sh
活动
/etc/acpi/events/bl-down
/etc/acpi/events/bl-up
您可以通过
acpi_listen
在终端中使用并按下相关的组合键(例如,对我来说,它是 Fn + 向下箭头来降低亮度)来验证您的亮度升高/降低 acpi 事件代码。最后,不要忘记重新
acpid
启动sudo /etc/init.d/acpid reload
注意:您的背光设备可能定义在不同的位置,而
/sys/class/backlight/acpi_video0
这正是我的位置。做一些闲逛。有 2 个
xbacklight
。在 Archlinux 中(在您的发行版中可能相同),一个来自 https://xorg.freedesktop.org/ 的包,另一个来自xorg-xbacklight
https://gitlab.com/wavexx/acpilight的包。如果一个不起作用,也许另一个会。acpilight
的描述
xorg-xbacklight
说:并从
acpilight
链接:所以,这可能是你
xbacklight
不工作的原因。我目前的解决方案:
获取默认显示(例如 DVI-0)
xrandr -q | grep " connected " | cut -d' ' -f1 | head -n 1
添加以下内容以
~/.config/i3/config
将 DVI-0 替换为您的显示器这里是基于 bash 脚本的解决方案
xrandr
: 首先创建一个文件来存储当前的亮度值,使用echo 1.o > brightness.txt
. 现在可以使用以下 bash 脚本:假设调用了上面的脚本,
brightness.sh
那么它可以用作:并且由于您使用
i3
,您可以将键绑定到这些命令。例如,您可以将这些行添加到您的i3-config
:进一步将这些行添加到您
i3-config
的最后一次使用的亮度值:对于使用 xrandr 来说,inspired_Blue 答案是一个很好的答案,但它不完整,我建议在 bash 脚本的末尾添加这些行以使其工作:
小心检查您的显示名称
xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1
如 Jae Beojkkoch 所示。在我的例子中,名称是 LVDS-1。
第一行使用新的亮度值重写 txt 文件,第二行用于使用 xrandr 设置亮度。
安装
ddcutil
。您可能需要先安装i2c-tools
并运行并将您的用户名添加到 i2c 组:
你可以运行:
看看什么是可以控制的
要增加/减少背光,您可以执行以下操作:
分别。
有关
ddcutil
我建议您查看文档的更多信息: https ://www.ddcutil.com/command_setvcp/