筆記本屏幕亮度在 Ubuntu 下常無法通過功能鍵調節。本文提供兩種命令行方案:xgamma 調整伽馬值 (軟件層)、setpci 直接操作硬件寄存器 (硬件層),解決驅動缺失導致的亮度控制失效。
# 查看當前值
xgamma
# 設置亮度 (0.5-1.0,1.0 為默認)
xgamma -gamma 0.75
# 設置紅綠藍獨立值
xgamma -rgamma 0.8 -ggamma 0.75 -bgamma 0.7
lspci | grep -i vga
# 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620
# 語法: sudo setpci -s F4.B=
# 00: 最亮, FF: 最暗 (Intel 典型,其他廠商可能相反)
# 示例:設置中等亮度
sudo setpci -s 00:02.0 F4.B=80
# 完整範圍測試
for v in 00 20 40 60 80 A0 C0 E0 FF; do
sudo setpci -s 00:02.0 F4.B=$v
sleep 1
done
| 參數 | 含義 |
|---|---|
-s 00:02.0 | PCI 設備地址 (域:總線:設備.功能) |
F4 | 亮度控制寄存器偏移量 (Intel 典型) |
.B | 字節訪問 (8位),.W=字(16位),.L=雙字(32位) |
=80 | 十六進制值 (0-255) |
sudo tee /etc/systemd/system/screen-brightness.service <<'EOF'
[Unit]
Description=Set screen brightness on boot
After=graphical.target
[Service]
Type=oneshot
ExecStart=/usr/bin/setpci -s 00:02.0 F4.B=80
RemainAfterExit=yes
[Install]
WantedBy=graphical.target
EOF
sudo systemctl enable screen-brightness.service
echo 'setpci -s 00:02.0 F4.B=80' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
# 編輯 grub
sudo vim /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
sudo update-grub
reboot
| 場景 | 推薦方案 | 理由 |
|---|---|---|
| 臨時調整、無 root 權限 | xgamma | 用戶級、即時生效 |
| 永久修復、省電需求 | setpci + systemd | 硬件級、降低背光功耗 |
| 內核驅動正常但功能鍵失效 | acpi_backlight=vendor | 修復 ACPI 介面 |
| 外接顯示器 | DDC/CI 工具 (ddcutil) | 通過 I2C 總線控制顯示器 |
sudo、設備地址正確lspci 確認獨顯/核顯地址,分別設置xgamma 可能無效,需 X11 會話掌握雙方案,無論驅動完善與否,都能精準掌控屏幕亮度。