端末ファイルと端末画面の違い

端末ファイルと端末画面の違い

私は最近ターミナルに関する質問をしましたが、これはそれ自体で質問する価値があるようです。もし端末これは〜になります端末と同義語、デバイスドライバ/デバイスファイル自体、端末への実際のインターフェースを提供するものは何であり、これを何と呼びますか?何らかの方法でGUIを意味するのではなく、テキストが印刷され読み取られる実際の領域(仮想端末または疑似端末)を意味します。 これは端末の一部と見なされますか?これらは何とかカーネルによって制御されますか?基本的に、誰かがgnome-terminal(または仮想端末)などのコンソールプログラムを作成したい場合は、入力と出力を可能にするカーネルベースのウィジェット/インタフェースの一種がありますか?デフォルトでは、tty(自己/ dev / tty)は単純なファイルであるか、出力(さまざまな色と太さで)を表示してキーボードから読み取るために必要なコードが含まれています。

これは正しいですか?ここで見つけました。「ターミナル」、「シェル」、「tty」、「コンソール」の正確な違いは何ですか?つまり、ttyは端末と同義です。これが私を混乱させることです。ターミナルをエミュレートしたりターミナルを提供したりするには、ターミナルドライバ(tty)とターミナルの表示と対話部分(xtermに似ている)が必要だと思います。それでは、tty自体は入力と出力のためのドライバであり、ttyでテキストを表示して読み取るのはxtermのようなものですか? 「/dev/tty ターミナルドライバ」を「/dev/tty ターミナルドライバ」と呼ぶのは正しいですか?また xterm と言えば $TERM var の値を参照することです。

別の考え方(お知らせください):ttyファイルは、端末または今日の端末エミュレータとシェルの間の接続と同義です。これはすべて同じボックスにありますが、元のターミナルは(明らかに)今日のターミナルエミュレータですが、ttyまたはttyファイルはターミナルとシェル/OS間のシリアル接続に似ています。最近では、ターミナルエミュレータが/ dev / tty ...ファイルと対話するための環境/ウィンドウのようです。反対側にはシェルがあります。もしそうなら、/dev/ttyファイルへの書き込みはシリアルポートへの書き込みとシリアルポートからの読み込みと同じですか?私はこれが正確に動作する方法ではないと仮定し、どんな助けでも非常に感謝します:-(.

ベストアンサー1

元々「tty」には、ハードウェア(現在のエミュレータ)とドライバ(/dev/pty*または/dev/tty*を介して接続)の2つの定義がありました。

ハードウェア/エミュレータは以下を担当します。

  • データストリームを取得して提示します。これには、「カーソルの左へ移動」、「カーソルの点滅」、「画面の消去」などの制御シーケンスの解釈が含まれます。これらの制御シーケンスはしばしば製造業者によって異なる。
  • ユーザーが入力したキーのキーコードを送信します。ほとんどは標準ASCII文字ですが、一部の端末では標準キーの独自のキーコードも送信します。

「tty」ドライバは次のことを担当します。

  • 生または標準モードでバッファリングを管理します。たとえば、押すまで1行の文字をバッファリングしますEnter
  • Cntl-s制御フローを管理します。たとえば、/ stop / continueを使用できますCntl-q
  • 該当する場合は、独自のキーコードを標準ASCIIに変換します。
  • 特定の制御文字(たとえば、Cntl-cおよび)を傍受して適切に処理します(またはBackspaceにSIGINT送信)。Cntl-cCntl-d
  • たとえば、echo標準文字表示をオフにすると、フィードバック(入力された文字)は端末に返送されません。

terminfoデータベースとtermcapデータベースは、操作(たとえば「クリアスクリーン」など)のために送信する必要がある端末制御文字を管理します。これらの制御シーケンスはドライバではなくハードウェア/エミュレータによって解釈されます。

おすすめ記事