Ich habe systemd so eingerichtet, dass die Verwendung systemctl start user@me
meine Benutzerdienste wie erwartet startet, aber mein dbus one geht einfach nicht (was ich für PulseAudio benötige).
Gibt es eine Möglichkeit, dbus oder systemd zu überprüfen, um herauszufinden, was ich falsch mache?
An diesem Punkt habe ich keine Ideen mehr, was ich versuchen könnte. Bitte lassen Sie mich wissen, ob ich noch etwas anbieten kann, das relevant sein könnte.
Zusätzliche Informationen / Lösungsversuch
Ich verwende Arch Linux, systemd 204-1 und dbus 1.6.10-1
Das Starten von user systemd durch # systemctl start user@me
gibt mir Folgendes:
├─systemd─┬─(sd-pam)
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Starten systemd --user &
manuell als mein Benutzer erzeugt:
├─bash─┬─pstree
│ └─systemd─┬─2*[dbus-daemon]
│ ├─dbus-launch <<< X only
│ ├─gconfd-2 <<< X only
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Und spuckt den folgenden Fehler aus, wenn ich nicht in X bin, obwohl ich meinen Benutzer dbus.service aktiviert habe:
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
Verwandte Links:
- /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
Die ersten beiden erwähnen ein Problem mit dbus, aber unter Link 2 heißt es, dass das Problem in dbus-1.6.9 behoben ist. Ich denke, das Problem liegt eher in meiner Implementierung als in diesem Fehler.
Ich habe Beispielbenutzerdienste von den Links 2 und 3 verwendet.
quelle