私のYocto Linuxシステムのシリアルコンソールにminicomを接続するのに面倒な問題があります。
私が入力したコマンドは、同じ行の80番目の文字の後に表示されます。これにより、作業が非常に不便になります。行の先頭に入力した内容はすべて行の最後の文字で上書きされます。
同じシステムへのSSH接続が正しく機能します。 80番目の文字の後、sshは次の行に移動します。
sttyの設定は次のとおりです。
stty -a
speed 115200 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon -iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
minicomの-wオプションは効果がありません。まだ同じ行動
minicom -w
このコンピュータではこのresize
コマンドを使用できません。どのパッケージに属していますか?おそらく私がインストールできると思います。
この動作をどのように修正できますか?
答え1
これは私にとって効果的です。ウィンドウサイズを確認し、コンソールGUIに合ったサイズに設定するには、ターゲットシェルを設定する必要があります。シリアルポートを介してPuttyまたはminicomに接続した後:
shopt -s checkwinsize
resize
答え2
シリアルラインを介して接続すると、システムは端末とウィンドウサイズをネゴシエートできません(NAWS -ウィンドウサイズのネゴシエーションはいRFC 1073)。この場合、システムのデフォルトサイズを取得することも、ゼロのみを取得することもできます。どちらもシェルのラインエディタを混乱させます。なぜなら、ラップ機能を使用するには端末の実際の幅を知る必要があるからです。
bashは混乱し、ターミナルの単語改行機能のために改行されたと考え、行の編集/表示の一部として現在の(間違った)行の先頭に移動します。
回避策として、ほとんどの端末(minicomを含む -ソースの表示)、エスケープシーケンスを使用して報告されたカーソル位置に応答できるシリアルインタフェースを使用します。resize
ウィンドウサイズを探し、副作用として端末ウィンドウのサイズのシステムアイデアを設定します。