我有以下 python 脚本,并想用 cron 运行它,以便每分钟 cron 都会弹出一条消息。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import gtk.gdk
import pynotify
import random
m=[]
m.append("test1")
m.append("test2")
m.append("test3")
n = pynotify.Notification(random.choice(m))
n.set_hint('x', gtk.gdk.screen_width()/2.)
n.set_hint('y', gtk.gdk.screen_height()/2.)
n.show()
这是我的 cron 脚本:
* * * * * export DISPLAY=:0.0 && /home/user/scripts/notifications.py >/dev/null 2>&1
不幸的是什么都没发生。你能帮忙吗?
答案1
以防其他人想知道。我必须导出 DISPLAY 和 XAUTHORITY
我在 cron 中运行这个脚本:
export XAUTHORITY=/home/user/.Xauthority
export DISPLAY=:0
python ~/notifications.py
答案2
从Ubuntuforums 上的这个帖子,您可能会遇到xauth
问题。X 倾向于向外部进程提供显示/输入访问权限,即使是来自同一用户。
在 X 终端窗口中,输入:xhost local:$USER
并查看您的 cron 作业是否有效。如果有效,请将该命令添加到您的~/.bashrc
文件中,修复应该会持续。