自动调整Linux显示亮度
项目描述
auto-adjust-display-brightness 程序会根据外部光线是明亮还是黑暗自动调整Linux计算机显示器的亮度。要使其工作,您需要创建一个配置文件,定义您的物理位置(这是它确定外部光线是明亮还是黑暗的方法)以及如何管理哪个显示器的亮度(这样它就知道如何最好地控制亮度)。
我是一个计算机程序员,有时会工作到深夜,因为这样可以 提高专注力。在这样的夜晚 / 深夜,一个反复出现的烦恼是,我必须手动调整笔记本电脑屏幕和连接到笔记本电脑的外部显示器的亮度,以避免不必要的 眼睛疲劳。我多年来一直在使用 xflux(它在夜间从计算机显示器中去除蓝光),但我发现这并不能降低我的MacBook Air的背光亮度,而这对于避免眼睛疲劳是至关重要的。
安装
auto-adjust-display-brightness 程序是用Python编写的,可在 PyPI 上找到,这意味着安装应该非常简单
$ pip install auto-adjust-display-brightness
实际上有很多种方法可以安装Python包(例如,用户的站点包目录、虚拟环境或直接安装到系统范围内),我并不打算在这里展开讨论,所以如果你感到害怕,请在返回这些说明之前了解一下你的选项 ;-).
入门
auto-adjust-display-brightness 程序需要一个配置文件来定义你的物理位置(这是它判断外面是白天还是晚上的方法),以及如何管理显示器的亮度(这样它就知道如何控制亮度)。以下是我目前正在使用的配置文件示例
# My physical location. I determined these values using Google Maps.
[location]
latitude = 53.240534499999995
longitude = 6.614897599999949
elevation = -2
# The laptop screen of my MacBook Air. This controls the physical backlight
# which is the best way to reduce the brightness (it also reduces power
# consumption :-).
[display:MacBook Air]
min-brightness = 7
max-brightness = 70
sys-directory = /sys/class/backlight/acpi_video0
# My external monitor connected via a display port to DVI adapter. I haven't
# found any way to configure the physical backlight of this monitor so I'm
# resorting to a software only modification here (better than nothing).
[display:ASUS monitor]
min-brightness = 30
max-brightness = 60
output-name = HDMI1
配置文件是从以下位置加载的
~/.auto-adjust-display-brightness.ini
/etc/auto-adjust-display-brightness.ini
配置文件的结构如下
[location] 部分有三个项目,所有这些项目都是必需的(latitude、longitude 和 elevation)。一些查找正确值的方法提示
每个 [display:...] 部分定义了一个计算机显示器,其亮度应由程序控制
display: 标签后的标签是显示器的名称(它在日志输出中使用,但并不重要,尽管它当然应该是唯一的)。
显示器可以有配置的最小亮度(min-brightness)和最大亮度(max-brightness)。这些项的默认值分别为0%和100%(值是百分比)。
目前支持两种类型的亮度控制
笔记本电脑屏幕背光的物理亮度。这使用Linux sysfs 虚拟文件系统的 /sys/class/backlight 接口来控制背光亮度。唯一必需的项目是 sys-directory,它应该包含控制你笔记本电脑屏幕背光亮度的目录的绝对路径名(你需要自己弄清楚)。
使用 xrandr 的任何显示器的软件亮度,以应用仅软件修改的显示亮度。这种方法的主要优点是它总是会工作。缺点是它不会降低屏幕的背光。换句话说,如果你可以使另一种类型的亮度控制为你的显示器工作,这可能是更好的选择。
通过cron运行
要实际调整你的显示器亮度而无需手动运行任何命令,你可以从cron计划中运行 auto-adjust-display-brightness。以下是我目前正在使用的
# /etc/cron.d/auto-adjust-display-brightness: # Crontab entries for automatic adjustment of display brightness. DISPLAY=:0 HOME=/home/peter VIRTUAL_ENV=/home/peter/.virtualenvs/auto-adjust-display-brightness @reboot root $VIRTUAL_ENV/bin/auto-adjust-display-brightness --force 1>/dev/null 2>&1 * * * * * root $VIRTUAL_ENV/bin/auto-adjust-display-brightness 1>/dev/null 2>&1
有关此crontab的一些说明
@reboot 行负责在启动后立即运行程序,以避免显示亮度从错误的状态开始,并在启动笔记本电脑后的几分钟内逐渐增加或减少。当程序检测到它在系统启动后不到60秒运行时,它会立即调整亮度而不是逐渐调整。
命令以 root 运行,以便程序具有写入 /sys/class/backlight/acpi_video0(以控制我的MacBook Air的物理背光)所需的权限。
DISPLAY变量使xrandr即使在非GUI环境中运行也能工作。
HOME变量使auto-adjust-display-brightness能够在不将其移动到/etc/auto-adjust-display-brightness.ini的情况下找到我的配置文件。这使我能够在我的私有dotfiles git仓库中跟踪配置文件 :-)。
联系
auto-adjust-display-brightness的最新版本可在PyPI和GitHub上找到。[a href="https://pypi.python.org/pypi/auto-adjust-display-brightness" rel="nofollow">PyPIGitHub。有关错误报告,请在GitHub上创建问题。如果您有任何问题,建议等,请随时通过电子邮件发送给我[a href="mailto:peter%40peterodding.com" rel="nofollow">peter@peterodding.com。
许可证
本软件受MIT许可证许可。
© 2016 Peter Odding。
项目详情
auto-adjust-display-brightness-1.3.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 10262cb44da9a364e79cdbf0e4b6fe2861a7e98e23a0ca6cb42c160af14227ee |
|
MD5 | ee9efdf52f2a99c1ae44c9d23897fc2b |
|
BLAKE2b-256 | d567889e793041a08a92802ea942f0d13d7e870aca2413928bfa08e4f4f9cf51 |