我有一个.sh脚本,可以从日本卫星服务器下载一张照片并将其设置为背景图片。我已将其放入启动列表,但是如何每隔5分钟自动运行一次?
如果您想要简单的方法,并且避免找出要设置的环境变量,则可以:
将以下内容添加到启动应用程序:
/bin/bash -c "sleep 15 && while true; do <path_to_your_script.sh> ; sleep 300; done"
Dash>启动应用程序>添加。添加命令:
/bin/bash -c "sleep 15 && while true; do <path_to_your_script.sh> ; sleep 300; done"
如果您从自己的环境(例如,从终端窗口或启动应用程序)运行脚本,则将设置许多环境变量。cron
但是使用有限的环境变量集运行脚本。
由于您的脚本无疑会使用以下gsettings
命令:
gsettings get org.gnome.desktop.background picture-uri <wallpaper>
要设置墙纸,几乎可以肯定的是,该命令在从运行时会中断cron
。
“惰性解决方案”的缺点纯粹是理论上的。几乎连续休眠的命令对您的系统毫无意义。
阅读这篇文章,并从过去的经验中,我很确定DBUS_SESSION_BUS_ADDRESS
需要设置环境变量。
为此,请将以下部分添加到脚本的开头(在shebang下方):
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
然后,您应该可以从中成功运行它cron
。
但是,您可以很好地节省精力,然后选择惰性选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句