Узнать владельца имени службы DBus

Вам необходимо установить через pacman gnome-control-center и добавить свою учетную запись из этого компонента Gnome. К сожалению, это означает, что с этим компонентом Gnome поставляется масса надоедливых зависимостей Gnome для использования плагина gvfs для привода.

Другой вариант - установить кучу зависимостей ocaml с помощью google-drive-ocamlfuse в AUR и пойти по этому пути. Мне не удалось скомпилировать google-drive-ocamlfuse без создания мусора программных ссылок в файловой системе.

7
21.07.2017, 21:30
2 ответа

Утилита отладки шины d -d -футов , которая доступна в виде пакета во многих системах, по-видимому, способна найти идентификатор процесса и команду, предоставляющую услугу. Например, я запустил его на платформе Fedora 23 xfce4 X11 systemd , выбрал Session Busи ввел имя службы org.freedesktop.Notifications. Он проинспектировал сервис, активировал его и показал pid и /usr/lib64/xfce4/notifyd/xfce4-notifydкоманду:

before activation

after activation

8
27.01.2020, 20:15

Вы можете связаться с абонентом PIDчерезorg.freedesktop.DBus.GetConnectionUnixProcessID:

gdbus call --session --dest org.freedesktop.DBus --object-path / --method \
org.freedesktop.DBus.GetConnectionUnixProcessID org.freedesktop.Notifications

печатает

(uint32 737,)

вот вам PID. Если вы предпочитаете dbus-send(, так как gdbusявляется специфичным для GNOME ), тогда:

dbus-send --session --print-reply --dest=org.freedesktop.DBus / \
org.freedesktop.DBus.GetConnectionUnixProcessID string:org.freedesktop.Notifications
12
27.01.2020, 20:15

Теги

Похожие вопросы