MOTDが表示される前に画面の内容をクリアして、サーバーにSSHで接続したときに、ローカルマシンで実行されていた以前のコマンドではなく、MOTDヘッダーが画面の上部に表示されるようにします。
clear
を.bashrc
に追加しようとしましたが、MOTDもクリアされます。
例:「WelcometoUbuntu ...」より上のすべてをクリアします。
質問: MOTDメッセージが表示される前にすべてのコンテンツを削除するにはどうすればよいですか?
MOTDは、ログイン直後に、最新のLinuxディストリビューションのpam認証モジュールによって表示されます。その前にユーザースクリプトは実行されません。
Motdファイルを変更するだけで、ターミナルエスケープシーケンスを介して画面をクリアできます。 <esc> [2J <esc> [; Hは画面をクリアし、ジャンプアップします。 motdファイルをvimで開き、i(挿入モード)を押し、ctrl + vを押し、escボタンを押します。 ^ [が表示されます。アスキー27エスケープ文字を入力しました。 [2J、ctrl-v esc、もう一度[; H。次に、escを押し(ctrl-vなし、これはviの挿入モードをエスケープするため)、Shift + Zを2回押します。
画面はすべてのvt100互換端末でクリアされます。
もう1つのオプションは、pamでmotdを無効にすることです。 /etc/pam.dディレクトリでpam_motd.soを検索します:grep pam_motd/etc/pam.d/*。おそらくあなたは次のようなものを見つけるでしょう
session optional pam_motd.so
#でコメントアウトします。独自のmotdを実装します(選択したinitスクリプトで/ etc/motdファイルをcatします)。もちろん今、あなたは猫の前にクリアすることができます。
~/.ssh/config
ファイルを編集(または作成)して、行を追加します
PermitLocalCommand yes
LocalCommand /usr/bin/clear
上部近く。これは、サーバーへの接続が成功した後、クライアント(つまりローカルマシン)でclear
を実行します。