notify-send não funciona com root no Ubuntu 14.04

2

Eu tenho um pequeno script python que eu inicio usando um shell script armazenado em "/ etc / X11 / Xsession.d"

O código é muito simples, mostra uma mensagem de notificação

import os
import time

while True:
      os.system('notify-send -i "/opt/say/logo.png" "Title" "Message"')
time.sleep(30) 

O código simplesmente mostra uma mensagem de notificação a cada 30 segundos. Ele funciona no Ubuntu 12.04 sem problemas, mas não funciona no Ubuntu 14.04. O script de shell em "/ etc / X11 / Xsession.d" é executado como raiz e, como resultado, meu código python é executado com privilégios de root. Eu realmente não quero privilégios de root. Tudo que eu quero é poder ver a notificação.

    
por Ubaidah 23.08.2014 / 01:21

1 resposta

2

Você deve enviar a mensagem de notificação como o usuário principal normal de seu sistema (usualmente 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\""

(não tenho certeza, como chamá-lo assim no seu script python, mas espero que ajude)

    
por rubo77 15.10.2014 / 20:15