如何在登录前更改亮度?

如何在登录前更改亮度?

每次开机,亮度都会调到最大。我读到并进行更改,以便它不会在我每次启动笔记本电脑时重置。

但在此之前,我尝试在登录前更改亮度,但亮度按钮只有在登录时才有效。所以在我遇到每次重启时亮度都会重置为最大已解决,我只是想知道在操作系统启动后(即登录前)如何改变亮度。

答案1

在登录屏幕出现之前或之后运行脚本

有两种方法可以解决这个问题:

  1. 将命令或脚本调用放入 中/etc/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.
    
    # path to my script. Note the & at the end, it's important
    /home/serg/bin/brightness_set.sh &
    exit 0
    
  2. 登录屏幕实际上被称为桌面管理器,Ubuntu 特别使用lightdm桌面管理器。它的配置文件/etc/lightdm/lightdm.conf可以接受greeter-setup-script=参数,在登录屏幕实际显示之前执行某些操作。例如,您可以执行以下操作:

    [Seat:*]
    greeter-setup-script=/opt/set_brightness.py
    

    注意:旧版本的标题[SeatDefaults]现已弃用,请使用[Seat:*]。此外,如果您从未编辑过/etc/lightdm/lightdm.conf它将是空白的 - 这是自 14.04 Ubuntu 版本以来的正常行为。

控制亮度:

必须通过写入目录brightness中的文件 来设置亮度/sys/class/backlight/<NAME>。可能会出现几个不同的<NAME>版本,例如我的是/sys/class/backlight/intel_backlight,因此您需要找出您自己的计算机使用的名称,或者使用/sys/class/backlight/*/brightness。同一位置还有max_brightness一个文件,您可以将其用作 100% 值来计算要设置的亮度。两个文件都接受整数值。

写入该文件的常用方法是通过echo 123 | sudo tee /sys/class/backlight/*/brightness命令行。如果您通过上述/etc/rc.local或通过参数运行脚本,则没有必要,因为这两种方法都以 root 权限运行脚本(出于安全原因,这一点也很重要,因此请确保只有您的用户或 root 可以访问您的脚本)。greeter-setup-script=sudo

除了写入 之外,还有其他方法/sys,但并非所有方法都有效。根据我的经验,这种方法xbacklight对 Ubuntu 用户不起作用,而且xrandr --output SCREEN_NAME --brightness INT只是一种软件解决方案(即,它实际上不会降低屏幕电量,只会使屏幕颜色变暗)。

其他资源

相关内容