SSH経由で接続する必要があるすべてのリモートシステムにいくつかのドットファイルをプッシュするようにrdistを設定しました。また、これらすべてのシステムのデフォルトシェルとしてzshがあります。
コンピュータにSSHで接続して終了すると、画面が消去されます。私はこの行動が迷惑だと思います。この動作を停止するために私がやろうとしているのは、/usr/bin/clear
私のファイルの行をコメントアウトすることです.logout
。次に、この更新されたファイルをすべてのリモートコンピュータに展開します。
問題は、これがうまくいかないことです。私はこれについて確信していませんが、.logout
それはcshのためのものだと思いましたが、それは私にはない.zlogout
(または.bash_logout
両方)ありません。他のポイントファイル(たとえば、、).zshrc
には.zshenv
画面が消去される現象は表示されません。 「新しい」シェルセッションを取得するためにリモートシステムにSSHで接続すると、exec zsh
SSHセッションを終了したときに端末は消去されません。しかし、それ以外には問題が残っています。接続したすべてのコンピュータで終了すると、画面が消去されます。
とにかく、リモートコンピュータのデフォルトシェルを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 オプションを無効にする特定の実行制御ファイルのソースを無効にします。したがって、名前は次のようになります。実行制御ソースなし