notify-send falha ao especificar um destino e minha notificação não aparece na tela. Por quê?

2

A notificação através da libnotify parece funcionar sob o icewm, como mostram as diferentes notificações de aplicativos como o konversation. Mas não consigo fazer isso funcionar na linha de comando usando o comando notify-send. Quando eu tento, a notificação não aparece na minha tela.

Como posso fazê-lo funcionar sob o icewm?

Editar 1: Eu já experimentei o dbus-monitor. Parece que há um problema com o notify-send: ele não está especificando nenhum destino, enquanto o konversation, por exemplo, especifica knotify como destino. Talvez seja isso que está causando o problema?

Editar 2 : também tentei que o d-feet reproduzisse a consulta: (consulte link ), ainda nada.

A consulta que tentei reproduzir foi esta:

method call sender=:1.14 -> dest=org.kde.knotify serial=1024 path=/Notify; interface=org.kde.KNotify; member=event
string "queryMessage"
string "konversation"
array [
]
string ""
string "<html>&lt;ychaouche|ghost&gt; hello</html>"
array [
]
array [
]
int32 -1
int64 33554870
method return sender=:1.8 -> dest=:1.14 reply_serial=1024
int32 1072

Ele foi capturado usando dbus-monitor, enviado de konversation ao receber um PM de mim mesmo para mim (usando xchat, konversation e dois nicks).

    
por ychaouche 05.11.2012 / 15:51

2 respostas

1

Isso deve funcionar na linha de comando.

notify-send -u normal -t 60 -a cli "test notification" "This is simply a notification"

Eu construí esta string lendo diretamente da informação notify-send --help .

É claro que a página man fornece informações mais detalhadas.

    
por 05.11.2012 / 16:11
1

Talvez você possa tentar a solução por meio de dbus-send proposto lá :

dbus-send --session --type=method_call --reply-timeout=10000 \
  --dest=org.freedesktop.Notifications \
  /org/freedesktop/Notifications  org.freedesktop.Notifications.Notify \
  string:"app_name" \
  uint32:0 \
  string:'app_icon' \
  string:"summary" \
  string:"body" \
  array:string:"" \
  dict:string:string:"",""\
  int32:10000

notify-send é, na verdade, um wrapper em torno desse comando.

    
por 05.11.2012 / 18:03