ターミナル入出力がおかしくなったときの直し方
Linux や WSL のターミナルで入力した文字が表示されなくなったり、改行されなくなったときは以下を実行する。 code:bash
reset
reset は tput(1) を clear,rmacs,rmm,rmul,rs1,rs2,rs3 引数を付けて呼ぶ。すると tput は、現
在の端末に適合したリセット文字列を送る。 文字列の情報は、 GNU または BSD tput では
/etc/termcap から取得され、 ncurses の tput では /etc/terminfo から取得される。 この文字列
シーケンスで、 「妙な」文字を表示しはじめた Linux 仮想コンソールをリセットするには充分なよ
うである。 端末を cooked モード (加工モード) に戻そうとする試みにおいては、 うまくいってい
るかどうかを確認するため、 stty(1) が引数 sane とともに呼び出される。
/icons/hr.icon
code:sh
stty sane
stty - 端末ラインの設定を変更・表示する
引き数無しで実行された場合、 stty は転送レート (baud rate)、ライン制御番号 (line discipline number: サポートされているシステムの場合)、 および `stty sane' の設定から変更された行設定 (line settings) を表示する。 デフォルトでは、 モードの取得と設定は標準入力に接続されている端末に対して行われる (しかし --file も見よ)。
sane
cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany imaxbel 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 と同じ。 また同時にすべての特殊文字をデフォルトの値に戻す。