Ubuntu 22.04下Cron无法执行.sh脚本触发notify-send通知的问题求助
Ubuntu 22.04下Cron无法执行.sh脚本触发notify-send通知的问题求助
大家好,我遇到一个头疼的问题想请教各位:
我写了个简单的脚本,用来检查电池百分比,然后通过notify-send弹出系统通知。这个脚本在终端手动执行的时候完全正常——不管是直接运行~/path-to-script/my_script.sh,还是用sh ~/path-to-script/my_script.sh、bash ~/path-to-my-script/my_script.sh来启动,通知都能正常弹出来。
但一旦用Cron定时执行这个脚本,就完全看不到通知了。
我的crontab -e配置是这样的:
*/1 * * * * /usr/bin/sh ~/path-to-my-script/my_script.sh
另外我还在sudo vim /etc/crontab里设置了环境变量:
SHELL=/usr/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
查看sudo service cron status的日志,能看到脚本确实被Cron执行了:
gen 28 17:35:01 my_user CRON[7863]: pam_unix(cron:session): session opened for user my_user(uid=1001) by (uid=0) gen 28 17:35:01 my_user CRON[7864]: (my_user) CMD (/usr/bin/sh ~/path-to-my-script/my_script.sh) gen 28 17:35:01 my_user CRON[7863]: (CRON) info (No MTA installed, discarding output) gen 28 17:35:01 my_user CRON[7863]: pam_unix(cron:session): session closed for user my_user
我用的是Ubuntu 22.04系统,窗口管理器是i3。有没有大佬能帮我分析下问题出在哪?需要更多信息的话我随时补充~
备注:内容来源于stack exchange,提问作者overmach
相关产品推荐
相关产品推荐

