systemdのログインまたはGnome-wayland-sessionはhidepid = 2と互換性がありませんか?

systemdのログインまたはGnome-wayland-sessionはhidepid = 2と互換性がありませんか?

systemd問題を引き起こすインストールhidepid=2オプションの設定を示す文書はありますか/proc procfs

Gnome waylandセッションを開始する前に表示されるエラーメッセージの一部は次のとおりです。

systemd[330]: Started D-Bus User Message Bus.
gnome-session[339]: gnome-session-binary[339]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting use
gnome-session-binary[339]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login.
gnome-session[339]: gnome-session-binary[339]: WARNING: Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary
gnome-session-binary[339]: WARNING: Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary
gnome-shell[346]: Can't initialize KMS backend: Could not get session ID: No such file or directory
gnome-session[339]: gnome-session-binary[339]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session-binary[339]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session-binary[339]: Unrecoverable failure in required component org.gnome.Shell.desktop
gdm[296]: GdmDisplay: display lasted 0.735810 seconds

私はセッションIDがPIDを介して何とか取得されるようですが、これはgnome-sessionには表示されません。

この問題はArch Linuxディストリビューションで発生します。しかし、私はそれが上流の問題に関連していると思います。議論されているようです。Gentoo Wiki "systemdなしのGNOME"特に、Gnomeのウェイランドセッションはsystemdと緊密に統合されています。

systemdGnome waylandセッションと対話し、Gnome Xorgセッションよりもログインに依存するlogindマウントオプションの組み合わせのようです。hidepid=2 procfs

また、@sourcejediの回答で提供されたアドバイスに従い、ログインに対して/etc/fstab免除を作成しました。だから私は私の項目です。/etc/fstab

proc     /proc     proc     nosuid,nodev,noexec,relatime,hidepid=2,gid=26     0 0

ここで、26 は logind および polkitd グループが追加される proc グループの GID です。しかし、これは問題を解決できませんでした。

図からわかるようにhttps://www.freedesktop.org/wiki/Software/systemd/logind/

  インタフェースorg.freedesktop.login1.Manager {
    方法:
      GetSession(s session_idでは、
                 出力 o object_path);
      GetSessionByPID(PIDでは、
                      出力 o object_path);

PIDを使用してSessionIDを照会することが可能であるように見えます。オプションを使用するhidepid=2と、自然に問題が発生する可能性があります。

ベストアンサー1

https://wiki.archlinux.org/index.php/Security#hidepid

Xorgが機能するには、systemd-logindの例外を追加する必要があります。

/etc/systemd/system/systemd-logind.service.d/hidepid.conf
[Service]
SupplementaryGroups=proc

編集:文書にこれが必要な理由は記載されていません。上流を見るsystemd-logind.service、サービスユニットは別のユーザーとして実行されません。 (hidepidは一般的に該当しないと説明されていますroot)。しかしパスワード、私の考えでは、hidepidは実際にCAP_SYS_PTRACE機能を使用しているようです。systemd-logind.serviceCAP_SYS_PTRACEを含まない一連の機能に制限されます。

それにもかかわらず、これはArch LinuxのシステムPID 1がhidepidを使用して正常に起動できることを意味します。個人的にXorgがなくても、他のソフトウェアが同じsystemd-logind機能を使用している場合、この「例外」が必要かどうか心配されます。

おすすめ記事