2024-05-20 10:10:35 发布
网友
我有一个python脚本,其中我使用Zenity显示一些通知。代码片段如下:
if message_list: pretty_print(message_list) os.system("/usr/bin/zenity --notification --text='You have unread messages'")
当我正常运行此脚本时,一切正常,即出现对话框并显示消息。但是当我在crontab中调度这个脚本时,什么也没有出现。有什么解决办法吗?在
从cron运行交互式命令没有合理的方法。不能保证有一个用户,不能保证只有一个用户,也不能保证正在使用的用户想要,或者甚至能够与您的软件交互;其中一些用户可能是伪用户,或者远程访问昂贵的按流量计费的互联网,或者只是空闲或其他什么。在
cron
通常的解决方案是服务器/客户机体系结构,在这种体系结构中,cron中运行的任何内容都可以通过某种IPC机制获得结果,而希望得到结果的用户可以从他们的X11会话(或shell,或您所拥有的)内运行客户机。在
创建一个脚本info.sh(记住授予它执行权限):
info.sh
#!/bin/bash xhost + /usr/bin/zenity notification text='You have unread messages'
在你的剧本里:
如果你想使用你提到的解决方案。在
从
cron
运行交互式命令没有合理的方法。不能保证有一个用户,不能保证只有一个用户,也不能保证正在使用的用户想要,或者甚至能够与您的软件交互;其中一些用户可能是伪用户,或者远程访问昂贵的按流量计费的互联网,或者只是空闲或其他什么。在通常的解决方案是服务器/客户机体系结构,在这种体系结构中,
cron
中运行的任何内容都可以通过某种IPC机制获得结果,而希望得到结果的用户可以从他们的X11会话(或shell,或您所拥有的)内运行客户机。在创建一个脚本
info.sh
(记住授予它执行权限):在你的剧本里:
^{pr2}$如果你想使用你提到的解决方案。在
相关问题 更多 >
编程相关推荐