f.lux 和 redshift 都无法在我的 Ubuntu 上运行。我安装了 f.lux(最新版本 2010 :/),但由于某种原因它无法运行。redshift 也是如此;启动后它输出Unknown location provider
geoclue'。`
我尝试了很多解决方案,但都没有奏效 :(
Ubuntu 上有没有这些应用程序的替代品?
答案1
令人赏心悦目
Eyesome 是一个作为守护进程运行的 bash 脚本,全天候大部分时间处于休眠状态。它通过硬件接口自动调整笔记本电脑显示屏的屏幕亮度(也可以选择调整伽玛值),并使用 xrandr 的软件控制最多调整另外两台显示器的屏幕亮度。
日出时(每天从互联网上自动获取时间),屏幕亮度(以及可选的伽玛)会逐渐调整。逐渐调整由您定义,但 120 分钟对我来说是合适的。为了使调整不引人注意,请在调整之间设置一个睡眠间隔。15 到 60 秒之间的任何值可能是最好的,默认值为 60。
日出过渡完成后,eyesome daemon 会休眠数小时,直到日落过渡开始。我使用的是日落前 90 分钟,但您可以设置任何您喜欢的时间段。
与日出过渡相反,日落过渡逐渐降低屏幕亮度(也可以降低伽马),因此不易察觉。
请注意,在夜间过渡期间,伽马值可能会增加。例如,红色伽马值在白天可能定义为 1.0,在夜间可能定义为 1.2,以减少眼睛疲劳。蓝色伽马值在白天可能定义为 1.0,在夜间可能定义为 .8,因此它会减少。
为了节省资源,eyesome 会在日落和日出之间的整个时间段内睡觉。根据您居住的地方和季节,平均睡眠时间为 12 小时。
Eyesome 设置 - 主菜单
为了配置 eyesome,提供了一个主菜单:
编辑配置 - 常规选项卡
当您点击编辑主菜单中的按钮编辑配置常规选项卡最初显示如下。
您的国家/城市名称将自动出现。如有必要,您可以覆盖它。
编辑配置 - 监视器 1 选项卡
单击上面的“监视器 1”选项卡将在我的配置中显示此面板(您的配置可能有所不同):
不要被这些设置吓到,它们大部分都是 eyesome 自动获取的。不过,您需要设置白天和夜晚的亮度/级别。
编辑配置 - 监视器 3 选项卡
单击“监视器 3”选项卡会在我的配置中显示此面板(您的配置可能有所不同):
显示器 2 选项卡未显示,因为它是具有自适应亮度和智能操作系统的新电视。它不需要 Eyesome 覆盖。
如果在安装 eyesome 后您将不同的显示器连接到您的系统,您可能必须输入xrandr
显示器名称。
Eyesome 设置 - 5 秒测试
在主菜单中,您可以点击白天和夜间按钮。您可以从编辑配置 - 常规选项卡中将测试持续时间从 5 秒更改为 20 秒。
以下是 5 秒夜间测试的内容:
异常事件处理
假设您在早上上班前挂起笔记本电脑,此时屏幕完全昏暗。下班后,您回到家,太阳高挂天空,然后打开笔记本电脑。屏幕太暗了,您无法阅读。
为了解决这种情况,提供了 systemd 控制文件:
/etc/systemd/system-sleep/systemd-wake-eyesome
每当系统暂停或恢复时,都会调用控制文件。- 控制文件调用 bash 脚本
/usr/local/bin/wake-eyesome.sh
将亮度重置为最亮,然后睡眠直到日落过渡。
晚上,您正在外接电视上观看电影,为了更好地观看,您合上了笔记本电脑盖。Ubuntu / Lightdm / xrandr 需要几秒钟的时间,然后将外接电视重置为全亮度。您的眼睛真疼。
为了解决这种情况,提供了 acpi 事件控制文件:
/etc/acpi/event/lid-event-eyesome
每当打开或关闭笔记本电脑盖时,都会调用控制文件。- 控制文件调用bash脚本
/etc/acpi/acpi-lid-eyesome.sh
来处理盖子的打开和关闭。 - 反过来,令人赏心悦目的 bash 脚本会
/usr/local/bin/wake-eyesome.sh
调用重置亮度以方便夜间观看,然后休眠直到日落。
概括
Eyesome 可以从以下网址下载:https://github.com/WinEunuuchs2Unix/eyesome
该程序于 2018 年 9 月刚刚发布,因此如果您发现任何问题或有改进建议,请告诉我。
文档阶段才刚刚开始,所以不要犹豫,提出任何问题。您的问题甚至可能导致文档改进。
答案2
红移
虽然这不是一种替代方法,但也许是修复 Redshift 的一种方法。通过主目录中的 Redshift 配置文件提供手动地理位置,可以轻松防止收到 Redshift 错误消息。这里有一个示例redshift.conf
文件,应将其放入~/.config/
目录中:
; Global settings for redshift
[redshift]
; Set the day and night screen temperatures (Neutral is 6500K)
temp-day=5750
temp-night=4750
; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1
; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6
; Set the location-provider: 'geoclue2' or 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual
; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API.
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr
; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=52.32510
lon=7.58050
; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
;[randr]
;screen=1
特别是有两部分需要更改并适应您的情况:
; Set the location-provider: 'geoclue2' or 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual
这个通常指向 geoclue 作为位置提供商,你应该更改为手动。
第二部分是地理提供商的配置,您可以通过从 https:/maps.google.com 复制/粘贴位置来轻松设置:
; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=52.32510
lon=7.58050