问题描述
亮度调节键< Fn
+ ⇑
/⇓
>没有效果(虽然它们被环境识别),我也无法使用GUI工具改变亮度。这似乎是Linux本身的一个问题,而不是桌面环境。
我可以在Windows操作系统中更改亮度,因此不是某种硬件故障。
详细信息:联想B570(型号名称:20093)集成英特尔高清显卡Kubuntu 11.04(Linux 2.6.38-10通用,KDE 4.7.0),一切都是最新的没有专有的显卡驱动程序(只有Wi-Fi一个)
我尝试过的:
-
编辑
/etc/default/grub
↦GRUB_CMDLINE_LINUX_DEFAULT
:acpi_osi=Linux
,acpi_backlight=vendor
,nomodeset
。是的,我做了update-grub
-
编辑
/etc/X11/xorg.conf
(即使在sudo dpkg-reconfigure xserver-xorg
之后也没有这样的文件) -
编辑
/proc/acpi/video/VGA/LCD/brightness
(没有这样的文件) -
sudo setpci -s 00:02.0 F4.B=XX
(无效果) -
xbacklight -set XX
(“No outputs have backlight property
”)
我该如何解决这个问题?
最佳解决办法
试试this。它适用于我的Ubuntu 14,联想B570,英特尔图形。
打开终端并创建以下配置文件(如果它不存在):
sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf
现在我们需要编辑这个文件。您可以使用任何编辑器,无论是终端还是图形编辑器。
sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf
将以下行添加到此文件:
Section "Device"
Identifier "card0"
Driver "intel"
Option "Backlight" "intel_backlight"
BusID "PCI:0:2:0"
EndSection
保存。注销并重新登录。
次佳解决办法
如果GUI工具失败,请尝试使用terminal。
-
运行:
ls /sys/class/backlight/*/brightness
。示例输出将是:/sys/class/backlight/acpi_video0/brightness
-
如果没有找到,内核不支持亮度控制(缺少驱动程序?)。否则,您可以使用以下命令(相应地替换
acpi_video0
):-
获取当前亮度级别:
cat /sys/class/backlight/acpi_video0/brightness
-
获得最大亮度级别:
cat /sys/class/backlight/acpi_video0/max_brightness
这些命令返回亮度级别,范围从零到max_brightness(见上文)。
-
-
要更改亮度级别,需要在
brightness
文件中写入一个数字。这不能由像gedit
这样的编辑器完成。假设您想将亮度更改为5,则必须运行:echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
或者,如果您只想将亮度级别设置为可用的最高级别:
sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness
第三种解决办法
-
安装
linux-kamal-mjgbacklight
– Linux内核的补丁。-
检查它是否适合您:
lsmod | grep ^i915
应该出现i915 331519 3
之类的东西。如果没有输出,这将不起作用。 -
sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
-
安装更新(
sudo apt-get update; sudo apt-get upgrade
)
-
-
重启。
-
现在,您可以使用终端调整亮度,如Lekensteyn所建议的那样。如果你可以用终端+
sudo
改变亮度,这就是答案的结束。如果您使用的是GNOME桌面,亮度甚至可能已完全发挥作用。 -
下载我的brightness changer script,允许它执行,并将其放入/usr /local /bin /:
wget -O brightness http://ideone.com/plain/yPlo5
chmod +x brightness
sudo mv brightness /usr/local/bin
-
我们必须允许编辑亮度文件,以便在任何地方都不需要
sudo
。此外,我们希望在系统启动时将亮度设置恢复为先前的设置(不幸的是,默认情况下不会保存)。提到的brightness
脚本可以处理它(使用restore
参数),只需将其添加到自动运行。为此,我们将编辑/etc/rc.local(sudo nano /etc/rc.local
或任何编辑器而不是nano)。在exit 0
行之前添加以下行:/usr/local/bin/brightness restore
-
现在最好重新启动。
-
所以
brightness
脚本有效。您可以随时前往终端并键入以下内容:-
brightness
– 获取当前亮度设置 -
brightness value
– 将亮度设置为值 -
brightness inc step
,brightness dec step
– 逐步增加或减少亮度(如果未指定,则从配置文件中使用默认值,通常为最大亮度的10%)
-
-
现在您可能希望将亮度变化映射到热键。
-
将XF86BrightnessUp设置为
brightness inc
-
将XF86BrightnessDown设置为
brightness dec
-
-
如果要调整某些内容,请务必查看/etc/bx_brightness.conf您可以使用
brightness inc
/dec
更改亮度更改的步骤
感谢Toz在this thread中的无价帮助。
第四种办法
我认为我发现使用udev规则调整intel_backlight的现有方法很简单且影响最小。
当我在运行内核3.2的Lenovo G360笔记本上按下Fn
+ Up
/Down
时,我注意到了”backlight”子系统的”change”动作。所以我写了一个/etc/udev/rules.d/99-writeintelbacklight.rules
规则如下:
ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"
使shell脚本/usr/sbin/writeintelbacklight.sh
包含:
#!/bin/bash
intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness`
acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness`
scale=`expr $intelmaxbrightness / $acpimaxbrightness`
acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness`
newintelbrightness=`expr $acpibrightness \* $scale`
curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$newintelbrightness" -ne "$curintelbrightness" ]
then
echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness
fi
exit 0
当然,您需要做一个sudo chmod +x /usr/sbin/writeintelbacklight.sh
。
第五种办法
这不会使您的Fn键工作,但您可以分配任何其他键来调整亮度。
我尝试了其中几种解决方案,但在找到这个小指标程序http://codevanrohde.nl/wordpress/?p=128之前,没有任何作用。有了它,您可以设置热键来控制亮度,使用鼠标滚轮或从指示器的下拉列表中选择。我用’Win+Alt’替换了’Fn’,这对我来说非常相似,现在我也可以用外接键盘!
要添加PPA并安装:
sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness
热键应分配给:
/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up
和
/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down
脚注:开箱即用,birghtness指示灯识别我系统中的7个亮度级别。通过将acpi_backlight=vendor
添加到/etc/default/grub
中的GRUB_CMDLINE_LINUX_DEFAULT
行,该数字可以升至16!
第六种办法
我有一个lenovo ideapad z400。
我尝试了上面列出的所有TIPS,没有成功。
所以我找到了一个非常好用的不同的:
将以下行放在/etc /default /grub中
GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY"
YY =交换区域,使用swapon -s查看交换设备。
以root身份执行update-grub
重启后问题解决了。
第七种办法
我在Ubuntu 14.04上有一个带有Nvidia显卡和二进制驱动程序的Thinkpad T450s。为了使背光工作,我必须通过在intel设备定义中添加以下行来编辑/etc/X11/xorg.conf文件(安装二进制驱动程序时会创建xorg.conf-file):
Option "Backlight" "intel_backlight"
完整的部分现在是:
Section "Device"
Identifier "intel"
Driver "intel"
BusID "PCI:0@0:2:0"
Option "Backlight" "intel_backlight"
Option "AccelMethod" "SNA"
EndSection