Доступ dbus шина сессии из новомодного сценария

Я блуждал, если возможно получить доступ к шине сессии DBUS из новомодного сценария.

Фон - это:
Я выполняю новомодную задачу в непривилегированном режиме и замененный Upstart.conf конфигурационный файл dbus с тем от выскочки bzr репозиторий.

Теперь это хотело бы получить доступ к брелоку для ключей гнома в рамках того сценария задач с помощью gkeyring, который должен получить доступ к пользовательской новомодной шине сессии. По умолчанию я просто добираюсь Gnome keyring not available.

Когда я пытаюсь экспортировать DBUS_SESSION_BUS_ADDRESS=... в рамках новомодного сценария, script/initctl команда просто зависает, никакой вывод где угодно.

Это приводит меня полагать, что, так как выскочка использует DBUS также, с помощью шины сессии, проблематично. У кого-то есть идея разрешить это?

5
задан 23 August 2012 в 07:27

2 ответа

это могло бы работать на Вас?...

script
    export HOME="/home/puma"
    chdir /home/puma/apps/whatever/bin
    dbus_file=$(ls $HOME/.dbus/session-bus/ -t1 | head -1)
    . "$HOME/.dbus/session-bus/$dbus_file"
    export DBUS_SESSION_BUS_ADDRESS
    exec su -s /bin/sh -c 'export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS;exec /home/puma/apps/whatever/bin/appname' puma 
end script

надежда это помогает?

2
ответ дан 21 October 2019 в 12:52

Если для всех процессов, кто хочет получить доступ к сессии, соединяют шиной тот же DBUS_SESSION_BUS_ADDRESS, переменная среды установлена, Вы собираетесь не иметь никаких проблем (см. руководство ). , Но , так как новомодные задачи выполняются в" строгая среда ", у Вас не будет доступа к той переменной в системном задании (например, люди младше /etc/init). Однако, если у Вас должен был быть он как задание сессии (например, под /usr/share/upstart/sessions) Вы собираетесь иметь доступ к большому количеству большего количества переменных среды. Кроме того, такие задания не выполняются как root, но как пользователь сессии. Например:

start on started dbus
stop on stopping dbus

respawn
respawn limit 10 5

kill timeout 20

exec /PATH/TO/MY/JOB
0
ответ дан 21 October 2019 в 12:52

Другие вопросы по тегам:

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