2013-03-02 3 views
0

나는 cron 작업에서 KDE의 knotify에 알림을 보내려고합니다. 아래의 코드는 잘 작동하지만 cron 작업으로 실행할 때 알림이 표시되지 않습니다.파이썬 - 리눅스에서 cron 작업으로 KDE knotify 메시지를 보내시겠습니까?

#!/usr/bin/python2 
import dbus 
import gobject 

album = "album" 
artist = "artist" 
title = "title" 
knotify = dbus.SessionBus().get_object("org.kde.knotify", "/Notify") 
knotify.event("warning", "kde", [], title, u"by %s from %s" % (artist, album), [], [], 0, 0, dbus_interface="org.kde.KNotify") 

누구나 내가 이것을 cron 작업으로 어떻게 실행할 수 있는지 알고 있습니까?

답변

1

DBUS_SESSION_BUS_ADDRESS이라는 환경 변수를 제공해야합니다.

실행중인 kde 세션에서 값을 가져올 수 있습니다.

$ echo $DBUS_SESSION_BUS_ADDRESS 
unix:abstract=/tmp/dbus-iHb7INjMEc,guid=d46013545434477a1b7a6b27512d573c 

kde 시작 (구성의 자동 시작 모듈)에서 환경을 시작한 후에 실행할 스크립트 항목을 만듭니다. 이 환경 변수 값을 홈 디렉토리의 임시 파일에 출력 한 다음 임시 파일에서 cron 작업 또는 python 스크립트 내의 환경 변수를 설정할 수 있습니다.

#!/bin/bash 
echo $DBUS_SESSION_BUS_ADDRESS > $HOME/tmp/kde_dbus.session