私は、ptsデバイスファイルが「ハードウェアに直接接続されていない」(ssh、telnet)疑似ターミナルで使用されるといういくつかのサイトを読みました。
あなたのコンピュータで実行されているxtermはキーボードの出力を直接接続して画面に表示しますが、なぜ疑似端末デバイスファイルを使用するのですか?
ttys ptsについての他の質問を読んだのですが...これを扱っていないようです。
また、「医師ターミナル」が最終的に入力と出力のあるデバイスファイルであれば、そのソースがなぜ重要なのでしょうか。
事前にありがとう
答え1
カーネル内で管理されている端末に関しては、キーボード信号のようなものがありますCtrl+Z
。停止信号)、フロントエンド、およびバックグラウンドプロセスグループを管理し、非常に単純なレイアウトメカニズムを使用して転送します。ため息をつく端末が消えるとその他の詳細。
ハードウェア端末の場合、端末装置はアプリケーションとハードウェアの間に位置する。ターミナルデバイスのタイプは、(Linuxの場合)/dev/tty1
PCキーボードと画面、/dev/ttyS0
シリアル回線を介して接続された端末、/dev/ttyUSB0
USBを介して接続された端末などのハードウェアの種類によって異なります。
+-------------+ +-----------------+ +-------------+
| text mode | | kernel | | peripheral |
| application |<------->| e.g. /dev/ttyS0 |<------->| e.g. on a |
| | | | | serial port |
+-------------+ +-----------------+ +-------------+
と端末エミュレータ、原則は同じで、接続はまだカーネルドライバを通過しますが、もう一方の端もプロセスです。
+-------------+ +-----------------+ +-------------------+
| text mode | | kernel | | terminal emulator |
| application |<------->| /dev/pts/* |<------->| e.g. xterm, sshd, |
| | | | | screen, ... |
+-------------+ +-----------------+ +-------------------+
Xterm、telnetd1、sshdなどは、どのハードウェアにも(直接)接続されていません。キーボードからキーを入力すると、情報はキーボード(物理デバイス)を介してカーネル内のキーボードドライバに渡され、その後キーボードデバイスを受信するプロセスに渡されます。グラフィックセッションにある場合、手順は次のとおりです。Xサーバーその後、そのウィンドウにフォーカスがあるプロセスに情報が渡されます。代わりに、xterm内で実行されているプログラムが出力を生成すると、xtermはXサーバーが特定の場所に特定のフォントで特定の文字を表示するコマンドに変換します。入力を処理したり出力を生成したりするプロセスの近くには関連するハードウェアがなく、ハードウェアもまったく関連していない可能性があります(たとえば、xtermウィンドウが画面に表示されない場合、または端末が表示されている場合は、少なくともローカルには表示されません)。 Telnet または SSH サーバーで提供されます)。
1端末はリモート(サーバー)側にあります。
答え2
以下は、質問に対する回答を見つけたリンクです。デフォルトでは、端末エミュレーションをユーザー空間に移動するために作成されたと言います。ページの上部にあります。