我使用 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,然后就到此为止了。
希望这可以帮助。