RLogin+OpenSSH+Nyagosで画面が消去される件。

OpenSSH for Windows と RLogin でシェルに Nyagos を指定しているのですが、接続直後になにかメッセージを表示した後で消去され、Nyagos の開始メッセージが表示されます。

なにが表示されているのか気になったので、RLogin で起動直後からログファイルに吐き出すようにしてみました。

Buon Giorno!
This is SSH server CHIYO7000.
Have fun!
\e[2J\e[?25l\e[m\e[H

\e[H\e]0;c:\apps\nyagos\nyagos.exe \g\e[?25h \e[H\e[?25lNihongo Yet Another GOing Shell 4.4.1_1-windows-amd64 by go1.11.5\e[66X\e[66C
(c) 2014-2019 NYAOS.ORG \e[85X\e[85C

最初の3行は、OpenSSH に出力されるようにした Welcome メッセージです。デフォルトの英語と区別しやすいように挨拶はイタリア語にしてあります。

そのあと、以下のようにエスケープシーケンスを出力しています。エスケープシーケンスはエスケープシーケンス一覧を参照しました。
  1. \e[2J - 全画面消去
  2. \e[?25l - カーソルを非表示
  3. \e[m - すべての文字属性を解除
  4. \e[H - カーソルを原点に移動(?)
ここまではたぶんOpenSSHからの出力でしょうか。次にNyagos前後です。
  1. \e[H - カーソルを原点に移動
  2. \e]0;c:\apps\nyagos\nyagos.exe \g - ウィンドウタイトルを "c:\apps\nyagos\nyagos.exe" に変更
  3. \e[?25h - カーソルを表示
  4. \e[66X - 現在のカーソル位置から66文字消去
  5. \e[66C - カーソルを66桁右に移動
  6. \e[85X - 現在のカーソル位置から85文字消去
  7. \e[85C - カーソルを85桁右に移動

エスケープシーケンスのみ抜き出してみましたが、特に意味のあることはやっていないようです。が、最初の全画面消去はいらない気がします。SSHで接続しているんだから、むしろ残しておいてほしい感じです。残す方法があるのかどうかはちょっと調べてみます。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...