端末エミュレータ

端末エミュレータ（たんまつエミュレータ、）とは、端末のエミュレーションを行うソフトウェアで、専用端末の代わりに使えるソフトウェアである。英語をそのままカタカナにしてターミナルエミュレータとも表記する。ターミナルソフト（）やターミナルアプリケーション（ともいう。

グラフィカルユーザインタフェース (GUI) 環境内でコマンドライン・インタフェースを提供する画面は端末ウィンドウやターミナルウィンドウ（）などと呼ぶ。「エミュレータ」や「ウィンドウ」を略して単に「ターミナル」と呼ぶことも増えているLinuxのメジャーな版（ディストリビューション）であるUbuntuでも単に「terminal ターミナル」ということが多い。理屈の上ではターミナル画面を「ターミナル」と略してしまうと、ターミナル（端末）そのものとターミナル画面の区別がつかなくなってしまうが、近年では、どうせ大型コンピュータの物理的な専用端末の実物などというもの（ほぼ歴史的な遺物になってしまったもの）に触れそれを会話内で呼ぶ必要がある人は（英語圏であれ、日本であれ）ほぼいないわけであるし、いちいち「terminal window」と言っていては長ったらしくて不便でしょうがないので、「terminal」で済ませるのが妥当だと判断されているのである。ITの世界は効率重視なので、「コンピューター」ではなく「コンピュータ」と言うなど、できるだけ短く、1文字でも短く表現するのが基本となっている。その結果、ついには「エミュレータ」を省いてしまうことも一般的になってきている。なお1990年代までは、一部に「端末模倣プログラム」と言う人もいたが、これは現在ではほぼ使われない。いわゆる死語である。

 概要 
端末エミュレータは、専用端末（物理的に存在する専用の端末）をエミュレートしてその機能を実現するソフトウェアであり、パーソナルコンピュータ (PC) やUnixワークステーションなどを専用端末の代わりとして使うことができるようにするソフトウェアである。基本的にはDEC VT100のエミュレーションをするソフトウェアをさすことが多く、通常はキャラクタベースのビデオ端末をエミュレートするが、グラフィック端末（xtermがTektronix 4014をエミュレートする）やプリンタのエミュレーションを行うものもある。

用途としては、通信経由でホストマシンに接続して使う用途もあれば、現にユーザが操作している眼の前のマシンのインタフェースとして利用し設定変更、ファイル操作、ソフトのインストール、ソフトウェア開発などのために使う用途もある。ソフトウェアの開発者がソースコードをコンパイルする場合も、その結果得られたオブジェクトコードを実行させる場合もターミナル画面でコマンドを入力する。昔、大型コンピュータのファイル操作をしたりそのソフトウェアの開発する場合も、たとえ通信経由でなくても、たとえば大型コンピュータが設置してあるコンピュータ・ルーム（計算機室）内で行う場合でも、結局、専用端末を操作したように、現代のソフトウェア開発者たちも、自分のパーソナルコンピュータでファイル操作やソフトウェア開発を行う時にはターミナル画面を開いてさまざまな操作を行っている。

端末エミュレータを動作させるコンピュータがウィンドウシステムを搭載している場合、これを利用して一つのコンピュータ上で複数の端末エミュレータを同時に稼働させることができることが多い。これは殆どの専用端末では実現できない機能である。

 エミュレートする端末 
実際の端末における、画面制御やキーボード制御、プリンタ制御など、入出力処理には統一された規格が存在しない。現在、端末エミュレータを使用する接続先はUnixが多いため、Unixで事実上の標準となっているDEC社のVT100やその上位機種のエミュレータが多い。VT100の端末エミュレータやその機能を「VT100互換」と呼称する。

接続先がメインフレームであれば、IBM 3270、富士通、日立製作所の端末を、接続先がIBM AS/400であればIBM 5250を、エミュレートすることになる。それぞれのメーカーから純正のエミュレータが発売されているが、サードパーティ製もある。メインフレームの端末の多くは、RS-232のような単純なシリアルインターフェースではなく、インテリジェントなものだったが、その後、シリアル接続やイーサネット接続も可能となっている。

多くの端末はキャラクタしか扱えないが、グラフィックを扱うことができるグラフィック端末もある。例えばxtermがエミュレートするTektronix 4014がその一例で、キャラクタとグラフィックのどちらも扱うことができる。日本では、ヤマハのYIS(YGT-100)もよく知られている。また、コンピュータグラフィックスの黎明期には、多くのメインフレームにオプションとして専用のグラフィック端末が用意されていた。

 TCP/IP経由 
TCP/IPを介した端末エミュレータの接続にはSSH、Telnet、rlogin等の機能を用いる。rloginとTelnetは、パスワードなども含めて、すべての通信内容を平文（暗号化されていない状態）で送受信する。極めて限定された用途であれば、それが必ずしも悪いわけではないが、インターネットを介した接続ではあまりに危険な行為である。したがって、近年は、SSHによる接続が一般的である。

2015年ごろまで、Windows用のSSHクライアントは公式に提供されていなかったため、端末エミュレータはSSHクライアントを統合したものが多かった。現在ではOpenSSH in Windowsが提供されており、PowerShellやコマンドプロンプトなどのコマンドラインツールから利用することができる。

 種類 
POSIXに準拠したものと、そうでないものに分類することもできる。

 例  

 POSIX系、UNIX系マシンで動作するもの 
POSIX系、UNIX系のマシンで動くもの。最近メジャーなUbuntuやシングルボードコンピュータのRaspberry Piで動くターミナルもここに属す。

X Window System上で動作するもの
xterm（Xの標準的な端末エミュレータ。VT102を拡張した仕様とTektronix 4014）
kterm（xtermを日本語対応としたもの。kはkanjiの意）
rxvt（xtermからTektroエミュレーションなど、機能を削って軽量化）
uxterm
LXTerminal（LXDE）
Xfce Terminal（Xfce）
dtterm  (CDE)
GNOME 端末 (GNOME)LinuxのメジャーなディストリビューションのUbuntuで動作するものは「GNOME 端末」である。 thumb|right|GNOME 端末。Bashが動いている状態。
GNOME Terminator
Konsole (KDE)
macOS上で動作するもの
（注.macOSは、macOS X以降はUNIX系である）
ターミナル (macOS)
Simulator (Xcode)
iTerm
JTerminal.app

 Windowsマシンで動作するもの 
Microsoft Windowsマシンで動作するもの
Windowsにバンドルされているもの
Win32コンソール (conhost.exe)
コマンドプロンプトやPowerShellなどのWindowsコンソールアプリケーションやWindows Subsystem for Linux (WSL)がデフォルトで使用するOS組み込みのソフトウェア。
ハイパーターミナル（Hilgraeve Inc.の製品）
自由ソフトウェア
Windows Terminal thumb|Windows Terminalのマルチ画面
Poderosa
PuTTY
RLogin
Tera Term
mintty
IBM thumb|IBM PCOMMのWindows上で動作しているIBMホスト・システムへアクセスする端末エミュレータ
パーソナル・コミュニケーションズ (IBM製3270/5250端末のエミュレータ。略称PCOMM)
富士通 
WSMGR (富士通製F6680, 3270, 5250エミュレータ)
Kシリーズ端末エミュレータ（FMGシリーズ、PRIMERGY 6000など）
日立製作所
CommuniNet Version3（日立製作所製端末のエミュレータ）
インターコム
FALCON（クライアントPC導入型 3270, 5250, 6680, 560 端末エミュレータ）
FALCON for .NET（サーバー導入型 3270, 5250, 6680, 560 端末エミュレータ）
FALCON for iPad（iPad導入型 3270, 5250 端末エミュレータ）
キヤノンソフト情報システム（キヤノンソフトウェアの子会社。旧蝶理情報システム）
TCPLink スタンダード
DirectLink HIS対応版
DirectLink DLC対応版
DirectLink HNALAN対応版
SingleLink
サイバネットシステム
Reflection for UNIX and OpenVMS（VTエミュレータ）
Reflection for IBM 2007（3270, 5250エミュレータ）
NetManage
RUMBA for Citrix and Terminal Server（3270, 5250, VT, WYSE 50/60, HP/MPEエミュレータ）
RUMBA Mainframe（3270エミュレータ）
RUMBA AS/400（5250エミュレータ）
RUMBA UNIX-HP（VT, HP3000 MPEエミュレータ）
ビーコンIT
EXTES（F6680, 3270, 5250, 560, Kシリーズ 端末エミュレータ）
EXTES Xuras（F6680, 3270, 5250, 560, Kシリーズ Webエミュレータ）
MS-DOS上で動作するもの
MS-Kermit（VT102エミュレーションとカーミットプロトコルによるファイル転送）
hterm (AXやDOS/VでないIBM-PCでも日本語の使用を実現した。)

 他 
Classic Mac OS上で動作するもの
（Telnetとftp）
BetterTelnet（NCSA Telnetを改良したもの）
MacSSH（BetterTelnetをSSH対応としたもの）

 脚注 

関連項目
仮想コンソール
端末
Lear Siegler ADM-3A
DEC VT100
IBM 3270
IBM 5250
日本楽器製造株式会社（現在のヤマハ株式会社) グラフィック端末 YGT-100 (1983年7月発売,解像度 640x480,フレームバッファ数で3モデル)

通信プロトコル
rlogin
SSH
Telnet

*
Category:コンピュータ端末
Category:ネットワークソフト
Category:ユーザインタフェース