추가 읽기

추가 읽기

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 인스턴스를 활성화하지 않습니다.

추가 읽기

답변2

libpam-systemdPAM 스택에서 호출해야 합니다.

실행하여 pam-auth-update활성화되어 있는지 확인하세요.

관련 정보