Arch linux: i3wm에서 알림이 작동하지 않습니다. - Dunst: FATAL: X11 디스플레이를 열 수 없습니다.

Arch linux: i3wm에서 알림이 작동하지 않습니다. - Dunst: FATAL: X11 디스플레이를 열 수 없습니다.

저는 아치 리눅스와 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 ")

프로그램이 던스트 던스트(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를 시작한 다음 하루에 호출할 것입니다.

도움이 되었기를 바랍니다.

관련 정보