# Tera Term Pro 2.3との差分

Tera Term(Tera Term 4.58)とTera Term Pro 2.3との機能差分について以下に示します。

## 機能差分一覧

項目 | Tera Term Pro 2.3 | Tera Term
--- | --- | ---
ソースコード | 開示 | 開示
開発環境 | Visual C++ 5.0 / Watcom C/C++ 11.0 | Visual Studio 2005[*1]
ライセンス | プロプライエタリ[*2] | 修正BSDライセンス[*3]
アイコン | [*4] | [*4]
TTSSHアイコン |  | [*4]
最大COMポート | 16 | 256
シリアルボーレート | 110〜115200 | 110〜921600
プラグイン組み込み | 環境変数"TERATERM_EXTENSIONS"の設定が必要 | 設定不要
リンクライブラリ | SSLeay, zlib | OpenSSL, zlib, Oniguruma, PuTTY
TTSSH | SSH 1.5 | SSH 1.5 and 2
サポートSSHプロトコル | シェル、ポート転送、X11転送 | シェル、ポート転送、X11転送、SCP
未サポートSSHプロトコル | SFTP, SCP | SFTP
SSH共通鍵暗号アルゴリズム | 3DES, DES, Blowfish | 3DES-CBC, Blowfish, AES128, AES192, AES256
SSHパケット圧縮 | Yes | Yes。SSH2遅延パケット圧縮もサポート。
Pageant[*5]との連携 | No | Yes
日本語文字コード | EUC-JP/Shift_JIS/JIS | EUC-JP/Shift_JIS/JIS/UTF-8/UTF-8 MAC
Unicode | 未サポート | 単一言語サポート[*6]
IPv6 | No | Yes
半透明ウィンドウ | No | Yes
ハートビート[*7] | No | telnet, SSH1 and 2
ウィンドウの最大化 | No | Yes
スクロールロックキー | No | Yes
右クリックの禁止 | No | Yes
オンラインヘルプ | WinHelp | HtmlHelp
クリッカブルURL | No | Yes
ホイールマウス | No | Yes
国際化対応 | No | Yes[*8]
プロキシ | No | Yes[*9](HTTP, TELNET, SOCKS4, SOCKS5, SSL, HTTP+SSL, TELNET+SSL, SOCKS4+SSL, SOCKS5+SSL)
xterm 256色モード | No | Yes

- [*1] 一部MFC(C++)を使用しているため、Express Editionではビルドができない。
- [*2] 改造版 Tera Term を不特定多数の人に配布する場合には作者（寺西高氏）の許可が必要。ただし、プラグインは除く。いかなる場合においても金銭的利益を得るためにTera Termを配布するには作者（寺西高氏）の許可が必要。
- [*3] 修正BSDライセンスに準拠する。
- [*4] アイコンの制作は坂本龍彦氏による。
- [*5] PuTTYやWinSCPなどで使われるSSH認証エージェント
- [*6] 内部でUnicode(UCS-2)とMBCSとの相互変換を行っているため、多言語同時表示は不可。すなわち、日本語版Windows上で日本語以外の言語を表示することはできない。ロケール設定により、中国語版Windows上でUTF-8による中国語を扱うことは可能。
- [*7] NAT環境において一定時間通信がないと、ルータが通信経路テーブルをクリアしてしまうために、SSHセッションが切断されてしまうという現象に対して、ハートビート機能により現象を回避することができる。
- [*8] 言語ファイル(lang\*.lng)によりメニューやメッセージの表示言語を切り替えることができる。切り替えの有効化にはTera Termの再起動が必要。
- [*9] TTProxyを使用。

そのほかの細かな新機能について以下に示します。

- ANSIカラー色変更&行連結機能
- マウスカーソルの種別変更
- ログファイルへのコメント追加
- Broadcast command機能
- バッファの全選択
- ホスト名の最大長拡張
- TeraTerm Menu, LogMeTTの同梱
- セッションの複製
- スクロールバッファの最大長拡張
- エクスプローラからのディレクトリのドラッグ&ドロップに対応
- 2つめ以降のTera Termの起動時にもディスクから teraterm.ini を読む
- VisualStyle(WindowsXP)対応
- 新しいタイトルフォーマット
- ログ採取の新しいタイプを追加
- デフォルトログファイル名（strftimeフォーマット使用可）
- SSH認証鍵作成ウィザード
- CygTermダイアログ設定
- Collectorによるタブ化
- <ESC>[Jによる画面クリア時にカレントバッファをスクロールアウト
- ログ再生メニューの追加
- 改行コード LF のサポート
- バッファの画面表示部分の選択
- 接続ダイアログのHostドロップダウンにbash styleショートカットキー(C-u, C-d, C-k, C-p, C-n, C-b, C-f, C-a, C-a)を追加

## 修正されたオリジナルバグ

- ウィンドウの幅を84ドット（XPのLUNAスタイルでは94ドット）より小さくすると、ウィンドウサイズを変更できなくなることがある。
- ttpmacro.exeに256バイト以上のコマンドラインパラメータ指定があると、BOF(Buffer Over Flow)で落ちる。
- マクロファイルに 256 バイトを越える長い行があると、BOF(Buffer Over Flow)で落ちる。
- マクロ実行中に、サーバからの受信データをマクロへDDE送信しないことがある（setsyncコマンドによる同期はttermpro.exeとttpmacro.exe間のDDE通信のみに適用されるため）。
- マクロの pause コマンドの待ち時間に 1 秒程度の遅延が発生することがある。
- ログ採取中のマクロの実行処理が停止することがある。
- マクロ実行中にCPU使用率が100%となることがある。
- マクロの除算結果が不正となる。
- ZMODEMの送信において、ファイルサイズが20MBを超えるとクラッシュする。

## 新しいショートカットキー

キー | 機能
--- | ---
ScrollLock | Tera Termウィンドウのスクロールロック/ロック解除（トグル）
Alt + Enter | ウィンドウの最大化（トグル）
Alt + D | セッションの複製（SSH, telnetのみ）
Alt + G | Cygwin接続
左クリック → Shift+左クリック | ページをまたぐテキスト選択、選択済みテキスト領域の伸縮
Shift + マウスドラッグ | 廃止（ページをまたぐテキスト選択サポートのため）
Alt + マウスドラッグ | ブロック選択

## 新設されたマクロコマンド

コマンド | 機能
--- | ---
connect | SSHによる自動ログイン用パラメータを追加。
waitregex | waitlnコマンドの正規表現バージョン。1つの行に対するパターンマッチを正規表現で行うことができる。
ifdefined | 変数のタイプを調べることができる。
mpause | ミリ秒単位でのスリープを行う。
sprintf | C言語のprintfライクに書式指定の文字列を生成できる。
str2int | 16進の文字列も数値へ変換できるようにした。
fileread | ファイルから指定したバイト数のデータを読み込む。
clipb2var | クリップボードからデータを読み出す。
var2clipb | クリップボードへデータを書き出す。
random | 乱数を生成する。
tolower | アルファベットを小文字にする。
toupper | アルファベットを大文字にする。
break | forやwhileループから抜ける。
inputbox | デフォルト文字列を指定できるようにした。
rotateleft | 左方向にビットローテートする。
rotateright | 右方向にビットローテートする。
setenv | 環境変数の設定および変更。
filenamebox | ファイル名を選択するダイアログボックスを開く。
do - loop | ループ制御
until - enduntil | ループ制御
callmenu | Tera Termウインドウのメニューを呼び出す。
cygconnect | Cygwinへ接続する。
scpsend | SCPプロトコルでファイルを送信する。
scprecv | SCPプロトコルでファイルを受信する。
getver | Tera Termのバージョンを取得する。
setbaud | シリアルポートのボーレートを変更する。

## 新設されたteraterm.iniのエントリ

"Tera Term"セクションについて以下に示します。

エントリ | 意味
--- | ---
UILanguageFile | I18N向けの言語ファイルの指定。デフォルトはEnglish。
ConnectingTimeout | TCP接続状態で、切断するまでのタイムアウト時間（秒）。Tera Termの/timeoutコマンドラインオプションでも変更可能。
DisablePasteMouseRButton | マウスの右クリックでのペーストを禁止する。
ConfirmPasteMouseRButton | マウスの右クリックでのペースト前に問い合わせダイアログを表示する。
DisableAcceleratorSendBreak | シリアルコンソールにおいて Alt+B によるBreak送信を無効にする。
ANSIColor | 16色のカラーテーブルの設定情報。
EnableContinuedLineCopy | 行連結機能を有効にする。
MouseCursor | マウスカーソルの種別を変更する。
AlphaBlend | ウィンドウの半透明度を設定する。
CygwinDirectory | Cygwinのインストール先を指定する。
ViewlogEditor | ログを開くエディタを指定する。
Locale | Unicodeを扱うためのOSのロケールを指定する。
CodePage | Unicodeを扱うためのOSのコードページを指定する。
UseNormalBGColor | 文字の背景色をスクリーンの背景色と一致させる。
KanjiReceive | "UTF-8"と"UTF-8m"の追加。
KanjiSend | "UTF-8"の追加。UTF-8-MACでは送信時はNFCでよいので"UTF-8m"は不要。
URLColor | クリッカブルURLの強調表示の色。実際には動作しない。
EnableClickableUrl | クリッカブルURLを有効にする。
LogTypePlainText | ログ採取のファイル形式を plain text （制御コードを含まない）にする。
LogTimestamp | ログ採取時に行の先頭に、採取時のOSのタイムスタンプを挿入する。
LogDefaultName | ログ採取時のデフォルトのファイル名を設定する。strftime形式も使用可能。
LogDefaultPath | ログ採取時のデフォルトパス名を設定する。
LogAutoStart | 接続時に自動的にログ採取を行う。
BroadcastCommandHistory | Broadcast Commandのコマンド履歴をteraterm.iniへ保存する。
AcceptBroadcast | "off"の場合、Broadcast Commandダイアログを呼び出したウィンドウにはコマンドを送出しない。
TitleFormat | フォーマットIDに"13", "29", "45", "61"を追加。
FileSendFilter | 送信ダイアログのファイル名フィルタを設定する。
VTCompatTab | 行末のタブ表示を VT 端末互換にする。
MaxBroadcatHistory | ブロードキャストコマンドの履歴の保存数
DisableAppKeypad, DisableAppCursor | アプリケーションキーパッド/カーソルモードを無効にできるようにした。
ClearComBuffOnOpen | シリアルポートのバッファをクリアしない。
Send8BitCtrl | C1 制御文字 ($80-$9F) を送信に使用する。
SelectOnlyByLButton | マウスドラッグによる選択を、左ボタンでのみ有効にする。
TelAutoDetect | Telnetコマンド自動検出の無効化
ZmodemRcvCommand | ZMODEM の受信コマンド
XmodemRcvCommand | XMODEM の受信コマンド
ConfirmFileDragAndDrop | ドラッグ&ドロップによるファイル送信の確認
TranslateWheelToCursor | アプリケーションカーソルモード時のマウスホイールの動作
HostDialogOnStartup | 起動時の "New Connection" ダイアログの表示
MouseEventTracking | マウス操作の通知
KillFocusCursor | フォーカスが外れた時にもカーソルを表示する
ConfirmChangePaste | 改行を含むクリップボードのペースト時に確認ダイアログを表示する
MaximizedBugTweak | ウィンドウ最大化時の画面スクロール方法

"TTSSH"セクションについて以下に示します。

エントリ | 意味
--- | ---
CipherOrder | 3DES-CBCの"7"、AES128の"8"、AES192の"9"、AES256の":"、Blowfish(SSH2)の";"を追加。
ProtocolVersion | SSHプロトコルバージョン
HeartBeat | キープアライブ（ハートビート）間隔
RememberPassword | パスワードをメモリ上へ保持するかどうか。
CheckAuthListFirst | 認証を試行する前に、サポートされていない認証方式を無効にする。