Saya telah mengatur sistemd sehingga menggunakan systemctl start user@me
akan memulai layanan pengguna saya seperti yang saya harapkan, tapi dbus saya tidak akan pergi (yang saya butuhkan untuk PulseAudio).
Apakah ada cara saya dapat memeriksa dbus atau systemd untuk mencari tahu apa yang saya lakukan salah?
Pada titik ini saya kehabisan ide untuk mencoba sesuatu. Harap beri tahu saya jika ada hal lain yang dapat saya berikan yang mungkin relevan.
Info Tambahan / Upaya Resolusi
Saya menggunakan Arch Linux, systemd 204-1, dan dbus 1.6.10-1
Memulai user systemd melalui # systemctl start user@me
memberi saya ini:
├─systemd─┬─(sd-pam)
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Mulai systemd --user &
secara manual saat pengguna saya menghasilkan:
├─bash─┬─pstree
│ └─systemd─┬─2*[dbus-daemon]
│ ├─dbus-launch <<< X only
│ ├─gconfd-2 <<< X only
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Dan meludahkan kesalahan berikut jika saya tidak berada di X, meskipun faktanya saya memang mengaktifkan pengguna dbus.service saya:
Failed to open private bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Failed to open private bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Tautan yang berhubungan:
- /superuser/476379/how-do-i-setup-a-systemd-service-to-be-started-by-a-non-root-user-as-a-user-daem
- https://github.com/sofar/user-session-units
- https://github.com/grawity/systemd-user-units
Dua yang pertama menyebutkan masalah dengan dbus, tetapi pada tautan 2 dikatakan bahwa masalahnya sudah diperbaiki di dbus-1.6.9, jadi saya pikir masalahnya ada pada implementasi saya daripada bug ini.
Saya menggunakan contoh layanan pengguna dari tautan 2 & 3.
sumber