LINUX.ORG.RU

DBus & Daemon

 , , ,


0

2

Есть демон, в нем включен DBus (DBUS_BUS_SESSION), отказывается запускаться из под root-а. пишет «Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.» Но, c другого пользователя запускается нормально. Возможно нужны особые правила для DBus. Поискал, прямого ответа не нашел.

Root нужен чтобы иметь полный контроль над системой.

Root нужен чтобы иметь полный контроль над системой.

А зачем тогда DBUS_BUS_SESSION?

UVV ★★★★★ ()
Ответ на: комментарий от UVV

У меня под DBUS_BUS_SESSION все работает, но под обычным пользователем - daemon работает в dbus-monitor ресурс отображается.

Но когда запускаю daemon от root-а, на dbus отказывается работать.

oleg454 ()
Ответ на: комментарий от oleg454

А какова конечная цель? Есть ли смысл стартовать сессионный демон?

Если уж действительно нужна сессия из-под рута, то нужно проверить, запущен ли демон. На моей бубунте вот так:

%ps -ef | grep dbus-da
message+    987      1  0 Aug25 ?        00:00:11 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
sddm       1322      1  0 Aug25 ?        00:00:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
uvv        1415      1  0 Aug25 ?        00:00:01 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 15 --session
uvv        1594   1576  0 Aug25 ?        00:00:02 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
Как видно, рутовая сессия по умолчанию отсутствует

UVV ★★★★★ ()
Последнее исправление: UVV (всего исправлений: 2)
Ответ на: комментарий от UVV

То есть произвести обмен информации от другого пользователя невозможно? dbus-daemon должен обслуживать конкретного пользователя?

неужели IPC лучше dbus.

oleg454 ()
Ответ на: комментарий от oleg454

То есть произвести обмен информации от другого пользователя невозможно?

За свои 3 соощения я намекал, что тебе нужен не DBUS_BUS_SESSION, а DBUS_BUS_SYSTEM.

UVV ★★★★★ ()
Ответ на: комментарий от UVV

Спасибо. Вы мне очень помогли.

Оказывается нужно добавить правило

/etc/dbus-1/system.d

- и все заработало.

oleg454 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.