gnome
自动亮/暗模式
关于Ubuntu设置中的“窗口主题”(设置→外观→窗口主题→浅色/标准/深色) ,有没有人找到一种在“浅色”和“深色”模式之间自动切换的方法?
每天早上或晚上深入研究设置是一种真正的痛苦。能在日落时自动切换到“暗”模式,在日出时自动切换到“亮”模式,那就太好了。
对于 GNOME,存在这个 shell 扩展:Night Theme Switcher
它有相当多的选项,而且已经开箱即用,无需配置任何东西,但配置也很直接!
改变主题的终端命令是。
gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark
为Yaru-dark主题,以及
gsettings set org.gnome.desktop.interface gtk-theme Yaru-light
为Yaru-light主题。
现在,有一种叫做cron-job的东西用于调度工作(基本上是在特定的时间重复执行某些东西)。因此,你可以写一个cron-job来在指定的时间执行这些命令(比如在晚上9点改成深色主题,早上6点改成浅色主题)。
将以下内容添加到名为 script.sh
的文件中:
#!/bin/bash
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > lightscript.sh
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > darkscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-light" >> lightscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark" >> darkscript.sh
chmod 755 lightscript.sh
chmod 755 darkscript.sh
currenttime=$(date +%H:%M)
if [[ "$currenttime" > "21:00" ]] || [[ "$currenttime" < "06:00" ]]; then
./darkscript.sh
else
./lightscript.sh
fi
使该文件可执行运行。
chmod 755 /path/to/script.sh
or:
chmod +x /path/to/script.sh
在终端中运行 gnome-session-properties
。通过单击右侧的添加添加一个新的启动程序,然后通过浏览选择 script.sh
文件并使用一些名称和注释保存它。这将告诉 GNOME在您通过 GUI 登录时创建 lightscript.sh
和 darkscript.sh
。
使用以下命令将您的工作(更改主题)添加到 crontab
:
crontab -e
并选择合适的编辑器,或者您可以转到 /var/spool/cron/crontabs
并使用您的用户名编辑文件。以这种方式访问文件需要 sudo
权限。添加以下两行(将 /path/to/
替换为实际路径):
0 6 * * * /path/to/lightscript.sh
0 21 * * * /path/to/darkscript.sh
它将说。
crontab: installing new crontab
在退出命令后。你也可以用以下方法检查。
crontab -l
这应该这样做。上面两行告诉 cron
每天早上6:00执行 lightscript.sh
,晚上 9:00执行 darkscript.sh
。
我们正在走这段弯路,而不是仅仅增加。
0 6 * * * gsettings set org.gnome.desktop.interface gtk-theme Yaru-light
到 crontab
,因为这需要正确设置 DBUS_SESSION_BUS_ADDRESS
变量。