web-dev-qa-db-fra.com

Comment désactiver Dunst et revenir à notify-osd?

J'ai installé i3, qui recommande dunst, mais je n'utilise pas i3 pour le moment et les notifications dunst ne correspondent pas vraiment à Unity. Je préférerais ne pas désinstaller totalement dunst, car je souhaiterais peut-être commencer à l'utiliser ultérieurement. existe-t-il un moyen de revenir à notify-osd sans désinstaller dunst?

1
Josh

Le démon de notification est lancé par dbus-daemon lorsqu'une notification est envoyée. Vous pouvez voir le démon de notification actuellement actif (en supposant qu'il en existe un) en recherchant le nom du bus org.freedesktop.Notifications sur le bus de session dans D-Feet; vous pouvez également examiner la sortie journalctl pour voir ce que dbus-daemon pense faire et pourquoi (y compris, par exemple, quelle application a envoyé une notification).

dbus-daemon examine les fichiers de service dans /usr/share/dbus-1/services/ pour trouver le service à exécuter pour chaque nom de bus. Le fichier org.freedesktop.Notifications.service est le fichier de notify-osd (sur Ubuntu 18.04 par défaut) et dunst installe un nouveau service sur org.knopwob.dunst.service. Les deux fichiers ont une Name sur org.freedesktop.Notifications, ce qui signifie qu'ils sont tous deux capables de gérer les notifications.

Malheureusement, dbus-daemon n’est pas très malin pour déterminer quel service démarrer quand il existe plusieurs services possibles pour un nom de bus donné. À partir de 2018, il choisit simplement le premier trouvé ; Cela fait presque une décennie que demande de fonctionnalité dans Red Hat Bugzilla. Les seules solutions réelles semblent être:

  • écrivez votre propre service qui choisit de démarrer notify-osd ou dunst en fonction d'un facteur (couvert par cette réponse ), ou
  • déplacez ou supprimez tous les fichiers de service en conflit, sauf un.

Dans ce cas, il est beaucoup plus facile de déplacer les fichiers de service en conflit: exécutez simplement Sudo mv /usr/share/dbus-1/services/org.knopwob.dunst.service{,.disabled}. Si vous souhaitez recommencer à utiliser dunst, il est assez facile de renommer le fichier tel qu’il était à l’origine.

2
Josh