SSHセッション終了時に画面が消去されるのを防ぎます

SSHセッション終了時に画面が消去されるのを防ぎます

SSH経由で接続する必要があるすべてのリモートシステムにいくつかのドットファイルをプッシュするようにrdistを設定しました。また、これらすべてのシステムのデフォルトシェルとしてzshがあります。

コンピュータにSSHで接続して終了すると、画面が消去されます。私はこの行動が迷惑だと思います。この動作を停止するために私がやろうとしているのは、/usr/bin/clear私のファイルの行をコメントアウトすることです.logout。次に、この更新されたファイルをすべてのリモートコンピュータに展開します。

問題は、これがうまくいかないことです。私はこれについて確信していませんが、.logoutそれはcshのためのものだと思いましたが、それは私にはない.zlogout(または.bash_logout両方)ありません。他のポイントファイル(たとえば、、).zshrcには.zshenv画面が消去される現象は表示されません。 「新しい」シェルセッションを取得するためにリモートシステムにSSHで接続すると、exec zshSSHセッションを終了したときに端末は消去されません。しかし、それ以外には問題が残っています。接続したすべてのコンピュータで終了すると、画面が消去されます。

とにかく、リモートコンピュータのデフォルトシェルをbashに設定しても同じ問題は発生しないようです。だから問題はzshにあると思います。

私はドットファイルが正しく割り当てられていることを確認するためにドットファイルを調べました。それ以外にもアイデアが足りません... SSHを終了したときに端末が消去され続けるのはなぜですか?

編集:問題の原因を見つけました。/etc/zlogout多くのリモートコンピュータにファイルがあります。私はこれらのコンピュータの多くに対するsudo権限を持っておらず、世界中でユーザーに影響を与えたくありません。の機能をオーバーライドする方法はありますか/etc/zlogout?ファイルを作成するだけでは$HOME/.zlogout機能しないようです。

答え1

RHEL 7のZshは同じように動作します。つまり、sshログアウト中に端末が消去されます。

(ターミナルによっては、最後の端末出力が失われたり、単にスクロールして見えなくなります。)

/etc/zlogoutこれは、以下を含むzshパッケージの一部であるためです。

clear

(他のコマンドは含まれていません)

ログアウト中に読み取りを完全に無効にすることで、.zlogout自分のファイルからこのクリーンアップを上書きできます。/etc/zlogout

$ cat ~/.zlogout
setopt norcs

rcs オプションを無効にする特定の実行制御ファイルのソースを無効にします。したがって、名前は次のようになります。実行制御ソースなし

関連情報