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