在 i3 中控制屏幕亮度

Luí*_*usa 8 i3 brightness

我想在带有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
Run Code Online (Sandbox Code Playgroud)

在另一个论坛中xbacklight建议将该程序作为控制i3亮度的手段。但是,它在我迄今为止尝试过的笔记本电脑中失败了:

$ xbacklight -inc 10
No outputs have backlight property
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以控制i3 中的亮度?

小智 14

要更改屏幕亮度,您可以使用xrandr.

为此,您可以执行以下操作:

xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1
Run Code Online (Sandbox Code Playgroud)

这将返回所有连接的监视器(例如LVDS-1DVI-D-0例如)。

现在,要更改屏幕亮度,请执行以下命令(替换DVI-D-0之前的命令输出):

xrandr --output DVI-D-0 --brightness 0.7
Run Code Online (Sandbox Code Playgroud)

例如,此命令将亮度设置为 70%。

我希望它会有所帮助!

  • 请注意,它只会**模拟**屏幕亮度。 (7认同)

小智 10

brightnessctl可用于设置实际设备亮度。


小智 6

我的解决方案。它在 Ubuntu 20.04 上进行了测试。

  1. sudo apt install light

  2. sudo chmod +s /usr/bin/light

  3. 添加到 i3 配置:

    bindsym XF86MonBrightnessUp exec light -A 1 # increase screen brightness
    bindsym XF86MonBrightnessDown exec light -U 1 # decrease screen brightness

  • 在运行 i3 的 Ubuntu 21.10 上需要 chmod 命令 (2认同)

Try*_*431 5

从我的旧答案复制到一个问题:XF86MonBrightnessUp/XF86MonBrightnessDown 特殊键不起作用


编辑:如下所述,您必须acpi在计算机上安装这些才能工作:)

编辑 2:此代码将亮度值增加/减少 1,但某些型号的值范围为数千,因此请相应地修改更改。

这是一个老问题,但答案可能对其他人有帮助。我在笔记本电脑上全新安装时遇到了一个问题i3wm,无论出于何种原因,我的XF86MonBrightnessUp/Down密钥没有被注册(我检查过xev)。我最终要做的是创建acpi与按下的键相对应的操作和事件。

/etc/acpi/actions以下是我分别在和 中定义的操作/事件/etc/acpi/events

行动

/etc/acpi/actions/bl-down.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)-1)) | sudo tee $bl_device
Run Code Online (Sandbox Code Playgroud)

/etc/acpi/actions/bl-up.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)+1)) | sudo tee $bl_device
Run Code Online (Sandbox Code Playgroud)

活动

/etc/acpi/events/bl-down

event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl-down.sh
Run Code Online (Sandbox Code Playgroud)

/etc/acpi/events/bl-up

event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl-up.sh
Run Code Online (Sandbox Code Playgroud)

您可以在终端中使用acpi_listen,然后按相关的组合键(例如,对我来说,Fn + 向下箭头可降低亮度)来验证您的亮度上/下 acpi 事件代码。

最后,不要忘记重新acpid启动sudo /etc/init.d/acpid reload

注意:您的背光设备可能定义在与/sys/class/backlight/acpi_video0我的背光设备所在的位置不同的位置。做一些探索。