最可靠的方式是直接操作 /sys/class/backlight/:先用 ls /sys/class/backlight/ 查接口名(如 intel_backlight),再读取 max_brightness 和 brightness,最后以 root 权限写入目标值(0 到 max 之间整数),该方法控制硬件背光、省电且兼容 Intel/NVIDIA/AMD 现代笔记本。

直接写 /sys/class/backlight/ 是最可靠的方式
几乎所有现代笔记本(Intel/NVIDIA/AMD)的内置屏亮度都由内核通过 /sys/class/backlight/ 暴露。这不是“备选方案”,而是底层事实——xrandr --brightness 只是软件叠加,不改背光,也不省电。
先确认你的 backlight 接口名:
ls /sys/class/backlight/
常见输出是 intel_backlight、amdgpu_bl0 或 acpi_video0。选一个进去看 max_brightness 和当前 brightness:
cat /sys/class/backlight/intel_backlight/{max_brightness,brightness}
假设输出是 4882 和 2441,那 50% 亮度就是 2441。写入需 root 权限:
sudo sh -c 'echo 3000 > /sys/class/backlight/intel_backlight/brightness'
- 值必须是整数,且在
0到max_brightness之间(超出会报错) - 某些机器(如部分 Dell/HP)用
acpi_video0,但可能被内核禁用;若写入无效,试试echo 1 > /sys/class/backlight/acpi_video0/bl_power唤醒它 - 普通用户免 sudo?加 udev 规则,例如
SUBSYSTEM=="backlight", ACTION=="add", RUN+="/bin/sh -c 'chown :video /sys/class/backlight/%k/brightness && chmod g+w /sys/class/backlight/%k/brightness'"
xrandr --brightness 适合外接显示器或临时调试
这个命令不碰硬件,只对 GPU 输出做 gamma 和亮度乘法,所以能立刻生效、无需权限,但副作用明显:颜色发灰、对比度下降、功耗不变。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
先查输出名:
xrandr | grep " connected" | awk '{print $1}'
比如输出 eDP-1(内置屏)或 HDMI-1(外接),然后设为 80%:
xrandr --output eDP-1 --brightness 0.8
- 数值范围是
0.1~1.0,0.1会极暗但未必黑屏,1.0是原始信号 - 多显示器必须分别设置,
--brightness不支持全局生效 - 重启或休眠后失效——它只是 X server 的运行时参数,不是持久配置
xbacklight 看似方便,但依赖驱动支持和 ACPI 正常工作
xbacklight 本质是封装了对 /sys/class/backlight/ 的读写,并尝试通过 RandR 协议通信。但它在很多新硬件上根本没反应,尤其当 intel_backlight 存在但 xbacklight 报 No outputs have backlight property 时,说明它没找到匹配的 RandR 输出属性。
- 安装:
sudo apt install xbacklight - 设为 60%:
xbacklight -set 60(注意是百分比,不是绝对值) - 失败常见原因:Wayland 会话下不可用、显卡驱动未暴露 backlight 属性、ACPI 表缺失或损坏
- 别指望它比直接写 sysfs 更稳定——它只是多了一层抽象,没解决根本兼容性问题
避免踩坑:重启后亮度重置、自动调节干扰、权限反复输密码
Ubuntu 默认不会保存亮度值,每次开机都回退到 BIOS 或固件初始值。想固化,不能靠桌面环境设置,得从系统层下手:
- 开机自动设亮度:写入
/etc/rc.local(需启用该服务)或新建 systemd service,执行echo 3200 > /sys/class/backlight/intel_backlight/brightness - 关掉自动亮度:检查是否启用了
light、redshift或 GNOME 的自动亮度(gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled false) - 免密码输 sudo:把用户加入
video组 + 设置 udev 规则(见上文),比改/etc/sudoers安全得多 - 别用
setpci:虽然老教程提它,但现代内核已屏蔽多数 VGA 寄存器直写,强行操作可能触发 IOMMU fault 或直接无响应
真正稳定的亮度控制,永远始于看清自己用的是哪个 backlight 接口,而不是套用网上搜来的“一键脚本”。

















