Skip to content

TTSSH の設定項目名「HeartBeat (keep-alive)」を「keep-alive」に変更する #1423

Description

@kusune

概要

TTSSH 設定の HeartBeat (keep-alive)(日本語では ハートビート(keep-alive))という利用者向け表記を、Keep-alive に変更することを提案します。

提案理由

この提案の主目的は、機能の実態に合った用語を利用者向けに提示することで、設定内容の分かりやすさと、SSH に関する理解の正確さを向上させることです。

Tera Term は、SSH に詳しい利用者だけでなく、初めて SSH クライアントを使用する人を含む幅広い利用者に使われるソフトウェアだと認識しています。そのため、設定画面に表示される用語は単なるラベルではなく、利用者が機能を理解したり、設定方法を調べたりする際の手掛かりにもなります。

現行表記にも keep-alive という語は含まれていますが、括弧書きの補足であり、利用者に提示される主たる機能名は HeartBeatハートビート になっています。括弧内の補足だけでは主名称から生じる誤解を避けにくいため、HeartBeatハートビート を利用者向けの主名称から外し、Keep-alive を主たる名称とすることを提案します。

現在の動作と表記

実装を見る限り、この設定で行われるのは、指定した時間以上 SSH パケットの送信がなかった場合に SSH の IGNORE メッセージを送信し、NAT や中間機器などのタイムアウトによる接続切断を防ぐための通信です。

相手からの応答を要求・確認して、接続先の死活を判定する機能ではありません。

heartbeat という語が常に誤りというわけではありませんが、死活確認を行う機能だと受け取られやすい語でもあります。設定項目では先頭に置かれた語が機能名として認識されやすいため、括弧内に keep-alive と記載されていても、HeartBeat が主名称であることによる誤解は残ると考えます。

実際に、この設定を接続先の停止検出を行うものと解釈した利用者がいました。

また、他の主要な SSH クライアントでも、この種の接続維持に関する機能には keepalive という用語が使われています。例えば、PuTTY では Seconds between keepalives という設定名が使われ、OpenSSH のマニュアルでも ServerAliveInterval による通信は protocol-level keepalives と説明されています。

具体的な動作はそれぞれ異なりますが、既存の用語に揃えることで、利用者が機能の目的を推測しやすくなり、設定方法を調べる際にも情報を見つけやすくなると考えます。

変更案

少なくとも利用者向けの表示から HeartBeatハートビート を外し、例えば次のように Keep-alive を機能名とするのがよいのではないでしょうか。

  • 英語: HeartBeat (keep-alive)Keep-alive
  • 日本語: ハートビート(keep-alive)Keep-alive

併せてマニュアルの説明も、現在の「一定時間ごとに送信する」という表現より、例えば次のようにすると実装に合うと思います。

指定時間以上 SSH パケットの送信がなかった場合に、接続維持用のパケットを送信します。0 を指定すると無効になります。

本提案が対象としているのは利用者向けの名称であり、互換性に関係する設定キーや内部識別子の変更を求めるものではありません。

UI、各言語ファイル、マニュアルのどこまでを変更対象とするか、および各言語での表記についてはメンテナの判断にお任せします。

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions