はじめに

5分ほどで終わります。ログインできるSSHサーバーが1台必要です。

1. ホストを追加

ターミナルタブで☰をタップして接続を開き、リモートターミナル · 新しいSSHホストを追加をタップして、次を入力します。

2. ログイン方法を選ぶ

認証でひとつ選びます。どれを選んでもAndroid Keystoreの鍵で暗号化されてキーチェーンに保存され、ほかのホストでも使い回せます。

3. 初回接続でサーバー鍵を確認

初回はサーバー鍵のフィンガープリントが表示されます。信頼するをタップする前に、サーバーで確認した値と同じか照合してください。

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

以降は接続のたびに鍵を照合します。鍵が変わった場合は接続せずに知らせます。

4. tmuxやHerdrでセッションを維持

スマートフォンは接続がよく切れます。サーバーでマルチプレクサを使えば、プログラムやエージェントは動き続け、Termexaは同じセッションに再接続します。ホスト追加時に実行するコマンドに入れるか、接続後に入力してください。

tmux new -A -s main      # 「main」に接続、なければ作成
herdr --session main     # Herdrでも同じ

ショートカットパネルにナビキーを追加してください(設定 → ショートカットパネルで枠をタップし、プラグインタブから選びます)。押すとセッション・ウィンドウ・ペインが一覧で表示され、タップした場所へすぐ移動します。

~/.tmux.confにset -g set-clipboard onを書くと、tmuxでコピーしたテキストがスマートフォンのクリップボードに届きます。ホストごとに最初の一度だけ確認し、後からホストの編集のサーバーからのクリップボードコピーで変更できます。

5. ツールバーを自分好みに

6. ファイル

ターミナル上部のフォルダボタンを押すと、同じホストのSFTPファイルウィンドウが開きます。閲覧、アップロード・ダウンロード、名前や権限の変更、テキストファイルの編集ができ、ウィンドウを閉じても転送は最後まで続き、下部バーの転送一覧ボタンですべてのホストの進行状況と履歴を確認できます。項目を長押しして選ぶと、選択バーの ⋮ ボタンからアーカイブをサーバー上で展開・圧縮できます。パスバーの星を押すとフォルダがブックマークに入ります。

7. コマンドの終了を知る

シェル統合を有効にすると、10秒以上かかったコマンドが終わったときに別の画面を見ていても通知します(設定のターミナルの通知をオンに)。fish 4以降はすでに対応しています。zshは~/.zshrcの末尾に次を追加します。

# Termexa shell integration (OSC 133)
_termexa_osc() { if [ -n "$TMUX" ]; then printf '\ePtmux;\e\e]133;%s\a\e\\' "$1"; else printf '\e]133;%s\a' "$1"; fi; }
_termexa_precmd() { local s=$?; _termexa_osc "D;$s"; _termexa_osc A; return $s; }
_termexa_preexec() { _termexa_osc C; }
precmd_functions=(_termexa_precmd $precmd_functions)
preexec_functions+=(_termexa_preexec)

bashは~/.bashrcの末尾に追加します。

# Termexa shell integration (OSC 133)
_termexa_osc() { if [ -n "$TMUX" ]; then printf '\ePtmux;\e\e]133;%s\a\e\\' "$1"; else printf '\e]133;%s\a' "$1"; fi; }
_termexa_prompt() { local s=$?; _termexa_osc "D;$s"; _termexa_osc A; return $s; }
PROMPT_COMMAND="_termexa_prompt${PROMPT_COMMAND:+;$PROMPT_COMMAND}"
PS0='$(_termexa_osc C)'"$PS0"

tmuxの中で使う場合は~/.tmux.confにset -g allow-passthrough onも追加してください。これでtmuxの中でも通知が届きます。

接続できないとき