启动时更改亮度

启动时更改亮度

我的联想 T440s 以最大亮度启动。在此之后线我曾尝试改变rc.local,但没有效果。

当我执行命令时,cat /sys/class/backlight/acpi_video0/brightness我得到了输出851。然后我通过热键手动降低亮度并再次执行命令 - 它仍然显示851

这使我相信我无法通过简单地添加命令来以这种方式控制亮度rc.local

还有什么我可以尝试的吗?


这里是蛴螬内容

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

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

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

以下是rc.local内容

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#echo 2 > /sys/class/backlight/acpi_video0/brightness
#echo 2 > /sys/class/backlight/intel_backlight/brightness

#xrandr --output eDP1 --brightness 0.3
rfkill block bluetooth
#echo 3 > /sys/class/backlight/thinkpad_screen/brightness
exit 0

答案1

您是否尝试过使用某些软件来避免手动处理 sys 文件系统?我建议使用 xbacklight。

xbacklight -set 10

此命令将屏幕亮度设置为 10%。您可以将其添加到 rc.local。

编辑:如果上述步骤不起作用,则内核和 bios acpi 之间可能存在一些问题。编辑文件:/boot/grub/menu.lst

在默认配置中添加以下参数:thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

默认行看起来应该是这样的:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor"

保存修改后的文件并运行:

sudo update-grub

重新启动并检查 xbacklight 是否正常工作

答案2

这显然是某些硬件的内核兼容性问题,我只是想让你尝试这个解决方法:

  1. 备份并打开蛴螬文件。打开终端(++ Ctrl)并输入:AltT

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. 您会在新打开的窗口中发现这一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    更改为:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. 保存并关闭窗口并更新你的 grub:

    sudo update-grub
    
  4. 重新启动系统:

    sudo reboot
    

如果上述步骤不起作用,则重复相同的步骤,但这次尝试更改行第2步有了这个:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

如果出现问题,请回复。如果不起作用,请编辑您的问题并粘贴蛴螬文件内容:cat /etc/default/grub

答案3

如果你正在使用 Gnome 3 或 Unity -

从以下位置检出主分支https://github.com/ishanthilina/setBrightness

如果你正在使用 Gnome 2 -

从以下位置检出 Gnome2 分支https://github.com/ishanthilina/setBrightness

这是一个解决您的问题的python脚本。

启动应用程序中要给出的命令是“python ////setBrightness.py <亮度级别>”。

例如 python /home/ishan/.setBrightness/setBrightness.py 20。如果您不指定亮度级别,脚本将根据一天中的时间更改亮度级别。如果是在上午 7 点到晚上 8 点之间,脚本将使亮度设置为 75。

如果是在晚上 8 点到早上 7 点之间,脚本将把亮度设置为 20。您可以通过分别更改变量 day_level 和 night_level 来编辑这些亮度级别。

来源

答案4

然后我通过热键手动降低亮度并再次执行命令......

由于您可以使用 Hokeys 降低亮度,因此以下dbus方法xdotool应该有效

x背光

$ xbacklight +30% # increases brightness by 30 percent
$ xbacklight -30% # decreases brightness by 30 percent

dbus方式

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:<percentage>
例子

将亮度设置为 30%:

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:30 

或者
降低亮度(~7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepDown

增加亮度(~7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepUp

如果出现以下提示,则可能是你的操作系统太旧了。然后使用xdotool

Error org.freedesktop.DBus.Error.UnknownMethod: 
Method "SetPercentage" with signature "u" on interface 
"org.gnome.SettingsDaemon.Power.Screen" doesn't exist

工具

  • 增加亮度:

    $ xdotool key XF86MonBrightnessUp
    
  • 降低亮度:

    $ xdotool key XF86MonBrightnessDown
    

成功测试上述方法后,您可以将其添加到/etc/rc.local

软件方式
如果您无法使用以下任何一种方法来调整硬件背盖亮度,请调整显示器的软件亮度。
xrandr --output OUTPUT --brightness VALUE
例如,
xrandr --output LVDS1 --brightness 0.9
您可以使用以下方法查找连接的显示器xrandr | grep connected

相关内容