У меня есть небольшой скрипт на python, который я запускаю, используя скрипт оболочки, хранящийся в "/ etc / X11 / Xsession.d"
Код очень прост, он показывает уведомление message
import os
import time
while True:
os.system('notify-send -i "/opt/say/logo.png" "Title" "Message"')
time.sleep(30)
Код просто показывает уведомление каждые 30 секунд. Он работает на Ubuntu 12.04 без проблем, но не работает на Ubuntu 14.04. Скрипт оболочки в "/ etc / X11 / Xsession.d" запускается от имени root, и в результате мой код на python запускается с привилегиями root. Я не очень хочу привилегии root. Все, что я хочу, - это видеть уведомление.
Необходимо отправить уведомлять сообщение как нормальный основной пользователь системы, (ususally идентификатор 1000):
#!/bin/bash
MAINUSER=$(cat /etc/passwd|grep 1000|sed "s/:.*$//g")
su $MAINUSER -c $"notify-send -i \"/opt/say/logo.png\" \"Title\" \"Message\""
(не уверенный, как назвать его как это в Вашем сценарии Python, но я надеюсь, что это помогает)