无法为用户启动 dunst 通知守护进程

无法为用户启动 dunst 通知守护进程

我进行了干净的 Arch 安装,仅使用 XDM 和 i3 作为登录/窗口管理器。我还安装了 dunst 包;根据拱门维基无需其他任何操作即可使其工作。

但是,当我尝试发送通知时,我收到:

Unable to send notification: Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached

同一 wiki 页面上的故障排除部分建议分配DISPLAY变量。我的 中有以下内容.xinitrc

source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh

它的作用是:

➜ cat /etc/X11/xinit/xinitrc.d/50-systemd-user.sh     
#!/bin/sh

systemctl --user import-environment DISPLAY XAUTHORITY

if command -v dbus-update-activation-environment >/dev/null 2>&1; then
        dbus-update-activation-environment DISPLAY XAUTHORITY
fi

检查dunst 的常见问题解答,它提到了变量的可用性DBUS_SESSION_BUS_ADDRESS。并检查gdbus运行通知守护程序的命令:

➜ gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/Dbus --method org.freedesktop.DBus.ListNames
(['org.freedesktop.DBus', ':1.40', 'org.freedesktop.systemd1', 'org.a11y.Bus', ':1.20', ':1.21', 'net.tenshu.Terminator20x1a6021154d881c', ':1.0', ':1.1', 'org.PulseAudio1', 'org.pulseaudio.Server', ':1.2', ':1.16', ':1.17', ':1.18', ':1.19'],)

➜ echo $DBUS_SESSION_BUS_ADDRESS 
unix:path=/run/user/1000/bus

➜ echo $DISPLAY 
:0

我的目录中确实列出了 dunst 服务/usr/share/dbus-1/services

-rw-r--r-- 1 root root  64 Oct 23 03:43 ca.desrt.dconf.service
-rw-r--r-- 1 root root 107 Sep  6 00:40 org.a11y.Bus.service
-rw-r--r-- 1 root root  68 Feb 20 10:29 org.dharkael.Flameshot.service
-rw-r--r-- 1 root root 116 Aug  1  2018 org.freedesktop.ColorHelper.service
lrwxrwxrwx 1 root root  51 Feb 20 18:37 org.freedesktop.systemd1.service -> ../system-services/org.freedesktop.systemd1.service
-rw-r--r-- 1 root root  60 Oct 27 22:09 org.gnome.GConf.service
-rw-r--r-- 1 root root 111 Sep  5 05:36 org.gtk.GLib.PACRunner.service
-rw-r--r-- 1 root root 100 Jan  2 17:13 org.knopwob.dunst.service
-rw-r--r-- 1 root root  56 Nov 22  2017 org.xfce.calendar.service
-rw-r--r-- 1 root root 115 Jan 28 05:22 org.xfce.FileManager.service
-rw-r--r-- 1 root root  56 Nov 22  2017 org.xfce.orage.service
-rw-r--r-- 1 root root 124 Jan 28 05:22 org.xfce.Thunar.FileManager1.service
-rw-r--r-- 1 root root 110 Jan 28 05:22 org.xfce.Thunar.service

根据这篇博文;我应该将 dunst 切换为我的通知服务。但我不知道我当前的通知服务是哪一个!

dbus.service我的列表中确实有 2 个单独列出的正在运行的systemctl status程序;一个在system.slice树中,另一个在[email protected]树中。

关于如何配置我的 dbus 守护进程的任何指示都会有所帮助,

答案1

安装 Plasma 后,我遇到了与 dunst 类似的问题。Plasma 注册了自己的 dbus 服务,该服务存在冲突,导致notify-sendslack、... 在发送通知时挂起。

您可以检查这是否适用于您:

grep -ri freedesktop.Notifications /usr/share/dbus-1/services/

如果您注册了多个服务,请选择一个并删除其他服务(最好通过包管理器,而不是rm

相关内容