はじめに
エンジニアにとって、ターミナルは毎日使う道具ですよね。
正直なところ、標準のターミナルでも作業はできます。でも、SSHの接続情報を毎回打ち込んだり、複数のセッションをタブで管理したり、という作業が積み重なると、地味にストレスが溜まるものです。
そんな課題を解決してくれるのがTabbyです。以前は「Terminus」という名前で知られていたターミナルエミュレーターで、GitHubのスター数は67,000を超えています。
個人的には、ターミナルを乗り換えるならTabbyは有力候補だと思いますね。
Tabbyの特徴
クロスプラットフォーム対応
Windows 10、macOS、Linuxで動作します。どのOSでも同じ使い勝手で作業できるのは、複数環境を行き来するエンジニアにとってはありがたいです。
設定もエクスポート・インポートできるので、環境を揃えるのも簡単です。
高度なSSH接続管理
これがTabbyを選ぶ最大の理由になる人も多いと思います。
- 接続情報の保存と管理
- ジャンプホスト(踏み台サーバー)の自動処理
- X11フォワーディング
- エージェントフォワーディング
- ポートフォワーディング
特にジャンプホストの自動管理は便利です。「本番環境に入るには踏み台を経由して...」という面倒な手順を、接続先を選ぶだけで自動処理してくれます。
分割ペインとタブ管理
複数のネストされた分割ペインに対応しています。画面を縦横に分割して、複数のセッションを同時に見ながら作業できます。
タブの配置も柔軟で、好みに応じてカスタマイズできます。
グローバルホットキー(Quakeコンソール)
これ、意外と便利なんですよ。
ホットキーを押すと、どのアプリを使っていても画面上部からターミナルがスライドダウンしてきます。ゲームのQuakeのコンソールみたいな動作です。
ちょっとコマンドを打ちたいときに、ウィンドウを探す必要がなくなります。
プラグインによる拡張
プラグインシステムを備えていて、機能を拡張できます。
公式・コミュニティ製のプラグインが多数あり、Docker連携、設定の同期、カスタムワークスペースなど、用途に応じて機能を追加できます。
その他の機能
- シリアルターミナル(Arduino等の開発に便利)
- フォントリガチャ対応
- Unicode完全サポート
- 暗号化されたシークレット管理
- テーマのカスタマイズ
インストール方法
公式サイトからダウンロード
一番簡単なのは、公式サイトからインストーラーをダウンロードする方法です。
https://tabby.sh にアクセスして、お使いのOSに合ったインストーラーをダウンロードしてください。
GitHubリリースページから
最新版や特定バージョンが欲しい場合は、GitHubのリリースページからダウンロードできます。
https://github.com/Eugeny/tabby/releases/latest
Windows用(.exe、.msi)、macOS用(.dmg)、Linux用(.deb、.rpm、AppImage)が用意されています。
パッケージマネージャー経由
macOS(Homebrew)
brew install --cask tabby
Windows(Chocolatey)
choco install tabby
Windows(Scoop)
scoop bucket add extras
scoop install tabby
Linux(Debian/Ubuntu)
# リポジトリを追加
curl -s https://packagecloud.io/install/repositories/eugeny/tabby/script.deb.sh | sudo bash
# インストール
sudo apt install tabby-terminal
基本的な使い方
初回起動と設定
Tabbyを起動すると、最初にセットアップウィザードが表示されます。テーマや基本設定を選んで進めてください。
設定画面は Ctrl+,(macOSは Cmd+,)で開けます。
SSH接続の設定
- 設定画面を開く
- 「接続(Connections)」または「プロファイル」を選択
- 「+」ボタンで新規SSH接続を追加
- ホスト名、ユーザー名、認証方法を設定
- 保存
次回からはサイドバーから接続先を選ぶだけでSSH接続できます。
分割ペインの使い方
# ペインを右に分割
Ctrl+Shift+D(macOS: Cmd+Shift+D)
# ペインを下に分割
Ctrl+Shift+E(macOS: Cmd+Shift+E)
# ペイン間の移動
Alt+矢印キー
Quakeモードの有効化
設定画面で「ホットキー」セクションを開き、グローバルホットキーを設定します。デフォルトでは無効になっているので、好みのキーを割り当ててください。
Ctrl+`` (バッククォート)あたりが定番ですね。
プラグインのインストール
- 設定画面を開く
- 「プラグイン」を選択
- 利用可能なプラグイン一覧から選んでインストール
実践的なユースケース
複数サーバーの同時監視
# 画面を4分割にして、各ペインで別サーバーに接続
# ログをtailしながら、全サーバーの状態を同時に確認
tail -f /var/log/application.log
分割ペインを使えば、本番サーバー、ステージング、開発環境を同時に見ながら作業できます。
踏み台サーバー経由の接続
Tabbyの接続設定で「プロキシ」または「ジャンプホスト」を設定しておけば、踏み台経由の接続がワンクリックで完了します。
いちいち踏み台にSSHしてから本番に入る、という手順が不要になります。
シリアル通信(Arduino/IoT開発)
USBシリアルデバイスへの接続もTabbyで完結します。Arduino IDEのシリアルモニタ代わりに使えます。
ボーレート: 115200
データビット: 8
ストップビット: 1
パリティ: None
ポートフォワーディング
SSH接続設定でポートフォワーディングを設定しておけば、リモートサーバーの特定ポートにローカルからアクセスできます。
# リモートのMySQL(3306)をローカルの13306にフォワード
ローカルポート: 13306
リモートホスト: localhost
リモートポート: 3306
設定の同期
複数マシンで同じ設定を使いたい場合、設定ファイルをエクスポートして共有できます。
プラグインを使えば、クラウド経由での自動同期も可能です。
iTerm2やWindows Terminalとの比較
vs iTerm2(macOS)
iTerm2はmacOS限定ですが、Tabbyはクロスプラットフォーム。macOSとLinuxを行き来する人にはTabbyの方が便利かもしれません。ただ、macOS専用で使うなら、iTerm2の方が機能は豊富です。
vs Windows Terminal
Windows TerminalはMicrosoft純正で軽量ですが、SSH接続管理機能は持っていません。SSH接続を頻繁にするなら、Tabbyの方が快適です。
vs Alacritty/Kitty
AlacrittyやKittyはGPUアクセラレーションによる高速描画が売りですが、GUIの設定画面がありません。設定ファイルをゴリゴリ書くのが好きな人向けです。Tabbyは設定画面でポチポチ設定できるので、導入のハードルは低いですね。
まとめ
Tabbyは、高度にカスタマイズ可能なクロスプラットフォームのターミナルエミュレーターです。
おすすめポイント
- Windows / macOS / Linuxで同じ体験
- SSH接続管理が便利(踏み台自動処理など)
- 分割ペインで複数セッション同時作業
- Quakeモードでいつでもターミナルにアクセス
- プラグインで機能拡張可能
- MITライセンスで無料
向いている人
- 複数のサーバーにSSH接続する機会が多い人
- Windows / macOS / Linuxを行き来する人
- GUIで設定できるターミナルが欲しい人
- 標準ターミナルに不満がある人
正直なところ、SSH接続の管理だけでもTabbyを使う価値があると思います。接続情報を毎回打ち込む手間がなくなるのは、日々の作業効率を確実に上げてくれます。
30代になると、「毎日使う道具は良いものを使おう」という発想になるんですよね。ターミナルは毎日使うものなので、一度Tabbyを試してみる価値はあると思います。
参考リンク