tty1 にはボタンは表示されません。

tty1 にはボタンは表示されません。

Ubuntu 16.04.04 LTSサーバーがあります。仕事をtty1し、昼食をとりました。その間にデスクトップモニターがスリープ状態になりました。戻るとを押すと、Esc画面が目覚め、中断した直後にそのプロンプトが表示されましたtty1。しかし、入力を開始したときに入力した文字がプロンプトに表示されないことがわかりました。キーボードが機能していないようですが、キーを押すたびに画面に既存のテキストが点滅していることがわかります。だから(A)物理的なキーボード接続の問題ではなく、(B)ちょっとちらつく現象によってキーがどこかに登録されるようです。

もう一度確認するために、キーを押してCtrlAltF2入力tty2(ユーザー名とパスワード)を開始しましたが、キーボードで押した文字が期待どおりに表示されました。だから私のキーボードはtty2(andtty3など)tty4で正しく動作するようです。

それで、再び行ってtty1鍵が見えないことを発見しました。tty1他の端末に移動するファンクションキー以外は、どのキーの組み合わせも機能しないようです。

キーストロークをに表示する方法がわからないので、試しましたが、tty1入力shutdownできません。だから行って入りました。で、このコマンドはコンピュータのシャットダウン時期を登録して表示します。終了する時間になると、他のプロセスが進行中であるというメッセージが表示されます(正確なフレーズは覚えていません)。シャットダウンを終了しようとしましたが中断されました。それでそこでドアを閉めようとするとまた閉まってしまいました。だから、最終的にコンピュータの電源ボタンを数秒間押して、奇妙な方法でコンピュータをシャットダウンしました。コンピュータを再起動すると問題がなくなり、すべてが正常に動作しているようです。shutdowntty1tty2shutdowntty2CtrlCtty3

のキーは表示されませんが、画面が点滅するのはなぜですか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 -ixanyCtrl-Qでのみ復元できます。

このixoffフラグは反対方向に送信するために使用されます。サーバー側の入力バッファーがオーバーフローする危険性がある場合、サーバーはCtrl-Sを端末に送信して、前の入力が処理されるまで転送を停止します。 Linuxコンソールでは、サーバーと端末が同じ物理プロセッサを共有するため、これはあまり役に立ちません。ただし、ixonフラグを使用してテキストを読み取るためにスクロールを一時停止できるため、これはまだ便利です。

ixon -ixoff -ixanyLinuxコンソールのデフォルトの状態は、Control-Sがコンソールへの出力を停止でき、Control-Qのみが出力を再開できるようです。

関連情報