어떤 프로그램이 서비스를 구현하는지 찾는 방법을 찾을 수 없습니다 org.freedesktop.Notifications
. DBus에서 어떤 프로그램을 제공하는지 알려주실 수 있나요?
이 질문을 하는 이유는 간단합니다. 사용하고 싶은 새 데스크톱 알림 데몬을 찾았지만 시작되지 않고 대신 이 메시지에 대해 불평합니다.
이름이 사라졌습니다. 다른 알림 데몬이 실행 중입니까?
그런데 무슨 프로그램인지는 알 수가 없네요예이름을 잡아라. 다른 모든 알림 데몬을 제거하고 X 서버를 다시 시작했으며 심지어 컴퓨터도 재부팅했습니다.
그러나 이 명령을 실행하면 다음과 같습니다.
dbus-send --session --dest=org.freedesktop.DBus --type=method_call \
--print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
string "org.freedesktop.Notifications"
출력에 나타나므로무엇이름은 유지되지만 원하는 데몬을 시작할 수 없습니다.
답변1
PID
발신자에게 응답할 수 있는 방법은 다음과 같습니다.org.freedesktop.DBus.GetConnectionUnixProcessID
:
qdbus org.freedesktop.DBus /org/freedesktop/DBus \
org.freedesktop.DBus.GetConnectionUnixProcessID org.freedesktop.Notifications
737화
그게 전부입니다 PID
.
원하는 경우 dbus-send
( qdbus
KDE에 따라) 다음을 수행하십시오.
dbus-send --session --print-reply --dest=org.freedesktop.DBus / \
org.freedesktop.DBus.GetConnectionUnixProcessID string:org.freedesktop.Notifications
uint32 737
원하는 경우 gdbus
(GNOME에만 해당) 다음을 수행하세요.
gdbus call --session --dest org.freedesktop.DBus --object-path / --method \
org.freedesktop.DBus.GetConnectionUnixProcessID org.freedesktop.Notifications
(uint32 737,)
업데이트된 설정에서는 다음을 systemd
사용할 수도 있습니다 busctl
.
busctl --user call org.freedesktop.DBus /org/freedesktop/DBus \
org.freedesktop.DBus GetConnectionUnixProcessID s org.freedesktop.Notifications
너 737
답변2
d-버스 디버깅 유틸리티D 피트많은 시스템에서 패키지로 제공되며 서비스를 제공하는 프로세스 ID와 명령을 찾을 수 있는 것으로 보입니다. 예를 들어, 나는페도라 23 xfce4 X11 시스템플랫폼을 선택하고 Session Bus
서비스 이름을 입력합니다 org.freedesktop.Notifications
. 서비스를 검사하고 활성화한 후 pid와 /usr/lib64/xfce4/notifyd/xfce4-notifyd
명령을 표시합니다.