Tera Term とは

はてブ数 2024/03/25 18:56 Tera Term::導入編

Tera Term とは?

Tera Term のヘルプを参照すると、Tera Term がどんなソフトなのか端的に記載してありました。
Tera Term(テラターム)は、1994年から1998年にかけて寺西高(てらにし たかし)氏により作成された、Windows用ターミナルエミュレータです。Tera Termはシリアルとtelnet接続をサポートし、リモートホストや組み込み機器の端末操作を行うためのソフトウェアです。マクロ機能も搭載されており、当時はパソコン通信の自動操縦を行うためにしばしば利用されていました。
PuTTY とか Poderosa とか RLogin といった後継ターミナルエミュレータが開発された今でも、根強い人気を誇っていますね。
IT 系企業では必須のソフトウェアです。

原作のバージョンは Tera Term Pro 2.3 までで開発が終了したものの、2004年11月には寺西高氏の許可のもとオープンソース化されています。
ライセンスとしては 【修正 BSD ライセンス】となっているため、条件付きでソースコードの再配布やバイナリ形式での再配布が認められています。

開発は "TeraTerm Project" が行っており、SourceForge.jp にて成果が公開されています。
誰でも開発者になれるとのこと。

正式名称は?

正式名称は Tera Term だと思っています。

寺西さんが作成されていた原作が Tera Term Pro 2.3 となっています。
ですが、現在開発を行っているのは "TeraTerm Project" であり、Tera と Term の間にスペースがないのですよね。
ヘルプによっては teraterm と、スペースも大文字もないことがあります。

よって、このブログでは利用頻度の多い Tera Term を使用することを心掛けています。

ターミナルエミュレータとは?

ところで、ターミナルエミュレータとは何でしょうか。

Terminal Emulator と綴ります。

ターミナルはもともと起点とか終点とかの意味があって、ネットワークに接続して作業を行える専用端末のことをターミナルと呼んでいたようです。
そのターミナルをソフトウェアでエミュレーション(代替として動作)したものだから、ターミナルエミュレータ。

ターミナルソフトとか、エミュレータとか、いろいろな呼び方があります。
似たような単語に、SCSI のターミネーターがありますね。あれは終端装置を意味しています。

ちなみに、鉄道やバス、空港等でもターミナルという言葉を使いますが、あれは人を受け入れる終点のことを指しています。客からすると入り口なのですが。

シェルとは?

ターミナルソフトだけでは、OS を操作することができません。

例として UNIX / Linux を挙げると Kernel と呼ばれるプログラムが OS の OS たるコア部分にあたります。
ターミナルソフトが Kernel に直接アクセスすることは、通常はできません。
ターミナルソフトから送り込む、コマンドと呼ばれる文字列およびオプション(引数)を受け付けて OS に実行させるアプリケーションが別途必要になります。

それがシェルと呼ばれる機能で、古くは bsh や csh といったものが利用されていました。
現在も改良が続けられており、bsh 系統であれば bash 等、csh 系統であれば tcsh 等が有名です。他にも zsh や fish といったシェルも存在します。

OS は事前に指定されたシェルを起動して、ターミナルソフトとの通信を仲立ちしてもらうことになります。

ちなみに、指定するシェルはシェルではなく別なアプリを指定することも可能です。
例えば nologin というコマンドを指定すれば、ログイン直後にアクセスを拒否することができますし、shutdown というコマンドを指定すれば、ログインすると OS が再起動するユーザが作れたりします。

こうした、ログイン直後に起動されるシェルおよびアプリを、ログインシェルといいます。

シェルはアプリケーションのひとつなので、ログインした後に対象のシェルアプリをコマンドで実行すれば、そのシェルを利用したコマンドの実行環境に変えることができます。

コマンドとは?

結論から言うと、コマンドとは、特定の目的に特化した、小さなアプリケーションのことを指しています。

コマンドと呼ばれる文字列およびオプション(引数)は、ターミナルソフトから送り込むと書きました。
ログインシェルが起動すると、ターミナルでは点滅するプロンプトが文字列の入力を待ち受けています。

たとえば ls といったコマンドを入力して、Enter で実行すると、カレントディレクトリのファイル情報が表示されます。
このとき、シェルは ls というアプリケーションを、事前に設定されたディレクトリ等から探して、OS に実行させています。

探す順番にも優先順位があり、以下の順番で探します。
  1. ビルトインコマンド
  2. 外部コマンド
ビルトインコマンドはシェルが提供するコマンドで、ログインすれば必ず使えるものとして POSIX に定義されています。
ただし、フルパスで指定すれば同名の外部コマンドを指定することが可能です。

ビルトインコマンドにないコマンドは、外部コマンドとして、環境変数 PATH に設定されたディレクトリ順で探しに行きます。
完全に一致するアプリケーションがあれば、それを実行します。
もし、存在なければエラー終了します。

ひとつの目的に特化したアプリケーションを多数利用し、組み合わせることで、複雑な処理も実行できるようになっています。
そして、システムに存在しないコマンドは、必要に応じてパッケージをインストールして利用することになります。

一文字でも違えばコマンドとして成立せず、もし一文字違いのコマンドがあれば致命的な障害に繋がることだってあり得ます。

バージョンアップの頻度は?

公式サイトの FAQ によると、年4回のリリースが計画されています。

https://ttssh2.osdn.jp/manual/ja/about/qanda.html
Q. Tera Term の次のバージョンはいつ出るのか?
A. 定期リリースは 3 ヶ月に一回、2月/5月/8月/11月の末に出ます。諸々の理由により多少遅れる場合が有ります。
A. セキュリティホール等の致命的な問題が見つかった場合、定期リリース以外のタイミングでも新しいバージョンが出る事が有ります。

各著作権者

Tera Term の著作権者です。

Tera Term 執筆者一覧

各種ライセンス

Tera Term に適用される、各種ライセンス情報を記載しておきますね。

構成モジュール

Tera Term ... 三条項BSDライセンス
TTSSH ... 三条項BSDライセンス
CygTerm+ ... GPL v2
TTProxy ... 三条項BSDライセンス
TeraTerm Menu ... 三条項BSDライセンス
TTX KanjiMenu ... 三条項BSDライセンス
追加プラグイン ... 三条項BSDライセンス
Collector ... フリーウェア ソースコード提供なし
LogMeTT, TTLEditor ... フリーウェア プロプライエタリ・ライセンス ソースコード提供なし
使用しているライブラリ(ソースコード)
Oniguruma ... 二条項BSDライセンス
SFMT ... 三条項BSDライセンス
OpenSSH ... BSDスタイルライセンス
OpenSSL ... OpenSSL License(Apache License 1.0) と SSLeay License(四条項BSDライセンス) のデュアルライセンス(両方が適用される)
zlib ... zlibライセンス
PuTTY ... MITライセンス

使うためには

Tera Term は Windows 用に開発されたソフトウェアです。
利用されている Windows パソコンにダウンロードして、さらにインストール作業を行う必要があります。

では、ダウンロード方法と、そのインストール方法を案内します。

Tera Term のダウンロード方法

Tera Term のインストール方法