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 нужен чтобы иметь полный контроль над системой.



Последнее исправление: oleg454 (всего исправлений: 1)

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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.