我在 ~/.xsession-errors 中看到以下错误
(nm-applet:1122): nm-applet-WARNING **: 11:12:56.101: Failed to show notification: Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached
[1342:1937:0821/111259.646185:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
我正在使用 i3,并在状态栏中使用 xfce 助手来使一些事情变得更简单一些。
我知道如果我启动 xfce4-notifyd,它会解决问题并修复 xsession-errors 中的错误。
systemctl --user start xfce4-notifyd
systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - XFCE notifications service
Loaded: loaded (/usr/lib/systemd/user/xfce4-notifyd.service; static; vendor preset: enabled)
Active: active (running) since Wed 2019-08-21 12:52:28 SAST; 10s ago
Main PID: 10783 (xfce4-notifyd)
CGroup: /user.slice/user-1000.slice/[email protected]/xfce4-notifyd.service
└─10783 /usr/lib/xfce4/notifyd/xfce4-notifyd
Aug 21 12:52:28 aaron-pc systemd[1088]: Starting XFCE notifications service...
Aug 21 12:52:28 aaron-pc systemd[1088]: Started XFCE notifications service.
如何让 xfce4-notifyd 在启动或登录时启动。
答案1
经过大量阅读,我发现以下资源帮助我找到了这个简单的解决方案
sudo vim /usr/share/dbus-1/system-services/org.freedesktop.Notification.service
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd
您可能想看看 dbus 中配置了哪些其他通知服务。
ls /usr/share/dbus-1/services/ | grep -i noti
org.kde.plasma.Notifications.service
org.xfce.xfce4-notifyd.Notifications.service
如果您已经配置了其他通知服务,这可能会导致两者出现问题,请尝试启动。
sudo rm /usr/share/dbus-1/services/org.kde.plasma.Notifications.service
在我的情况下,我使用的是 Manjaro,它是 arch 的一种。我的设置有点不同。
可执行文件的路径位于不同的地方。
pacman -Ql xfce4-notifyd | grep 'xfce4-notifyd$'
xfce4-notifyd /usr/lib/xfce4/notifyd/xfce4-notifyd
我的执行行看起来像这样
Exec=/usr/lib/xfce4/notifyd/xfce4-notifyd
此外,还xfce4-notifyd
需要启动该服务
systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - XFCE notifications service
Loaded: loaded (/usr/lib/systemd/user/xfce4-notifyd.service; static; vendor preset: enabled)
Active: inactive (dead)
systemctl --user start xfce4-notifyd
systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - XFCE notifications service
Loaded: loaded (/usr/lib/systemd/user/xfce4-notifyd.service; static; vendor preset: enabled)
Active: active (running) since Tue 2020-03-10 08:34:10 SAST; 5s ago
Main PID: 7991 (xfce4-notifyd)
CGroup: /user.slice/user-1000.slice/[email protected]/xfce4-notifyd.service
└─7991 /usr/lib/xfce4/notifyd/xfce4-notifyd
Mar 10 08:34:10 aaron-pc systemd[1456]: Starting XFCE notifications service...
Mar 10 08:34:10 aaron-pc systemd[1456]: Started XFCE notifications service.
为了确保在启动时发生这种情况。我添加了以下内容
cd ~/.config/systemd/user/
ln -s /usr/lib/systemd/user/xfce4-notifyd.service