Saya mengakses mesin melalui beberapa sesi login. Masa hidup sesi mungkin atau mungkin tidak tumpang tindih. Dalam kasus saya, sesi login ini saat ini selalu melebihi SSH, tetapi saya lebih suka menangani sesi lokal juga.
Saya kadang-kadang membutuhkan D-Bus dalam sesi ini, dan saya ingin berbagi sesi D-Bus yang sama di seluruh sesi login ini, untuk menggunakan GVFS .
Apa cara yang disarankan untuk melakukan ini? Saya tidak ingin menghentikan penggunaan D-Bus yang mungkin tidak saya sadari. Saya sudah mempertimbangkan menggunakan
export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id))
tetapi (pada Ubuntu 12.04) ini sepertinya tidak benar:
- ini memerlukan sesi X, tetapi sesi SSH saya mungkin atau mungkin tidak meneruskan tampilan X, dan bahkan yang tidak memiliki yang sama
$DISPLAY; - jika tidak ada tampilan X yang tersedia,
dbus-launchkomplain bahwa “Kesalahan pelepasan otomatis: inisialisasi X11 gagal.” dan tidak memulai daemon; - yang
dbus-launchmenyatakan halaman manual bahwa”--autolaunchpilihan dianggap sebagai detail implementasi internal yang (...). Tidak ada alasan nyata untuk menggunakannya di luar implementasi libdbus. ”
Apakah dbus-launchatau alat lain dalam D-Bus suite mendukung secara otomatis mendeteksi running dbus-daemondan menghubungkannya? Informasi yang diperlukan adalah ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}jika D-Bus dimulai dengan koneksi X, tetapi tampaknya tidak disimpan di mana pun jika tidak ada koneksi X tersedia.
Haruskah saya membuat file sesi D-Bus saya sendiri? Jika saya melakukannya, haruskah saya menggunakan file di ~/.dbus/session-busdirektori? Apakah jalurnya /var/lib/dbus/machine-iddapat diandalkan dan portabel?