如何随一天中的时间更改壁纸的亮度,例如给定的默认壁纸。
教程建议使用图片幻灯片或应用程序,例如F.lux.
但我只想根据时间自动调整图像的亮度,就像 Ubuntu 中给出的默认壁纸一样。
Tim*_*Tim 12
无论我在哪里写过USER,请将其更改为您的用户名(例如,我的是tim)。
创建一个新文件夹,可能在你的图片文件夹中,然后导航到它:
mkdir /home/$USER/Pictures/Wallpaper
cd /home/$USER/Pictures/Wallpaper
Run Code Online (Sandbox Code Playgroud)
创建一个新文件,使其可执行,然后编辑它:
touch bgchange.sh
chmod +x bgchange.sh
gedit bgchange.sh
Run Code Online (Sandbox Code Playgroud)
将以下内容添加到文件中(下面的 USER 表示您需要将其更改为您的用户):
#! /bin/bash
gsettings set org.gnome.desktop.background picture-uri 'file:///home/USER/Pictures/Wallpaper/'$(date +%H)'.png'
Run Code Online (Sandbox Code Playgroud)
这会将小时上的图像更改为带有小时名称的图像(即下午 1 点(13:00),它将背景更改为名为13.png.
现在来创建图像。只需运行此命令:
for i in {0..23}; do convert -brightness-contrast $(($i*2))x0 image.png $i.png; done
Run Code Online (Sandbox Code Playgroud)
您最终会得到一系列图像,每个图像都比前一个“2”亮。最暗的(原始)将是0.png,最亮的23.png。它看起来有点像这样:

您可能需要重命名这些以更改顺序,但请确保每个小时都有一个图像(0 到 23)。
最后,脚本需要在启动时启动:
运行此命令,然后按回车键(默认选择 2):
crontab -e
Run Code Online (Sandbox Code Playgroud)
并添加这一行:
0 * * * * /home/USER/Pictures/Wallpaper/bgchange.sh
Run Code Online (Sandbox Code Playgroud)
然后按Ctrl+ X,键入Y并按 Enter。每次启动计算机时它都会启动。
我的代词是他/他