擬似端末とは? わかりやすく解説

擬似端末

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/12 14:24 UTC 版)

擬似端末(ぎじたんまつ、英語: pseudo terminal)または疑似ターミナルとは、UNIXにおけるテキスト端末の擬似デバイスマスター・スレーブのペアである。仮想コンソール端末装置シリアルポートハードウェアなどを使用しないテキスト端末のインターフェイスを提供する。これらのハードウェアの代わりに、擬似端末セッションの役割をソフトウェア(プロセス)が代用する。例えば、SSHなどでログインするとこの端末に接続される。

擬似端末の生成

擬似端末は利用可能なマスターデバイスファイルを開く通常のシステムコールを用いて生成でき、マスターファイルに対するファイルディスクリプタが呼び出し元プロセスに返される。通常ライブラリ関数が存在しており、最初に利用可能なマスターデバイスファイルを開き、対応するスレイブデバイスの権限を初期化する(例: BSD UNIXシステムにおけるopenpty(3))。

BSD PTY

たとえば最初に利用可能なマスターファイルデバイスが /dev/ptypa である場合、ほとんどのライブラリ関数はマスター(/dev/ptypa)のディスクリプタと対応するスレーブ(/dev/ttypa)のディスクリプタを返し、事前に定義された方法でスレイブ・デバイスの権限を確立する。

一般的には、現在どこかで開かれている擬似端末マスターデバイスは開くことができない。

Unix98 PTY

multiplexerデバイス(通常 /dev/ptmx)を含むSystem V由来のいくつかのシステムでは、オープンの際に最初の利用可能なマスターデバイスに関連付けられたディスクリプタを返す。スレーブデバイスは /dev/pts/1 などになる。

BSD PTY とは異なり、割り当てで競合したり、開ける数に制限がなかったりするので、現在は Unix98 PTY の方がより頻繁に使われている。

アプリケーション

擬似端末を利用する重要なアプリケーションとしては、X Window Systemxtermなどの端末エミュレータや、Mac OS Xなど他のウィンドウ・システムにおける端末アプリケーションが挙げられる。端末エミュレータのプロセスはマスターデバイスに、シェルはスレイブデバイスに関連付けられる。端末エミュレータのセッション内のシェルで行われた操作(端末のリサイズやリセット)は、端末エミュレータ自身のプロセスによって受信され、ハンドルされる。端末エミュレータはウィンドウのイベントを利用してキーボードやマウスからの入力を受け取ることによりこれらのキャラクタをシェルに送信でき、本来のハードウェア・オブジェクト相当の端末エミュレータの外観をシェルに加えている。

また、重要なアプリケーションとしては、擬似端末によって橋渡しされ対応するシェルにとってのマスターとしてサービスを提供するsshtelnetサーバのようなリモートログインハンドラも挙げられる。

主要なアプリケーションとして他にexpect英語版が挙げられる。多くのプログラムはさまざまなデフォルトのバッファ動作を理由に振る舞いを変えてしまうが、expectではサブプロセスがユーザではなくプログラムによって制御されていることを隠蔽するために擬似端末が利用され、端末に結びついた任意のサブプロセスの自動化を可能にしている。

関連項目





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「擬似端末」の関連用語

擬似端末のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



擬似端末のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの擬似端末 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS