Ubuntu 16.04.04 LTSサーバーがあります。仕事をtty1
し、昼食をとりました。その間にデスクトップモニターがスリープ状態になりました。戻るとを押すと、Esc画面が目覚め、中断した直後にそのプロンプトが表示されましたtty1
。しかし、入力を開始したときに入力した文字がプロンプトに表示されないことがわかりました。キーボードが機能していないようですが、キーを押すたびに画面に既存のテキストが点滅していることがわかります。だから(A)物理的なキーボード接続の問題ではなく、(B)ちょっとちらつく現象によってキーがどこかに登録されるようです。
もう一度確認するために、キーを押してCtrlAltF2入力tty2
(ユーザー名とパスワード)を開始しましたが、キーボードで押した文字が期待どおりに表示されました。だから私のキーボードはtty2
(andtty3
など)tty4
で正しく動作するようです。
それで、再び行ってtty1
鍵が見えないことを発見しました。tty1
他の端末に移動するファンクションキー以外は、どのキーの組み合わせも機能しないようです。
キーストロークをに表示する方法がわからないので、試しましたが、tty1
入力shutdown
できません。だから行って入りました。で、このコマンドはコンピュータのシャットダウン時期を登録して表示します。終了する時間になると、他のプロセスが進行中であるというメッセージが表示されます(正確なフレーズは覚えていません)。シャットダウンを終了しようとしましたが中断されました。それでそこでドアを閉めようとするとまた閉まってしまいました。だから、最終的にコンピュータの電源ボタンを数秒間押して、奇妙な方法でコンピュータをシャットダウンしました。コンピュータを再起動すると問題がなくなり、すべてが正常に動作しているようです。shutdown
tty1
tty2
shutdown
tty2
CtrlCtty3
のキーは表示されませんが、画面が点滅するのはなぜですかtty1
? これを理解したいです。
ベストアンサー1
文字ベースのコンソール(tty1
などtty2
)は端末エミュレータです。シリアルポートに接続された端末の動作を模倣し、いくつかのLinux関連の拡張があります。エミュレーションにはXON / XOFFハンドシェイクのサポートが含まれており、これらのハンドシェイクの文字は誤ってキーボードで簡単に生成される可能性があります。
Control-Sを押すとXOFF制御文字が送信されます。この文字は、Control-Q(XON文字とも呼ばれる)を押すまで端末への出力を停止します。入力は実際に出力とともに停止しません。 XOFFが適用されている間に何も入力すると、Ctrl-Qを押すとすぐにその文字が出力されます。
stty
この機能は、コマンド(特にixon
フラグを使用)を使用して制御できますixany
。機能を完全に無効にするには、を使用してstty -ixon
再度有効にし、を使用しますstty ixon
。機能が有効になっていると、stty ixany
すべてのキーが出力を復元し、stty -ixany
Ctrl-Qでのみ復元できます。
このixoff
フラグは反対方向に送信するために使用されます。サーバー側の入力バッファーがオーバーフローする危険性がある場合、サーバーはCtrl-Sを端末に送信して、前の入力が処理されるまで転送を停止します。 Linuxコンソールでは、サーバーと端末が同じ物理プロセッサを共有するため、これはあまり役に立ちません。ただし、ixon
フラグを使用してテキストを読み取るためにスクロールを一時停止できるため、これはまだ便利です。
ixon -ixoff -ixany
Linuxコンソールのデフォルトの状態は、Control-Sがコンソールへの出力を停止でき、Control-Qのみが出力を再開できるようです。