[英]Zenity not working in python script with crontab
我有一个使用Zenity显示一些通知的python脚本。 代码片段如下:
if message_list:
pretty_print(message_list)
os.system("/usr/bin/zenity --notification --text='You have unread messages'")
当我正常运行此脚本时,一切正常,即出现对话框并显示消息。 但是,当我在crontab中安排此脚本时,什么也没出现。 有什么解决办法吗?
从cron
运行交互命令没有明智的方法。 不能保证有一个用户,不能保证只有一个用户,也不能保证正在使用或什至能够与您的软件进行交互的用户; 他们中的一些人可能是伪用户,或者是在昂贵的计量Internet访问上处于远程状态,或者只是空闲状态或其他原因。
通常的解决方案是服务器/客户端体系结构,其中从cron
运行的任何内容都可以通过某些IPC机制提供其结果,并且希望结果的用户可以在X11会话(或Shell,或拥有的东西)中运行客户端。
创建一个脚本info.sh
(记住要授予其执行权限):
#!/bin/bash
xhost +
/usr/bin/zenity --notification --text='You have unread messages'
在您的脚本中:
if message_list:
pretty_print(message_list)
os.system("./info.sh")
那就是如果您想使用您提到的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.