Accedo a una máquina a través de múltiples sesiones de inicio de sesión. Las vidas de las sesiones pueden superponerse o no. En mi caso, estas sesiones de inicio de sesión siempre se realizan a través de SSH, pero también preferiría manejar sesiones locales.
A veces necesito D-Bus en estas sesiones, y quiero compartir la misma sesión de D-Bus en estas sesiones de inicio de sesión, para poder usar GVFS .
cual es la manera recomendada para hacer esto? No quiero interrumpir el uso de D-Bus que no conozco. He considerado usar
export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id))
pero (a partir de Ubuntu 12.04) esto no parece correcto:
- esto requiere una sesión X, pero mis sesiones SSH pueden o no reenviar una pantalla X, e incluso las que no tienen la misma
$DISPLAY
; - si no hay una pantalla X disponible, se
dbus-launch
queja de "Error de inicio automático: error de inicialización X11" y no inicia un demonio; - la
dbus-launch
página del manual dice que "La--autolaunch
opción se considera un detalle de implementación interna (...). De todos modos, no hay ninguna razón real para usarlo fuera de la implementación de libdbus ".
¿Es dbus-launch
compatible alguna otra herramienta de la suite D-Bus para detectar automáticamente un funcionamiento dbus-daemon
y conectarse a él? La información necesaria se encuentra ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}
si D-Bus se inicia con una conexión X, pero no parece almacenarse en ningún lado si no hay una conexión X disponible.
¿Debo improvisar mi propio archivo de sesión de D-Bus? Si lo hago, ¿debo usar un archivo en el ~/.dbus/session-bus
directorio? ¿Es el camino /var/lib/dbus/machine-id
confiable y portátil?