MacBook Air安装Ubuntu 22.04.3 LTS后,如何设置键盘背光在闲置X分钟后自动熄灭?
MacBook Air安装Ubuntu 22.04.3 LTS后,如何设置键盘背光在闲置X分钟后自动熄灭?
嗨Koen,我之前帮朋友处理过类似的MacBook+Ubuntu键盘背光自动熄灭的问题,给你几个可行的方案,你可以按顺序试试:
方案一:用GNOME系统配置直接设置(最简便)
Ubuntu 22.04默认用GNOME桌面,先试试系统自带的配置:
- 打开系统设置 → 电源,看看有没有「键盘背光闲置超时」的选项,如果有直接设置你需要的分钟数就行
- 如果找不到这个选项,打开终端用
gsettings命令手动配置:- 先查看当前的超时设置(如果没设置过可能返回
0,表示不自动熄灭):gsettings get org.gnome.settings-daemon.plugins.power keyboard-backlight-timeout - 设置超时时间,比如设为300秒(5分钟):
gsettings set org.gnome.settings-daemon.plugins.power keyboard-backlight-timeout 300 - 如果执行时提示键不存在,先启用电源插件:
gsettings set org.gnome.settings-daemon.plugins.power active true
- 先查看当前的超时设置(如果没设置过可能返回
方案二:用脚本+定时器自定义控制(更灵活)
如果方案一不生效,可能是MacBook的硬件适配问题,试试用脚本手动控制:
- 先安装
light工具(专门用来控制背光的小工具):sudo apt install light - 创建一个自动控制脚本,比如在你的用户目录下新建
keyboard_backlight_auto.sh,内容如下:#!/bin/bash # 自定义闲置超时时间(单位:秒,这里设为5分钟=300秒) IDLE_TIMEOUT=300 # 获取系统当前闲置时长(需要先安装xprintidle:sudo apt install xprintidle) IDLE_TIME=$(xprintidle) # 获取当前键盘背光亮度 CURRENT_BRIGHTNESS=$(light -s sysfs/leds/smc::kbd_backlight -G) # 如果闲置时间超过设定值,且背光还亮着,就熄灭它 if [ $IDLE_TIME -ge $IDLE_TIMEOUT ]; then if [ $CURRENT_BRIGHTNESS -gt 0 ]; then light -s sysfs/leds/smc::kbd_backlight -S 0 fi else # 一旦检测到活动,恢复到你常用的亮度(这里设为50,你可以改成自己习惯的值) light -s sysfs/leds/smc::kbd_backlight -S 50 fi - 给脚本添加执行权限:
chmod +x ~/keyboard_backlight_auto.sh - 设置定时器每分钟运行一次脚本,用
crontab:- 打开crontab编辑器:
crontab -e - 在最后一行添加:
* * * * * /home/你的用户名/keyboard_backlight_auto.sh
你的用户名替换成实际的用户名,比如koen) - 打开crontab编辑器:
方案三:检查MacBook内核驱动模块
有些MacBook的键盘背光控制依赖apple_bl内核模块,先确认它是否加载:
- 打开终端输入:
lsmod | grep apple_bl - 如果没有输出,说明模块没加载,手动加载试试:
sudo modprobe apple_bl - 加载完成后再回到方案一,重新设置超时时间,应该就能生效了
额外排查小提示
- 先确认F1/F2能正常调节背光,说明硬件驱动是正常的,问题出在自动控制的配置上
- 如果你用的是Wayland桌面(Ubuntu 22.04默认是Wayland),
xprintidle这类工具可能不工作,建议登录时点击右上角的齿轮图标,选择「Ubuntu on Xorg」再试试
你可以先从方案一开始试,要是不行再往下走,有问题随时告诉我执行命令后的输出,我再帮你排查~
备注:内容来源于stack exchange,提问作者Koen B




