systemd --user가 시작되지 않음: XDG_RUNTIME_DIR이 설정되지 않았지만 설정되었습니다.

systemd --user가 시작되지 않음: XDG_RUNTIME_DIR이 설정되지 않았지만 설정되었습니다.

systemd --user작동하지 않습니다:

# systemctl --user status

Failed to read server status: Process org.freedesktop.systemd1 exited with status 1

나는 가지고있다:

# echo $XDG_RUNTIME_DIR

/run/user/1000

근본적인 문제는 user@1000실행되지 않는 것 같습니다. 수동으로 시작하면 로그인과 동일한 오류가 발생합니다.

# sudo systemctl start user@$(id -u)

Job for [email protected] failed because the service did not take the steps required by its unit configuration.
See "systemctl status [email protected]" and "journalctl -xe" for details.

#systemctl status user@$(id -u)
[email protected] - User Manager for UID 1000
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; static; vendor preset: disabled)
   Active: failed (Result: protocol) since Sun 2019-08-18 19:11:41 CEST; 2min 6s ago
     Docs: man:[email protected](5)
  Process: 13047 ExecStart=/usr/lib/systemd/systemd --user (code=exited, status=1/FAILURE)
 Main PID: 13047 (code=exited, status=1/FAILURE)
    Tasks: 0
   Memory: 452.0K
   CGroup: /user.slice/user-1000.slice/[email protected]

Aug 18 19:11:41 arch0713 systemd[1]: Starting User Manager for UID 1000...
Aug 18 19:11:41 arch0713 systemd[13047]: pam_unix(systemd-user:session): session opened for user roland by (uid=0)
Aug 18 19:11:41 arch0713 systemd[13047]: Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
Aug 18 19:11:41 arch0713 systemd[1]: [email protected]: Failed with result 'protocol'.
Aug 18 19:11:41 arch0713 systemd[1]: Failed to start User Manager for UID 1000.

실패한 유일한 서비스:

# systemctl --failed

  UNIT              LOAD   ACTIVE SUB    DESCRIPTION[email protected] loaded failed failed User Manager for UID 1000

기본적으로 동일한 설정을 사용하는 몇 가지 다른 Arch 설치가 있지만 문제는 존재하지 않습니다. 그래서 기계만 손상시킨 것 같아요.

다시 시작해도 도움이되지 않았습니다.

echo$XDG_RUNTIME_DIR이 설정되었다는 메시지가 표시되면 오류의 원인을 찾기 위해 무엇을 확인할 수 있나요?

나는 시스템 소스 코드에 익숙하지 않습니다. 확실히 살펴볼 가치가 있는 곳입니다. 결국에는 그렇게 하겠지만 누군가가 나에게 힌트를 줄 수 있을 것입니다.

답변1

pam_syslog아래에서 발췌한 몇 가지 추가 로그 항목( ) 을 추가했습니다 journalctl --boot.

존재하다pam_systemd.c

453        if (streq_ptr(service, "systemd-user")) {

입력되지 않았습니다. 나중에 계속됩니다. 그 이후의 행은 MYISSUEupdate실행되지만 문제가 되는 오류 항목 이후입니다.

   673            r = update_environment(handle, "XDG_RUNTIME_DIR", runtime_path);
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUE
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUEafter
    Aug 25 15:49:18 arch0713 kernel: audit: type=1006 audit(1566740958.028:33): pid=424 uid=0 old-auid=4294967295 auid=1000 tty=tty1 old-ses=4294967295 ses=1 res=1
    Aug 25 15:49:18 arch0713 systemd-logind[397]: New session 1 of user roland.
    Aug 25 15:49:18 arch0713 systemd[1]: Created slice User Slice of UID 1000.
    Aug 25 15:49:18 arch0713 systemd[1]: Starting User Runtime Directory /run/user/1000...
    Aug 25 15:49:18 arch0713 systemd[1]: Started User Runtime Directory /run/user/1000.
    Aug 25 15:49:18 arch0713 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user-runtime-dir@1000 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? te>
    Aug 25 15:49:18 arch0713 kernel: audit: type=1130 audit(1566740958.058:34): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user-runtime-dir@1000 comm="systemd" exe="/usr/lib/systemd/sy>
    Aug 25 15:49:18 arch0713 systemd[1]: Starting User Manager for UID 1000...
    Aug 25 15:49:18 arch0713 systemd[572]: pam_unix(systemd-user:session): session opened for user roland by (uid=0)
    Aug 25 15:49:18 arch0713 systemd[572]: Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
    Aug 25 15:49:18 arch0713 kernel: audit: type=1130 audit(1566740958.078:35): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user@1000 comm="systemd" exe="/usr/lib/systemd/systemd" hostn>
    Aug 25 15:49:18 arch0713 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user@1000 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res>
    Aug 25 15:49:18 arch0713 systemd[573]: pam_unix(systemd-user:session): session closed for user roland
    Aug 25 15:49:18 arch0713 systemd[1]: [email protected]: Failed with result 'protocol'.
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUEafter1
    Aug 25 15:49:18 arch0713 systemd[1]: Failed to start User Manager for UID 1000.
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUEafter2
    Aug 25 15:49:18 arch0713 systemd[1]: Started Session 1 of user roland.
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUEafter3
    Aug 25 15:49:18 arch0713 login[424]: pam_systemd(login:session): MYISSUEupdate

그러다가 이걸 발견했어요유제.

나는 비교했다

/etc/pam.d/systemd-user

account include system-auth
session include system-auth
auth required pam_deny.so
password required pam_deny.so

이전에 문제가 있었던 설치가 최신 설치에서 작동했습니다.

account include system-login
session required pam_loginuid.so
session include system-login

이것을 복사하면 문제가 해결되었습니다. 이는 명령으로 변경되지 않은 것으로 보입니다 pacman -Syu. 나는 그것을 찾지 못했다태평양 신규.

관련 정보