メディアサーバーにSSHで接続すると、不要なプロセスが複数起動します。
/usr/lib/systemd/systemd --user
/usr/bin/dbus-broker-launch --scope user
dbus-broker
/usr/bin/pulseaudio --daemonize=no --log-target=journal
もちろん、GUIセッションを開始するにはpulseaudioとdbusだけが必要です。
systemd を終了すると、そのプロセスは終了します。 SSHセッションでは何も壊れていないようです。
さらに悪いことは、ログアウトしてもこれらのプロセスが終了しないことです。
どうすればこれを止めることができますか?
私はできます。
systemctl --user disable pulseaudio.service dbus-broker.service
...しかし、GUIログインを実行している場合(モニターやヘッドレスロックセッションなど)、この情報が必要です。
私は、世界中のシステム管理者が単純なSSHログインが生成する偽のプロセスに怒り、さらに悪いことにログアウト時に実行することを残しているので、熊手を持って城Systemdに行進すると予想しました。
これはfedora-33にあります。
答え1
ユーザーセッションの開始は呼び出しによって発生しますpam_systemd.so
(Debianシステムでは、この呼び出しは行/etc/pam.d/common-session
で参照されます)。@include common-session
/etc/pam.d/sshd
全体を使用しないように入れてくださいUsePAM no
。/etc/ssh/sshd_config
sshd
プラグ型認証モジュールメカニズムsystemd
フック。
または@include common-session
、上記の行だけをコメントアウトすることもできます/etc/pam.d/sshd
。