systemd は、SSH ログイン中に不要なデスクトッププロセスを開始します。

systemd は、SSH ログイン中に不要なデスクトッププロセスを開始します。

メディアサーバーに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_configsshdプラグ型認証モジュールメカニズムsystemdフック。

または@include common-session、上記の行だけをコメントアウトすることもできます/etc/pam.d/sshd

関連情報