银河麒麟系统无法调节亮度时,需依次检查环境光传感器与背光控制器是否被识别:执行ls /sys/bus/iio/devices/ | grep -E "(light|als|illuminance)"和ls /sys/class/backlight/确认节点存在;若均存在且照度值可变、max_brightness大于0,再启用设置中的自动调节选项;否则需启动kylin-alsd服务或手动绑定背光路径并部署定时调节脚本。

银河麒麟系统无法调节亮度时,屏幕会始终维持固定亮度,既不能响应环境光变化,也无法通过快捷键或设置面板手动调整,常见于新装系统、更换硬件后或驱动异常的场景。
检查环境光传感器与背光控制器是否被系统识别
这一步决定后续所有操作是否有效。若底层硬件节点缺失,图形界面的勾选项将灰显或静默失效。
按下 Ctrl + Alt + T 打开终端,依次执行以下命令:
执行 ls /sys/bus/iio/devices/ | grep -E "(light|als|illuminance)",确认输出类似 iio:device0 的节点;若无任何返回,说明环境光传感器未被内核识别,需检查硬件连接或BIOS中ALS选项是否启用。
执行 ls /sys/class/backlight/,查看是否存在 intel_backlight、acpi_video0 或 ec_bl 等目录;若为空,代表背光控制接口未加载,可能因ACPI支持缺失或显卡驱动未正确安装。
若两个路径均存在,继续执行 cat /sys/bus/iio/devices/iio\:device0/in_illuminance_input 2>/dev/null 和 cat /sys/class/backlight/*/max_brightness,确保照度值随遮挡有明显变化、且某一个背光目录下的 max_brightness 值大于 0 —— 【这是自动调节能生效的硬性前提】。
通过系统设置启用自动亮度调节
该方法仅在传感器和背光控制器均已识别的前提下才可操作成功,适用于日常办公用户,无需命令行基础。
点击左下角【开始】按钮 → 选择【设置】 → 左侧导航栏点击【系统】 → 进入【显示器】页面。
向下滚动至【亮度调节】区域,勾选【根据环境光自动调节亮度】复选框。
若该选项为灰色不可用状态,不要反复点击,立即返回上一步进行终端检测——【此时强行重启或重装桌面环境无法解决问题】。
启动并验证 kylin-alsd 环境光服务
即使传感器节点存在,若守护进程未运行,系统仍无法读取照度数据并触发亮度变化。
方法一:临时启动服务
在终端中执行 sudo systemctl start kylin-alsd.service。
执行 sudo systemctl is-active kylin-alsd.service,返回 active 即表示服务已就绪。
方法二:设置开机自启
运行 sudo systemctl enable kylin-alsd.service,避免每次重启后手动启动。
注意:若执行 start 后提示 Failed to start kylin-alsd.service: Unit kylin-alsd.service not found,说明系统未预装该服务包,需先运行 sudo apt install kylin-alsd 安装。
手动绑定背光路径并部署调节脚本
当 /sys/class/backlight/ 下存在多个控制器(如同时有 intel_backlight 和 ec_bl),而默认控制器不响应 ALS 输入时,必须显式指定可用路径。
第一步:确认可用背光设备
执行 ls /sys/class/backlight/,对每个子目录运行:cat /sys/class/backlight/[DIR]/max_brightness 和 ls -l /sys/class/backlight/[DIR]/actual_brightness(确认权限为 -w-)。
选取 max_brightness 非零且 actual_brightness 可写入的目录,例如 ec_bl。
第二步:创建映射脚本
执行 sudo nano /usr/local/bin/als-backlight.sh,写入以下内容(以 ec_bl 为例):
#!/bin/bash<br> ILLUM=$(cat /sys/bus/iio/devices/iio\:device0/in_illuminance_input 2>/dev/null || echo 0)<br> BRIGHTNESS=100<br> if [ $ILLUM -lt 10 ]; then BRIGHTNESS=20<br> elif [ $ILLUM -lt 50 ]; then BRIGHTNESS=40<br> elif [ $ILLUM -lt 200 ]; then BRIGHTNESS=60<br> else BRIGHTNESS=100<br> fi<br> echo $BRIGHTNESS | sudo tee /sys/class/backlight/ec_bl/brightness > /dev/null
第三步:赋予执行权限并测试
执行 sudo chmod +x /usr/local/bin/als-backlight.sh,然后直接运行一次:sudo /usr/local/bin/als-backlight.sh,观察屏幕亮度是否随遮挡变化。
第四步:添加定时任务
执行 sudo crontab -e,在末尾新增一行:*/10 * * * * /usr/local/bin/als-backlight.sh,实现每10分钟自动调节。

















