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。見つかりませんでした太平洋新規

関連情報