テキストモードとシミュレートされたテキストモード:どのように機能しますか?

テキストモードとシミュレートされたテキストモード:どのように機能しますか?

GNOMEでターミナルを開くときに得られるテキストモードと、GUIなしでサーバーLinuxディストリビューションと対話するときに得られるテキストモードの違いを知りたいです。

端末と呼ばれるプログラムがエミュレータであることを知っています。私は背後のメカニズムを理解したかったのです。たとえば、scanf()どちらの場合も、経営陣にどのように電話しますか? 「ターミナル」がGUIベースのテキストモードを実装している場合、代替テキストモードのソースは何ですか? (点滅しているカーソルを表示し、移動するコードなどを意味します。)BIOS?コア?ユーザー空間のプロセス?

ベストアンサー1

すべての場合において、シェルは、TTY または PTY デバイスと使用する正しい端末制御コード・セットを識別する TERM 環境変数を検査します。

GNOMEのターミナルウィンドウを使用すると、デバイスはUNIX 98スタイルPTY:です/dev/pts/*。ターミナルウィンドウがアクティブでX11 / Waylandキーボードイベントを受け取ると、GNOMEターミナルプロセスはそれをUTF-8文字に変換してPTYデバイスの「デフォルト」側に入力するので、CLIプロセスはそれを他の側から取得します(伝統的に)PTYデバイスの「スレーブ」側です。

出力は同じ方法で処理されます。 CLIプロセスはUTF-8文字と端末制御コード(TERM環境変数で識別された正しいコードセット)をPTYデバイスに書き込み、GNOME端末プロセスはPTY側でそれを読み取ります。デバイスを端末入力シミュレーションとして使用し、シミュレートされたビューをX11 / Waylandグラフィックとしてレンダリングします。

Linux仮想コンソールデバイス(/dev/tty[1..n])では、ターミナルエミュレーションがカーネルで実行されることを除いて、プロセスはほぼ同じであるため、ユーザースペースに表示される「デフォルト」PTYデバイスと同等のものはありません。

シリアルコンソールで作業している場合、CLIプロセスは「実際の」TTYデバイスであるシリアルポート(/dev/ttyS[0..n])を取得します。シリアルケーブルのもう一方の端にあるものは何でも残りを処理します。最近では、Linuxを実行しているノートブックminicomやシリアルポートのサポートを含むかなり新しいPuTTYバージョンなどの他の端末エミュレーターがあります。それとも実際の端末かもしれません。実際のDigital VTシリーズ端末またはHP 700/96です。

またはあなたがいる場合真剣に逆計算を入力すると、1930年代の電気機械モンスターです。

おすすめ記事