Accedo a una macchina attraverso più sessioni di accesso. La durata delle sessioni potrebbe sovrapporsi o meno. Nel mio caso, queste sessioni di accesso sono attualmente sempre su SSH, ma preferirei gestire anche le sessioni locali.
A volte ho bisogno di D-Bus in queste sessioni e voglio condividere la stessa sessione D-Bus attraverso queste sessioni di accesso, al fine di utilizzare GVFS .
Qual è il modo consigliato per farlo? Non voglio interrompere alcun uso di D-Bus di cui potrei non essere a conoscenza. Ho considerato l'utilizzo
export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id))
ma (a partire da Ubuntu 12.04) questo non sembra giusto:
- ciò richiede una sessione X, ma le mie sessioni SSH potrebbero o meno inoltrare un display X e anche quelle che non hanno lo stesso
$DISPLAY
; - se non è disponibile alcuna visualizzazione X, si
dbus-launch
lamenta che "Errore di avvio automatico: inizializzazione X11 non riuscita." e non avvia un demone; - la
dbus-launch
pagina man afferma che “L'--autolaunch
opzione è considerata un dettaglio di implementazione interno (...). Non c'è alcun motivo reale per usarlo al di fuori dell'implementazione di libdbus ”.
Fa dbus-launch
o un altro strumento nella suite supportano D-Bus rilevare automaticamente una corsa dbus-daemon
e il collegamento ad esso? Le informazioni necessarie sono disponibili ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}
se D-Bus viene avviato con una connessione X, ma non sembra essere memorizzato da nessuna parte se non è disponibile alcuna connessione X.
Devo inserire il mio file di sessione D-Bus? Se lo faccio, dovrei usare un file nella ~/.dbus/session-bus
directory? Il percorso è /var/lib/dbus/machine-id
affidabile e portatile?