因此,我尝试在晚上将主题从浅色改为深色,早上则反之。但是,Gsettings 在 Cron 中不起作用,解决方案已发布这里和这里似乎不起作用,下面的评论中发表的内容也不起作用。
这是 Cron 正在执行的脚本:
#!/bin/bash
#Export DBUS_SESSION_BUS_ADDRESS environment variable
PID=$(pgrep -o gnome-shell)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS/proc/$PID/environ|cut -d= -f2-)
#Change theme
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark'
gsettings set org.gnome.shell.extensions.user-theme name 'Arc-Dark'
这是我在 dead.letter 中遇到的错误(Crons 记录错误的方式):
grep: /proc/1098/environ: Permission denied
(process:28536): dconf-WARNING **: failed to commit changes to dconf: The given address is empty
grep: /proc/1098/environ: Permission denied
(process:28811): dconf-WARNING **: failed to commit changes to dconf: The given address is empty
我知道我可以使用 sudo -u 来运行脚本,但我不想使用 root cron。
答案1
我在运行 cron 命令时也遇到了类似的问题dconf
。我的情况是,我dbus-launch
在命令开头添加了一个变量,并DISPLAY=:0
在 crontab 文件中添加了一个变量。
我的 crontab 如下所示:
DISPLAY=:0 0 6 * * * dbus-launch /path/to/my/dconf-script