![如何在登录前更改亮度?](https://linux22.com/image/891259/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E5%89%8D%E6%9B%B4%E6%94%B9%E4%BA%AE%E5%BA%A6%EF%BC%9F.png)
每次开机,亮度都会调到最大。我读到这并进行更改,以便它不会在我每次启动笔记本电脑时重置。
但在此之前,我尝试在登录前更改亮度,但亮度按钮只有在登录时才有效。所以在我遇到每次重启时亮度都会重置为最大已解决,我只是想知道在操作系统启动后(即登录前)如何改变亮度。
答案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
登录屏幕实际上被称为桌面管理器,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
只是一种软件解决方案(即,它实际上不会降低屏幕电量,只会使屏幕颜色变暗)。
其他资源
如果您希望更灵活地控制亮度并根据一天中的时间设置特定级别,请参阅此处有关相关问题的脚本
建筑维基文章包含大量有关背光及其控制方法的信息。