Skip to content

アップデート

ThinkTerm が自動でアップデートをインストールすることはありません。確認し、知らせ、あとはあなたの判断を待ちます。

確認する

設定 → ソフトウェアアップデート に情報がまとまっています。実行中のバージョン、最新リリース、前回確認した時刻、変更内容です。

  • アップデートを確認 はその場で確認を実行します。
  • 自動アップデート確認の頻度 が、自動確認の間隔を決めます。オフ毎日毎週、または日・時間・分単位の間隔です。
  • 新機能 は提示されているバージョンのリリースノートを開きます。すべてのリリースを表示 は一覧を開きます。

新しいバージョンが見つかると、画面を占有するウィンドウではなくドットが表示されます。あわせて通知も出ます——ThinkTerm の新しいバージョンがあります——クリックすると同じページに移動します。

インストールする

アップデートをインストール はファイルをその場で置き換えます。置き換えのあいだも目の前のウィンドウは使えますし、ThinkTerm は起動時のバージョンのまま動き続けます。

最後の点は誤解されやすいので、確認メッセージがはっきり伝えます。ThinkTerm x.y.z をインストールしました。ThinkTerm を終了して開き直すと新しいバージョンになります。 実行中のセッションの下で勝手に切り替わることはありません。

ファイルを置き換えてよいのは誰か

ThinkTerm が更新するのは自分でインストールしたコピー、つまりインストールスクリプト経由のものだけです。それ以外のインストール方法にはそれぞれ持ち主がいます。パッケージマネージャー、Homebrew、Nix、AppImage 自身のアップデーター、あるいは cargo build を実行した本人です。そうした場合、ThinkTerm はファイルを上書きせず、持ち主を伝えます。

このコピーのインストール方法ThinkTerm の動作
インストールスクリプト同じ版を保ったままアップデートをインストール
手動で置いた ThinkTerm.appその場所で置き換え、コマンドラインツールを ~/.local/bin に追加
AppImageAppImageUpdate、またはリリースページの新しい AppImage を案内
Homebrewbrew upgrade thinkterm の実行を案内
NixNix の設定から更新するよう案内
システムのパッケージマネージャーaptdnf など元の方法で新しいパッケージを入れるよう案内
Windows インストーラー新しいインストーラーをダウンロードして実行
ソースからのビルドリポジトリを更新して再ビルドするよう案内
判別できない置き換えを拒否し、元の方法で更新するよう案内

コマンドラインから

thinkterm update は設定画面のボタンとまったく同じ規則に従います。

bash
thinkterm update              # 確認し、インストール前に尋ねる
thinkterm update --check      # 新しいリリースの有無を報告するだけで、インストールしない
thinkterm update -y           # 確認せずにインストール
thinkterm update --version X  # 最新版ではなくリリース X をインストール(ダウングレードも可)

どちらの経路もインストーラーを実装し直してはいません。処理は install.sh に渡されます。アーカイブの構成と、デスクトップ版・サーバー版の切り替えを把握しているのはこのスクリプトだけだからです。スクリプトはインストール対象のリリースからではなく、デフォルトブランチから取得されます。こうすることで、インストーラーの修正が次のリリースを待たずに既存のすべてのインストールへ届きます。

リモートサーバーを更新する

クライアントとサーバーはプロトコルが変わると通信できなくなります。よくあるのは、デスクトップ側を更新した一方で、どこかのホストのサーバーが先月のビルドのまま動いているという状況です。

ThinkTerm はそのホストへの SSH セッションをすでに持っているため、あなたに手動ログインを強いる代わりに、自分で不一致を修復できます。attach 時にバージョン不一致を検出すると、自分のリリースをそのホストへインストールしてよいか尋ねます。まずホストのインストールマニフェストを読むので、向こうがデスクトップ版なら GUI は保たれます。そして 2 本目の SSH セッションでインストーラーを実行し、出力を接続ウィンドウへ中継します。

そのあと実行中のセッションがどうなるかは、次の設定で決まります。

リモートサーバー更新時にセッションを維持 —— 実行中のサーバーは停止せず、ペインを新しいバージョンに引き継ぎます。実行中の処理は中断されません。

オフの場合、ThinkTerm は古いサーバーを停止する前に確認します。停止するとそのサーバーが保持しているセッションはすべて終わるからです。これが無断で行われることはありません。

引き継ぎ自体は リモート で説明している仕組みと同じです。実行中のサーバーがペインを新しいバイナリへ渡し、セッション側はそれに気づきません。

関連

  • リモート —— 切断・再起動・更新をまたいでセッションが残る仕組み
  • コマンドライン —— thinkterm のその他のサブコマンド