无法使用 Linux Mint 18.1 更改 Macbook Air 的亮度

无法使用 Linux Mint 18.1 更改 Macbook Air 的亮度

自从在 2010 年末的 Macbook Air 上安装了 Linux Mint (XFCE) 后,我在使用专有 Nvidia 驱动程序时遇到了改变亮度的问题。

亮度功能键从来都不起作用(但奇怪的是音量键可以),但直到最近我才能够使用命令调整亮度xbacklight。然而,我最近acpi_backlight=vendor从 grub 配置中删除了该标志,这甚至消除了这种能力。出于某种原因,重新放回该标志并没有让我恢复使用的能力xbacklight,所以现在我根本无法调整亮度。

此时,我很高兴能重新获得使用的能力xbacklight。现在使用该命令不会产生任何输出,没有错误,没有消息,什么都没有。

/etc/default/grub 的相关部分(acpi_backlight=vendor当它停止工作时我删除的唯一东西):

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset quiet splash acpi_osi=linux 
acpi_backlight=vendor"
GRUB_CMDLINE_LINUX=""

我在 /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf 有一个自定义 X11 配置文件:

Section "Device"
  Identifier "Default Device"
  Driver "nvidia"
  BoardName "GeForce 320M"
  Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

有人知道为什么移除标志并重新插入会破坏我的使用能力xbacklight吗?(我已经运行了update-grub好几次都无济于事)。

提前致谢。

答案1

这个问题不只限于 Macbook。其他品牌甚至 Toshiba satellite L510 也存在同样的问题。我找到了一个足够简单的解决方案

在我目前遇到的所有 Linux 系统中,甚至在 Android 手机和其他基于 Android 的设备中,目录中都有与/sys/class/backlight/acpi_video0屏幕亮度相关的配置文件 - 更准确地说,是 LED 屏幕的背光。以下是ls /sys/class/backlight/acpi_video0

ls /sys/class/backlight/acpi_video0 的输出:

图像

不同的系统有不同的屏幕亮度分辨率。我的系统分辨率为 8,即 [0,7]。你可以通过 查看屏幕亮度分辨率的上限cat /sys/class/backlight/acpi_video0/max_brightness

然后将您想要的任何值写入文件/sys/class/backlight/acpi_video0/brightness,只要数字小于max_brightness,您的系统就会立即达到该亮度值。例如,由于我的系统的分辨率范围是 0-7,因此echo 3 > /sys/class/backlight/acpi_video0/brightness使我的屏幕半亮。同时echo 0 > /sys/class/backlight/acpi_video0/brightness使背光尽可能暗而不关闭屏幕。

为了方便起见,请使用以下脚本从终端调整屏幕亮度。将脚本文件放入/bin或 shell$PATH环境变量中的其他目录中backlight.sh,并使其可执行。以下是脚本

#!/bin/bash

## MAX_BRIGHTNESS variable takes the value in /sys/class/backlight/acpi_video0/max_brightness

MAX_BRIGHTNESS=$(cat /sys/class/backlight/acpi_video0/max_brightness);

error_report(){printf "error: the backlight brightness value \"$1\" is out of range, use only [0,$MAX_BRIGHTNESS]\n";}

if [ $1 -ge 0 ] && [ $1 -le $MAX_BRIGHTNESS ]; then echo $1 > /sys/class/backlight/acpi_video0/brightness ; else error_report ; fi;

将此脚本保存到 $PATH 目录中后backlight.sh,打开根终端并运行以下命令。

[email protected]# backlight.sh 0

然后你的屏幕就会变暗。尝试使用其他值,只要这些值不超过 max_brightness。

相关内容