Какая программа запускает процесс dbus-daemon для каждой пользовательской сессии в GNOME 2 и GNOME 3 (предположительно, через dbus-launch)? Я хотел бы знать, потому что я хотел бы добавить каталог в список каталогов, который dbus-daemon проверяет на наличие файлов .service.
(Очевидно, если это программа sh, «sh» - это не тот ответ, который я ищу; -)
Как я мог эффективно ответить на этот вопрос для себя? Какая документация есть при запуске рабочего стола и сеанса?
Менеджер входа в систему запускает dbus через каталог скриптов Xsession. Если для Xsession установлена опция use-session-dbus
, загружается сценарий dbus Xsession, и он запускается dbus-launch --exit-with-session $session_command
.
Запуск большинства задач и служб во время загрузки, включая демон Dbus, выполняется Upstart .
Dbus-демон запускается не за сеанс пользователя, а при монтировании последней локальной файловой системы . Обработка конфигурации задания на запуск, запуск / остановку / мониторинг демона Dbus можно найти в /etc/init/dbus.conf
.
Вы можете использовать пользовательское задание , чтобы запустить Hamster при графическом входе в систему .
Я не соглашусь с dobey. Лучшая вещь сделать состоит в том, чтобы изучить, как найти его для себя.
Перечислите все процессы и их древовидную структуру PID:
pstree
init─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager─┬─2*[dhclient]
│ ├─dnsmasq
│ └─3*[{NetworkManager}]
├─accounts-daemon───2*[{accounts-daemon}]
├─acpid
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─colord───2*[{colord}]
├─cron
├─cups-browsed
├─cupsd
├─dbus-daemon
....
Таким образом, dbus-демон запускается init
. Однако заметьте, что существует больше чем один dbus-демон, работающий.
manos@box:~$ ps aux | grep dbus-daemon
message+ 845 0.0 0.0 40668 2620 ? Ss 10:48 0:03 dbus-daemon --system --fork
manos 2480 0.0 0.0 40248 2428 ? Ss 10:48 0:01 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-o3GMKn9JC1
manos 2569 0.0 0.0 39248 2004 ? S 10:48 0:00 /bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
Существует а именно, (по крайней мере) два экземпляра dbus-демона, работающего. Каждый запускается init, и это в масштабе всей системы, и другой запускается для пользователя, когда он вошел в систему. Наблюдение полной древовидной структуры PID (с pstree
) можно визуально расположиться точно, какой процесс запустил второй экземпляр.