端末エミュレータ

端末エミュレータ（たんまつエミュレータ、英: terminal emulator）とは、端末のエミュレーションを行うソフトウェアで、専用端末の代わりに使えるソフトウェアである。英語をそのままカタカナにしてターミナルエミュレータとも表記する。ターミナルソフト（英: terminal software）やターミナルアプリケーション（英: terminal applicationともいう。 グラフィカルユーザインタフェース (GUI) 環境内でコマンドライン・インタフェースを提供する画面は端末ウィンドウやターミナルウィンドウ（英: terminal window）などと呼ぶ。「エミュレータ」や「ウィンドウ」を略して単に「ターミナル」と呼ぶことも増えている　 端末エミュレータは、専用端末（物理的に存在する専用の端末）をエミュレートしてその機能を実現するソフトウェアであり、パーソナルコンピュータ (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を介した端末エミュレータの接続にはSSH、Telnet、rlogin等の機能を用いる。rloginとTelnetは、パスワードなども含めて、すべての通信内容を平文（暗号化されていない状態）で送受信する。極めて限定された用途であれば、それが必ずしも悪いわけではないが、インターネットを介した接続ではあまりに危険な行為である。したがって、近年は、SSHによる接続が一般的である。 2015年ごろまで、Windows用のSSHクライアントは公式に提供されていなかったため、端末エミュレータはSSHクライアントを統合したものが多かった。現在ではOpenSSH in Windowsが提供されており、PowerShellやコマンドプロンプトなどのコマンドラインツールから利用することができる。 POSIXに準拠したものと、そうでないものに分類することもできる。 POSIX系、UNIX系のマシンで動くもの。最近メジャーなUbuntuやシングルボードコンピュータのRaspberry Piで動くターミナルもここに属す。 X Window System上で動作するもの xterm（Xの標準的な端末エミュレータ。VT102を拡張した仕様とTektronix 4014） kterm（xtermを日本語対応としたもの。kはkanjiの意） rxvt（xtermからTektroエミュレーションなど、機能を削って軽量化） uxterm QTterm LXTerminal（LXDE） Xfce Terminal（Xfce） dtterm (CDE) GNOME 端末 (GNOME)　（※） GNOME Terminator Konsole (KDE) Eterm mlterm ※LinuxのメジャーなディストリビューションのUbuntuで動作するものは「GNOME 端末」である。 macOS上で動作するもの（注.macOSは、macOS X以降はUNIX系である） ターミナル (macOS) iTerm JTerminal.app Microsoft Windowsマシンで動作するもの Windowsにバンドルされているもの PowerShell（Windows 7以降に標準搭載のキャラクタユーザインタフェース） コマンドプロンプト（汎用telnetソフトとして使用可能） ハイパーターミナル（Hilgraeve Inc.の製品） フリーソフトウェア Windows Terminal Poderosa PuTTY RLogin Tera Term 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でも日本語の使用を実現した。) Cygwin・MSYS・MSYS2などのターミナルエミュレータ -- Windows環境下でPOSIXに準じたコマンドをおおむねエミュレートさせるためにサードパーティが開発したもの mintty Windows 11のWSL (Windows Subsystem for Linux)のLinux上のターミナル画面 -- マイクロソフトがPOSIXに準拠した環境を提供するために、苦肉の策で提供しているもの。WindowsのサブシステムとしてLinuxを動作させておりPOSIXに準拠したコマンドがほぼ動く。 Classic Mac OS上で動作するもの NCSA Telnet（Telnetとftp） BetterTelnet（NCSA Telnetを改良したもの） MacSSH（BetterTelnetをSSH対応としたもの）