Вопрос notify-send не работает с root на Ubuntu 14.04


У меня есть небольшой скрипт python, который я запускаю с помощью сценария оболочки, хранящегося в "/etc/X11/Xsession.d" 

Код очень прост, он показывает уведомление

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"  запускается как корень, и в результате мой код python запускается с привилегиями root. Мне не нужны привилегии root. Все, что я хочу, это увидеть уведомление.


2
2017-08-22 23:21


происхождения




ответы:


Вы должны отправить сообщение с уведомлением в качестве обычного основного пользователя вашей системы (обычно ID 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, но я надеюсь, что это поможет)


2
2017-10-15 18:15