Гксудо и ДБус

Я создал несколько отключенных учетных записей с единственной целью настройки Docky в этих учетных записях. Каждая учетная запись имеет набор Docky Items, который представляет набор инструментов. Это должно дать вам представление о том, что я имею в виду под Docky Tool Set :

  • Набор инструментов приложения администратора
  • Набор инструментов онлайн-приложения пользователя
  • [ 113] Набор инструментов автономного пользовательского приложения
  • Набор инструментов офисного приложения
  • Набор инструментов приложения Gamer и т. Д.

Из этих отключенных учетных записей я хочу, чтобы фактический пользователь включал или отключал наборы инструментов с помощью вызовов gksudo:

xhost + local:dockyAdminUser
gksudo -u dockyAdminUser /usr/bin/docky

Я уже настроил учетные записи, но когда я запускаю Docky, это кстати он жалуется что ему нужен DBus и не может его найти. Как я могу сделать доступным DBus, чтобы Docky мог запустить его таким образом?

Примечание: то же самое происходит с Tomboy, он не запускается и жалуется на проблему с dbus.

Примечание: я не ищу решения, которое бы предлагало не запускать Docky от имени другого пользователя. Существует несколько причин, по которым я должен запустить Docky от имени другого пользователя. Но я исключил эти причины, чтобы прояснить вопрос. *

2
задан 27 March 2012 в 17:36

1 ответ

DBUS - это система IPC, что означает, что разные программы могут общаться друг с другом.

В обычной системе Ubuntu есть один системный экземпляр dbus и один экземпляр, работающий для каждого зарегистрированного пользователя. Процесс, принадлежащий одному пользователю, который хочет взаимодействовать с другими процессами от того же пользователя, не должен использовать общесистемный.

Похоже, Docky и Tomboy пытаются использовать пользователя dbus. Поэтому, по крайней мере, вы должны запустить демон dbus для этого пользователя до Docky. Вы можете сделать это с помощью:

su - user -c 'dbus-launch'

Но вполне вероятно, что вы найдете другую проблему. Компьютер делает много вещей во время входа в систему, и сложные программы, такие как Docky, вероятно, ожидают, что некоторые из них будут выполнены.

Вы можете проверить /etc/X/Xsession.d для большинства сценариев, которые запускаются во время входа в систему. Это сценарии, связанные с X, это означает, что они выполняются для всех сред рабочего стола. Все, что нужно Docky, нужно начинать здесь, так как Docky независим от DE.

0
ответ дан 27 March 2012 в 17:36

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

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