Pi3에서 했던 것처럼 LIME2에도 Yunohost를 설치했는데 두 달 동안 같은 오류가 발생합니다("사용자 서비스를 활성화할 수 없습니다. "D-Bus 연결을 얻을 수 없습니다: 연결이 거부되었습니다" 지원"), 이번에는 libpam-systemd를 설치했습니다.
admin@Gildurklaus:~ $ systemctl --user list-units
Failed to get D-Bus connection: Connection refused
다시 말하지만, 명령은 사용자 인수 없이도 잘 작동합니다.
admin@Gildurklaus:~ $ systemctl list-units
UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point
sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil
sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0
...
To show all installed unit files use 'systemctl list-unit-files'.
lines 102-129/129 (END)
마찬가지로 Dbus는 내 사용자에 대해서는 실행되지 않고 시스템 전체에서만 실행됩니다.
admin@Gildurklaus:~ $ ps -ef | grep dbus
message+ 574 1 0 05:53 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
admin 1988 1971 0 10:03 pts/0 00:00:00 grep dbus
마찬가지로 해당 사용자에 대해 systemd가 실행되지 않는 것 같습니다.
admin@Gildurklaus:~$ ps -ef | grep dbus
message+ 574 1 0 05:53 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
admin 1988 1971 0 10:03 pts/0 00:00:00 grep dbus
admin@Gildurklaus:~$ ps -ef | grep systemd
root 183 1 0 05:53 ? 00:00:01 /lib/systemd/systemd-journald
root 187 1 0 05:53 ? 00:00:00 /lib/systemd/systemd-udevd
root 572 1 0 05:53 ? 00:00:00 /lib/systemd/systemd-logind
message+ 574 1 0 05:53 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
admin 1990 1971 0 10:04 pts/0 00:00:00 grep systemd
$XDG_RUNTIME_DIR이 다시 누락되었습니다.
admin@Gildurklaus:~ $ systemd --test
Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
이번에는 libpam-systemd가 설치되었습니다.
admin@Gildurklaus:~$ apt list --installed *systemd*
Listing... Done
libpam-systemd/oldstable,now 215-17+deb8u7 armhf [installed]
libsystemd0/oldstable,now 215-17+deb8u7 armhf [installed]
systemd/oldstable,now 215-17+deb8u7 armhf [installed]
systemd-shim/oldstable,now 9-1 armhf [installed,automatic]
systemd-sysv/oldstable,now 215-17+deb8u7 armhf [installed]
admin@Gildurklaus:~$ apt list --installed *dbus*
Listing... Done
dbus/oldstable,now 1.8.22-0+deb8u1 armhf [installed,automatic]
libdbus-1-3/oldstable,now 1.8.22-0+deb8u1 armhf [installed,automatic]
libdbus-glib-1-2/oldstable,now 0.102-1 armhf [installed,automatic]
libnih-dbus1/oldstable,now 1.0.3-4.3 armhf [installed,automatic]
[고쳐 쓰다]
Pi3와 LIME2 서버 사이에 미묘한 차이가 있음을 발견했습니다. Pi3은 XDG_SESSION_ID 세션을 시작하지만 LIME2 서버는 시작하지 않습니다.
Pi3
admin@Yroklaus:~ $ sudo systemctl status systemd-logind.service
● systemd-logind.service - Login Service
Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
Active: active (running) since Sat 2018-03-24 15:43:32 UTC; 1h 27min ago
Docs: man:systemd-logind.service(8)
man:logind.conf(5)
http://www.freedesktop.org/wiki/Software/systemd/logind
http://www.freedesktop.org/wiki/Software/systemd/multiseat
Main PID: 508 (systemd-logind)
Status: "Processing requests..."
CGroup: /system.slice/systemd-logind.service
└─508 /lib/systemd/systemd-logind
Mar 24 15:43:32 Yroklaus systemd[1]: Starting Login Service...
Mar 24 15:43:32 Yroklaus systemd-logind[508]: New seat seat0.
Mar 24 15:43:32 Yroklaus systemd[1]: Started Login Service.
Mar 24 15:43:32 Yroklaus systemd-logind[508]: Couldn't add lingering user folatt: No such file or directory
Mar 24 15:43:32 Yroklaus systemd-logind[508]: User enumeration failed: No such file or directory
Mar 24 16:47:01 Yroklaus systemd-logind[508]: New session c1 of user admin.
라임 2
admin@Gildurklaus:~$ sudo systemctl status systemd-logind.service
● systemd-logind.service - Login Service
Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
Active: active (running) since Sat 2018-03-24 16:43:45 CET; 1h 27min ago
Docs: man:systemd-logind.service(8)
man:logind.conf(5)
http://www.freedesktop.org/wiki/Software/systemd/logind
http://www.freedesktop.org/wiki/Software/systemd/multiseat
Main PID: 571 (systemd-logind)
Status: "Processing requests..."
CGroup: /system.slice/systemd-logind.service
└─571 /lib/systemd/systemd-logind
Mar 24 16:43:45 Gildurklaus systemd-logind[571]: New seat seat0.
Mar 24 16:43:45 Gildurklaus systemd[1]: Started Login Service.
답변1
Dbus가 다시 실행 중입니다.
아니요, 분명히 그렇지 않습니다. 이번이 마지막도 아닙니다.
귀하의 프로세스 목록은 다음과 같습니다.전체 시스템데스크탑 버스 브로커. --system
명령 매개변수와 프로세스에 대한 사실을 참고하세요.너처럼 달리는 건 안돼.
systemctl
이 옵션을 실행 하면 --user
각 사용자 인스턴스와 systemd
통신 합니다.사용자당데스크탑 버스 브로커.
실제로 둘 다 실행 중이 아닙니다.
사용자별 인스턴스를 시작하면 systemd
사용자별 데스크톱 에이전트도 시작된다는 것을 알 수 있습니다. 전자는 후자를 관리하며 이 dbus.socket
단위( /usr/lib/systemd/user/dbus.socket
)는 이미 사용자별 서비스 관리자에 대해 활성화되어 있을 수 있습니다. (참고로 이건소켓대신 장치를 활성화해야 합니다.제공하다단위. )
따라서 이전 Q&A에 명시적으로 언급되지는 않았지만 이전 답변과 사실상 동일합니다. 사용자별 인스턴스가 systemd
실행 중인지 확인하고 사용자별 데스크톱 버스 에이전트가 시작되었는지 확인하세요. 단계를 수동으로 실행하여 pam_systemd
먼저 단계 자체가 유효한지 확인할 수 있습니다. 그런 다음 pam_systemd
로그인 프로세스 중에 실제로 호출되도록 구성되었는지 확인하세요 .
기억해주세요su
로그인 메커니즘이 아님. 효과가있다기존에대화형 로그인 세션. 문제의 계정으로 로그인하지 않은 경우 systemd 후크는 해당 계정에 대한 사용자별 systemd 인스턴스를 활성화하지 않습니다.
추가 읽기
- 조나단 데보인 폴라드(2014).사용자 권한을 제거하기 위해 su를 남용하지 마십시오.. 일반적인 답변.
- Lennart Petlinget al. (2017).
pam_systemd
.시스템 매뉴얼 페이지. freedesktop.org. - https://unix.stackexchange.com/a/423648/5132
- https://unix.stackexchange.com/a/427917/5132
- https://unix.stackexchange.com/a/407863/5132
답변2
libpam-systemd
PAM 스택에서 호출해야 합니다.
실행하여 pam-auth-update
활성화되어 있는지 확인하세요.