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 のインストール方法

Tera Term

2024/10/05 17:46 Tera Term::index
Tera Term のススメ

はじめに

IT 系エンジニアであれば、使ったことのない人のほうが少ないであろう Tera Term ですが、思い返してみればとっかかりにくいものではありました。
今でこそ導入から応用まで使い倒している自覚があるものですが、いざ説明しようとすると難しいものですね。
そこで、自身が覚えている技術を整理していこうと考え、かつ、お役に立てれば幸いとブログを公開することにしました。

いろいろ公開していきます。
……守秘義務に抵触しない範囲で。

ただし、公開した内容の完全性・正確性・有用性・安全性などについて、全てを保証するものではありません。

当サイト【Tera Term のススメ】で掲載する情報については当サイトの環境での検証など、さまざまな注意を払っていますが、当サイトの情報を利用して被った、いかなるトラブル、損失及び損害について補償は行いません。

Tera Term

Tera Term って、なに?

基本的には、ターミナル VT100 をエミュレートする、Microsoft Windows 用ターミナルエミュレータです。
様々な拡張が施されており、VT100 にはない機能が含まれています。

Tera Term は、いくつかのメジャーバージョンが存在します。
  • 16bit 環境で開発された Version 1 系
  • 32bit 環境に対応した Version 2 系
  • 三条項BSDライセンスで開発されていた Version 4 系
  • 三条項BSDライセンスで開発継続中の Version 5 系
バージョン 1 と 2 は、1994 年~ 1998 年にかけて寺西 高(てらにし たかし)氏による開発された Windows 用ターミナルエミュレータ Tera Term になります。
オリジナル版と呼ばれる上記2種は、バージョン 2.3 で開発停止しています。(すみません。バージョン 3 系がどういったものなのか失念してしまいました)

本サイトで扱う Tera Term は、平田 豊(ひらた ゆたか)氏が寺西 高氏に許可を得て開発が続けられていた Tera Term 4 系および、その後継となる 5 系です。

Tera Term 4 系は Window95 でも動作確認が行われており、どうしても古い Windows を利用しなければならないときに力を発揮するでしょう。

Tera Term 5 系は Unicode をサポートします。ただし、動作環境が Window7 以降となっています。
基本的には Tera Term 5系を推奨*1します。


それから Tera Term の表記なのですが、書籍では TeraTerm でも Tera Term でも問題ないと記載されています。
本サイトでは、なるべく Tera Term 表記で統一しています。

最新版

現状では Tera Term 5.3 までのバージョンで、暗号通信処理のための鍵情報を交換/共有し、適切に利用するアルゴリズム curve25519-sha256 に未対応であり、一部のレンタルサーバ等にアクセスした場合、以下のようなエラーメッセージが出力されます。

アルゴリズム未対応
アルゴリズム未対応

この場合は、どうしても他のターミナルアプリが必要になります。
参考までに Terminal software を記載しています。
Tera Term 5系
github
Tera Term 4系
2023.10.15 (Ver 4.107)
2021.6.5 (Ver 4.106)
2019.12.7 (Ver 4.105)

コンテンツリスト

Tera Term の導入
Tera Term の使い方
index/howtouse/log
マクロ
マクロの仕様

マクロサンプル

単体動作用 (ログイン自動化系)
単体動作用 (系統未整理)
……等。

組込用サブルーチン

*1 : マクロを利用するといったディープな利用法をしているユーザであれば、不具合を警戒してテストなり更新を保留するなりするでしょう。条件の緩い初心者向けのサイトなので、最初から 5 系の利用をお勧めしてます。