Tôi đã thiết lập systemd để việc sử dụng systemctl start user@me
sẽ khởi động các dịch vụ người dùng của tôi như tôi mong đợi, nhưng dbus của tôi sẽ không hoạt động (mà tôi cần cho PulseAudio).
Có một số cách tôi có thể kiểm tra dbus hoặc systemd để tìm ra những gì tôi đang làm sai?
Tại thời điểm này tôi không có ý tưởng cho những thứ để thử. Xin vui lòng cho tôi biết nếu có bất cứ điều gì khác tôi có thể cung cấp có thể có liên quan.
Thông tin bổ sung / Cố gắng giải quyết
Tôi đang sử dụng Arch Linux, systemd 204-1 và dbus 1.6.10-1
Bắt đầu sử dụng systemd thông qua # systemctl start user@me
cho tôi điều này:
├─systemd─┬─(sd-pam)
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Bắt đầu systemd --user &
thủ công khi người dùng của tôi sản xuất:
├─bash─┬─pstree
│ └─systemd─┬─2*[dbus-daemon]
│ ├─dbus-launch <<< X only
│ ├─gconfd-2 <<< X only
│ ├─mpd───5*[{mpd}]
│ └─pulseaudio─┬─gconf-helper
│ └─2*[{pulseaudio}]
Và phát sinh lỗi sau nếu tôi không ở X, mặc dù thực tế là tôi đã kích hoạt người dùng của mình dbus.service:
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
Liên kết liên quan:
- /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
Hai cái đầu tiên đề cập đến một vấn đề với dbus, nhưng tại liên kết 2 nó nói rằng vấn đề đã được khắc phục trong dbus-1.6.9, vì vậy tôi nghĩ vấn đề là do việc triển khai của tôi chứ không phải lỗi này.
Tôi đã sử dụng dịch vụ người dùng mẫu từ các liên kết 2 & 3.