Arch linux:通知在 i3wm 中不起作用 - Dunst:严重:无法打开 X11 显示

Arch linux:通知在 i3wm 中不起作用 - Dunst:严重:无法打开 X11 显示

我使用 arch linux 和 i3wm。我的通知不起作用。当我dunst在命令行中输入时,它会响应:

警告:未找到 dunstrc。

当我输入notify-send --icon=gtk-info Test "This is a test"dunstify --action="replyAction,reply" "Message received"它继续运行直到我杀死它crt+c虽然没有任何通知出现。

该文件的内容/etc/X11/xinit/xinitrc.d/30-dbus.sh

#!/bin/bash

# launches a session dbus instance
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && type dbus-launch >/dev/null; then
    eval $(dbus-launch --sh-syntax --exit-with-session)
fi

这是我的journalctl

18:57:43 arch-thinkpad systemd[562]: Starting Dunst notification daemon...
18:57:43 arch-thinkpad dunst[49939]: CRITICAL: Cannot open X11 display.
18:57:43 arch-thinkpad systemd[562]: dunst.service: Main process exited, code=exited, status=1/FAILURE
18:57:43 arch-thinkpad systemd[562]: dunst.service: Failed with result 'exit-code'.
18:57:43 arch-thinkpad systemd[562]: Failed to start Dunst notification daemon.
18:59:43 arch-thinkpad dbus-daemon[708]: [session uid=1000 pid=708] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
18:59:43 arch-thinkpad dbus-daemon[708]: [session uid=1000 pid=708] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.112' (uid=1000 pid=17718 comm="/usr/lib/electron/electron /usr/bin/caprine ")

我该如何解决这个问题,以便程序可以显示通知 throw Dunst ?
谢谢你的帮助

EDIT1:No dunstrc found.错误已通过以下命令修复:cp /usr/share/dunst/dunstrc ~/.config/dunst/dunstrc

答案1

不要将 Dunst 安装为服务,而是将其添加到您的 i3 配置中:

编辑~/.config/i3/config并添加:

exec --no-startup-id dunst

答案2

从:https://wiki.archlinux.org/index.php/Dunst#Installation

安装 安装 Dunst 软件包。

/usr/share/dunst/dunstrc 中包含示例配置文件。将此文件复制到 ~/.config/dunst/dunstrc 并进行相应的编辑。

答案3

因为警告:这基本上意味着 systemd 正在尝试启动 dunst 通知守护进程(在用户桌面会话中运行的小程序,侦听基于 libnotify 的通知并以非常简单的方式显示它们)。就是这样。

因为错误:这与前者无关。如果它无法打开您的 X11 显示,请检查 .service 定义实际运行的内容,并从那里进行调试。我很可能只是禁用 systemd 中的 dunst 服务,从我的 WM (.Xsession/.xinitrc) 手动启动 dunst,然后就到此为止了。

希望这可以帮助。

相关内容