web-dev-qa-db-ja.com

Xtermは力線を完全に消去していません

AIXUnixで実行されているbashスクリプトアプリケーションを備えたCygwinXServerでWindowsクライアントを実行しています。サーバーにSSHで接続し、次にxtermを使用してクライアント端末を作成するログインスクリプトがあります。

これは、フィールドが更新され、______行が消去された後、最後に1つの.が残っているため、フォーム画面を除いて正常に機能しています。

さまざまなフォントとサイズを試しましたが、何をしても、行が消去された後、その1つの.が残ります。

何か案は?

6
Kenoyer130

期待して、生のvt100コマンドを使用して画面をクリアできます。

puts -nonewline \033\[2J 
flush stdout

それが私の stackoverflowに関する質問 の解決策でした。おそらくそれはあなたを助けることができます。

生成されたsshセッションのexpectスクリプトにインタラクション「フック」を設定する例は、次のようになります。

spawn ssh -Y [email protected]
#password sequence...
set CTRLA \001
#don't time out
set timeout -1 
interact {
    $CTRLA {
        #clear screen
        puts \033\[2J
    }
}

次に、そのCtrl + Aキーストロークを押した場合にのみ、クリアコマンドを送信します。また、画面上で特定のフィールドまたは文字が表示されたときに対話してアクションを実行することもできます。

-o -nobuffer -re {(\[1;14H} {
    #clear screen
    puts \033\[2J
}
2
jjclarkson