端末エミュレータ

端末として動作するソフトウェア

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

xtermの画面。cdコマンドを入力してカレントディレクトリを「etc」に変更し、lsコマンドでファイル類を一覧表示させた状態。

グラフィカルユーザインタフェース (GUI) 環境内でコマンドライン・インタフェースを提供する画面は端末ウィンドウターミナルウィンドウ: terminal window)などと呼ぶ。「エミュレータ」や「ウィンドウ」を略して単に「ターミナル」と呼ぶことも増えている[1][2] [3]

概要

編集

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

用途としては、通信経由でホストマシンに接続して使う用途もあれば、現にユーザが操作している眼の前のマシンのインタフェースとして利用し設定変更、ファイル操作、ソフトのインストール、ソフトウェア開発などのために使う用途もある。[4]

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

エミュレートする端末

編集

実際の端末における、画面制御やキーボード制御、プリンタ制御など、入出力処理には統一された規格が存在しない。現在、端末エミュレータを使用する接続先は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を介した端末エミュレータの接続にはSSHTelnetrlogin等の機能を用いる。rloginとTelnetは、パスワードなども含めて、すべての通信内容を平文暗号化されていない状態)で送受信する。極めて限定された用途であれば、それが必ずしも悪いわけではないが、インターネットを介した接続ではあまりに危険な行為である。したがって、近年は、SSHによる接続が一般的である。

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

種類

編集

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


POSIX系、UNIX系マシンで動くもの

編集

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

Windowsマシンで動作するもの

編集

脚注

編集
  1. ^ [1]
  2. ^ Linuxのメジャーな版(ディストリビューション)であるUbuntuでも単に「terminal ターミナル」ということが多い。理屈の上ではターミナル画面を「ターミナル」と略してしまうと、ターミナル(端末)そのものとターミナル画面の区別がつかなくなってしまうが、近年では、どうせ大型コンピュータの物理的な専用端末の実物などというもの(ほぼ歴史的な遺物になってしまったもの)に触れそれを会話内で呼ぶ必要がある人は(英語圏であれ、日本であれ)ほぼいないわけであるし、いちいち「terminal window」と言っていては長ったらしくて不便でしょうがないので、「terminal」で済ませるのが妥当だと判断されているのである。ITの世界は効率重視なので、「コンピューター」ではなく「コンピュータ」と言うなど、できるだけ短く、1文字でも短く表現するのが基本となっている。その結果、ついには「エミュレータ」を省いてしまうことも一般的になってきている。
  3. ^ なお1990年代までは、一部に「端末模倣プログラム」と言う人もいたが、これは現在ではほぼ使われない。いわゆる死語である。
  4. ^ ソフトウェアの開発者がソースコードをコンパイルする場合も、その結果得られたオブジェクトコードを実行させる場合もターミナル画面でコマンドを入力する。昔、大型コンピュータのファイル操作をしたりそのソフトウェアの開発する場合も、たとえ通信経由でなくても、たとえば大型コンピュータが設置してあるコンピュータ・ルーム(計算機室)内で行う場合でも、結局、専用端末を操作したように、現代のソフトウェア開発者たちも、自分のパーソナルコンピュータでファイル操作やソフトウェア開発を行う時にはターミナル画面を開いてさまざまな操作を行っている。
  5. ^ LinuxのメジャーなディストリビューションのUbuntuで動作するものは「GNOME 端末」である。

関連項目

編集