Я отримую доступ до машини через декілька сеансів входу. Тривалість сеансів може або не може збігатися. У моєму випадку ці сеанси входу в даний час завжди над SSH, але я також вважаю за краще працювати з локальними сесіями.
Мені іноді потрібен D-Bus в цих сеансах, і я хочу поділитися тим же сеансом D-Bus на цих сеансах входу, щоб використовувати GVFS .
Який рекомендований спосіб зробити це? Я не хочу переривати використання D-Bus, про яке я, можливо, не знаю. Я розглядав можливість використання
export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id))
але (на Ubuntu 12.04) це не здається правильним:
- для цього потрібен X сеанс, але мої сеанси SSH можуть або не можуть пересилати X-дисплей і навіть ті, які не мають однакового
$DISPLAY
; - якщо дисплей X не доступний,
dbus-launch
скаржиться на те, що "Помилка автоматичного запуску: ініціалізація X11 не вдалася." і не запускає демон; - На
dbus-launch
головній сторінці зазначено, що "Цей--autolaunch
параметр вважається внутрішньою деталізацією реалізації (...). Немає жодної реальної причини використовувати його поза реалізацією libdbus все одно. "
Чи підтримує dbus-launch
чи інший інструмент в комплекті пакету D-Bus автоматично виявлення запущеного dbus-daemon
та підключення до нього? Необхідна інформація є, ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}
якщо D-Bus запускається із з'єднанням X, але, здається, він ніде не зберігається, якщо не існує X-з'єднання.
Чи варто обмацати власний файл сеансу D-Bus? Якщо це зробити, чи слід використовувати файл у ~/.dbus/session-bus
каталозі? Чи /var/lib/dbus/machine-id
надійний та портативний шлях ?