Inicie o daemon de notificação como um serviço

3

Estou usando o Debian e desejo usar notify-send . Mas notify-send não me fornece nenhuma notificação, a menos que eu tenha uma das seguintes ações:

# either:
/usr/lib/notification-daemon/notification-daemon
# or:
/usr/lib/notify-osd/notify-osd

Gostaria de executar um desses como um serviço, em vez de deixá-los ser trabalhos em meu shell. No entanto, quando eu criar um script de inicialização para eles em /etc/init.d (usando o esqueleto como um modelo), tentando iniciar os resultados do serviço na seguinte saída, e notify-send não exibirá notificações:

(notification-daemon:14467): Gtk-WARNING **: cannot open display:

    
por JellicleCat 23.05.2014 / 22:10

3 respostas

1

Os scripts em /etc/init.d controlam os scripts de inicialização de todo o sistema, enquanto você deseja iniciar um serviço para sua sessão de login individual. Existem maneiras de fazer isso para todas as sessões de login para todos os usuários, mas elas dependem de como o sistema está configurado. Da mesma forma, existem maneiras de fazer isso para sua sessão de login individual, mas isso depende do tipo de sessão que você está usando. (Por exemplo, GNOME, XFCE, KDE, fvwm, qualquer coisa.)

O que você provavelmente quer fazer é configurar seu gerenciador de sessões, ambiente de área de trabalho ou gerenciador de janelas para iniciar /usr/lib/notify-osd/notify-osd na inicialização. Por exemplo, eu uso fvwm via xsession, então eu tenho no meu ~/.xsession o seguinte:

#!/bin/sh

# Other programs I need at startup like xscreensaver and urxvtd ...

/usr/lib/notify-osd/notify-osd &

exec fvwm
    
por 07.10.2014 / 16:39
1

'não é possível abrir a tela' significa que o seu servidor binário requer um X que não está sendo executado. Você precisa corrigir seu startscript para que notify-send inicie após servidor X. Poste seu script se você tiver problemas com isso.

    
por 17.02.2016 / 11:49
0

Para adicionar a resposta do @ elb:

Quando adicionei a linha a ~/.xsession , ela quebrou o autologin da máquina até o ponto em que o login tornou-se impossível (acho que porque o arquivo .xsession estava sendo continuamente lido toda vez que eu fazia login)

Em vez disso, coloco o mesmo conteúdo em um arquivo ~/.xsessionrc , que não existia anteriormente no meu sistema. Mas foi o truque!

    
por 07.05.2018 / 16:53