亮度调节键 < Fn+ ⇑/ ⇓> 不起作用(尽管环境可以识别它们),而且我也无法使用 GUI 工具更改亮度。这似乎是 Linux 本身的问题,而不是桌面环境的问题。
我可以在 Windows 操作系统中更改亮度,所以这不是某种硬件故障。
详细信息:
联想 B570(型号:20093)
集成英特尔高清显卡
Kubuntu 11.04(Linux 2.6.38-10-generic、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=
(没有效果)XXxbacklight -set
(“XXNo outputs have backlight property
”)
我该如何修复此问题?
答案1
如果 GUI 工具失败,请尝试使用终端为了它。
运行:
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
这些命令返回亮度级别,范围从零到最大亮度(往上看)。
要更改亮度级别,您需要
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
答案2
尝试这。它适用于我的 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
保存。注销并重新登录。
答案3
安装
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
)
- 检查它是否适合您:应该出现
重启。
现在您可以使用终端来调整亮度,如下图所示建议经过莱肯施泰因。
如果您可以使用终端+更改亮度sudo
,那么答案就到此为止。
如果您使用的是 GNOME 桌面,亮度甚至可能已经完全发挥作用。下载我的亮度改变脚本,允许其执行,并将其放入/usr/本地/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%)
现在您可能想要将亮度变化映射到您的热键。
- 放XF86亮度提升到
brightness inc
- 放XF86亮度降低到
brightness dec
- 放XF86亮度提升到
如果你想调整某些内容,请务必查看/etc/bx_brightness.conf
brightness inc
您可以使用/ 更改亮度变化的步长dec
答案4
我认为我找到了一种使用 udev 规则调整 intel_backlight 的简单且对现有事物影响最小的方法。
我注意到在运行内核 3.2 的联想 G360 笔记本上按Fn+ Up/时“背光”子系统会发生“更改”动作。因此我编写了如下Down规则:/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
。