端末とコンソールの簡単な紹介

ドラゴンはここに住んでおり、メンターはいません (エピグラフの代わりに)



「擬似端末とは」および「コンソール」の非常に簡潔な戦闘の説明。



それでは、まず、コンソールとは何かを判断しましょう。コンソールは、ユーザーからボタンを受け取り、画面からの文字とコンピューターへの接続からのスペシャルを受け取るプログラムです。 画面に絵を描くためのコマンド。



ターミナルは、プログラムと特別なハードウェアの両方の一般的な名前です(本質的にそのようなものはありません)。 特別な例外は、スイッチ/ルーター/モデム(またはサーバー)のシリアルポートに接続するためにputtiまたは他の誰かを起動する場合です。ケーブル(つまり、最後にぶら下がっています))。



ケーブルで簡単に理解できるように、端末と、ケーブルにバイトを送信するという2つの目的があります。



シェルが起動すると、仮想デバイス/ dev / ttyを自由に使用できます。各プロセスには独自のデバイスがあります。これはターミナルの「反転」部分です。 ケーブルの場合の前部は、putti +コンピューターによって実装され、コンピューターコンソールの場合は、専用のカーネルドライバー(仮想コンソール)によって実装されます。 重要:ドライバーは端末の存在をエミュレートします。



unix98インターフェース(/ dev / ptmx)があります。これにより、適用されるすべてのアプリケーションに対していくつかの「入力および出力」を作成できます。 この場合、半分は「バック」半分を表し、2番目はコンソールです。 特に、opensshおよびx端末で使用されます。



この場所には多くの混乱がありますが、ルールは単純です。一方では描画するもの、他方では描画するものを言うものです。 彼らが描く側では、キーボードを持つユーザーは同じ側にいます。 彼のデータはプログラムの反対側に送られます。



「プログラム」側からの最も頻繁なプログラムは、さまざまなタイプのgetty(mgetty、atettyなど)です。そのタスクは、チャネル速度を設定し、ログインコマンドを実行してパスワードを入力することです。



フロント部分(描画バイト)は、仮想Linuxコンソール、ターミナルプログラム(ほぼすべて)、またはシリアルコードの背後にあるターミナル(別のコンピューターなど)です。



各描画デバイス(端末、仮想コンソールなど)には、独自の機能セット(サポートされている文字とコマンド)があります。 端末タイプはTERM変数によって設定されますが、どの端末で動作するかをプログラムに伝えるという意味でのみです。 TERM変数が端末に他の端末をエミュレートさせることは不可能です-この変数については何も知りません。



突然のアプリケーション:KVM、XEN(および、確かではありませんが、OpenVZはそうです)は、このメカニズムを使用して仮想マシンのコンソールにアクセスします:dom0のデーモンと相互作用する仮想マシンに特殊なデバイスが作成されます。 domUから見ると、端末用のシリアルデバイスがあります。 このデバイスでログイン行を表示するには、inittabでgetty呼び出しで行を登録し、ログイン(/ etc / securetty)を有効にする必要があります。



dom0では、デーモンはdomUからシリアルデバイスを認識し、/ dev / ptmxを使用して対応する擬似端末を作成します)。 端末を接続するために作成されたデバイスは、/ dev / pts / *に表示されます。 さらに、consoledは、xenstoreにどのドメインがどのドメインに対応するかを書き込みます。専用の端末マシン(xenconsole)はこれを読み取り、実行できます。 xl console(xm console)コマンドが指定されると、指定されたパラメーターでxenconsoleを呼び出します。



xenconsoledの代わりに、他のterminalkaを使用できます-少なくともminicom、少なくともcu、少なくともsocat、少なくともputty。 コンソールに接続した後、使用するコンソールのタイプを設定するのが正しいです(set TERM = linuxまたはset TERM = xterm、vt100にインストールすると白黒の画面が表示されます)。



モデムによるマシンへの接続を整理するのとまったく同じ方法(他の人が覚えている場合)-モデムは、シリアルポートをNキロメートルだけ延長します。 一方で、自動的に応答し、mgettyを切るようにモデムを設定する必要があります(そして/ etc / securettyを忘れないでください)一方で、番号をダイヤルして通常のログインメッセージを取得する必要があります。



それは非常に簡潔で、どの擬似端末の記述でしたか。 完全に機能する方法を完全に理解するには、テレタイプと機械式タイプライターのデバイスから始める必要があるため、完全はほぼ不可能です。



実現する必要がある主なポイントは、ttyには常に2人の参加者がいて、1人は自分で描画するか、ユーザー端末が描画するように画面にコンテンツを投げることができ、もう1人はシーケンスを描画して受け入れるコマンドを与えることですボタンを押します。



主な読み物: tldp.org/HOWTO/Text-Terminal-HOWTO.html



All Articles