Назад | Перейти на главную страницу

Требуется всплывающее окно crontab и gui python

У меня есть следующий скрипт 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

К сожалению, ничего не происходит. Не могли бы вы помочь?

На случай, если кому-то еще интересно. Пришлось экспортировать DISPLAY и XAUTHORITY

Я запускаю этот скрипт в cron:

export XAUTHORITY=/home/user/.Xauthority
export DISPLAY=:0
python ~/notifications.py

Из эта ветка на Ubuntuforums, возможно, вы столкнулись с xauth проблемы. X имеет тенденцию быть параноиком относительно предоставления доступа к отображению / вводу внешним процессам, даже от одного и того же пользователя.

В окне терминала X введите: xhost local:$USER и посмотрите, работает ли ваша работа cron. Если да, добавьте эту команду в свой ~/.bashrc файл, и исправление должно сохраниться.