如何使联想 Yoga 13 正常工作亮度控制?

如何使联想 Yoga 13 正常工作亮度控制?

Ubuntu 13.04 中亮度控制默认不起作用。12.10不起作用,也

知道如何修复它吗?

更新:

经过研究,我发现了如何手动更改亮度。需要在终端中输入:

echo 2000 | sudo tee /sys/class/backlight/intel_backlight/brightness

它会将亮度降低一半,但找到允许使用键盘改变亮度的解决方案仍然是件好事。

更新2:

找到解决方案,见下文

答案1

我找到了解决方案如何解决亮度问题

复制粘贴:

  1. 将添加acpi_backlight=vendorGRUB_DEFAULT命令行
  2. 运行sudo update-grub命令
  3. 将 ideapad_laptop 添加blacklist ideapad_laptop到您的/etc/modprobe.d/blacklist.conf文件中,将其列入黑名单。
  4. 重启

答案2

我遇到了同样的问题,您编写的命令可以解决它,但为了让按键正常工作,我编写了一个小脚本,监视 /sys/class/backlight/acpi_vide0/brightness 文件的变化,然后将其转换并写入 /sys/class/backlight/intel_backlight/brightness 文件。

一个简单的脚本(需要 inotify-tools):

while inotifywait -e modify /sys/class/backlight/acpi_video0/brightness >/dev/null 2>&1; do
  RATIO=97 #I got this by dividing the intel max_brightness by acpi's max_brightness+1
  BRIGHTNESS=`cat /sys/class/backlight/acpi_video0/brightness`
  NEW_BRIGHTNESS=$((RATIO*BRIGHTNESS))
  echo ${NEW_BRIGHTNESS} > /sys/class/backlight/intel_backlight/brightness
done

以 sudo 身份运行它,然后你就应该成功了。

干杯!

编辑:请确保更新比率常数,如果您可以输入 2000,我们的值将不同。我的英特尔最大值是 976。

答案3

如果有人在 ubuntu 13.04 上的 yoga 中仍然遇到背光问题,我根据第一篇文章中的命令编写了一个简单的 python 脚本(您需要安装带有依赖项的 python-keybinder)。

需要以 root 权限运行。为了使用更舒适,请从系统启动它或在终端中将其作为独立进程启动(& 在运行命令的末尾)。

#!/usr/bin/env python
import gtk
import keybinder
import subprocess

# Application need to be run with root privileges

class BrightBinder():

  def __init__(self, act_bright):
    # modes - step can be modify (3rd argument)
    self.levels = range(100, 4880, 700)
    self.levels.append(4880)
    try:
      self.act_bright_index = self.levels.index(int(act_bright))
    except ValueError:
      # can recoginze level - setting maximum
      self.act_bright_index = len(self.levels) - 1
      self.setBright()

  def setBright(self):
    subprocess.call("echo %s > /sys/class/backlight/intel_backlight/brightness" %      str(self.levels[self.act_bright_index]), shell=True)

  def bindKeys(self):
    keybinder.bind(bright_down, self.brightDownCallback, "Keystring %s (user data)" % bright_down)
    keybinder.bind(bright_up, self.brightUpCallback, "Keystring %s (user data)" % bright_up)

  def brightDownCallback(self, user_data):
    if self.act_bright_index > 0:
      self.act_bright_index -= 1
      self.setBright()

  def brightUpCallback(self, user_data):
    if self.act_bright_index < len(self.levels) - 1:
      self.act_bright_index += 1
      self.setBright()

  if __name__ == '__main__':
    bright_down = "XF86MonBrightnessDown"
    bright_up = "XF86MonBrightnessUp"
    # getting actual brightness value
    act_bright = subprocess.check_output(["less", "/sys/class/backlight/intel_backlight/brightness"])
    bright_binder = BrightBinder(act_bright.strip()).bindKeys()
    gtk.main()

答案4

解决方案非常简单并且对我在 Ubuntu 13.10 中有效。

联想 Yoga 13 配备英特尔显卡,因此可以相当轻松地映射由亮起/亮起键生成的 ACPI 事件(在终端中运行“acpi_listen”并按下按键并观察)。

我创建了一组脚本来映射 ACPI 事件来控制亮度(使用在论坛上找到的其他笔记本电脑的解决方案)并将它们发布在 git 上:

https://github.com/thrull/lenovo-yoga-brightness-control

相关内容