grasys blog

ターミナルがダサいとモテない。Terminal Emulator 紹介編

Photo by Tianyi Ma on Unsplash


恵比寿で IT 企業をやっているとモテると聞いて創業しましたが早いことありがたいことに10年目に突入した長谷川です。

まだモテる成果は出ていません、、、これからです!

早速ですが、グチです!

どういうことか最近技術的なことができていません!

自分の周りでは、TensorFlow やら Python Typer やら FastAPI やら CUE やら Qdrant でゴニョゴニョしたりやら、技術的なことがいっぱいなのに、、、

そもそも技術やるために起業したんじゃないのかと自問自答する毎日です。

つまりめちゃくちゃストレス溜まってます。

そこで!

ストレス解消のために何か始めようと思い、社内を見渡すとみんな Terminal がダサいことに気がつきました。
なのでちょっと自分の Terminal 環境を数回に分けて紹介します。

正直なところ、そんな余裕ありませんwww

しかし関係無い!精神の衛生管理だ!

オフィスのセキュリティやらアクセス管理やらネットワークなぞ知らん!(ちゃんとやってます。グチです。)

シリーズ記事一覧

まず awesome-terminals を紹介

何かと調べ物をするときは awesome list から探してしまいますが、awesome-terminals みるといっぱいありますね。
ここでは macOS に絞り個人的に触ったことあるものを中心に紹介していきます。

iTerm2

前身から続くかなり昔からある Terminal Emulator です。macOS だと OS の Terminal より有名なんじゃないかというくらいめちゃくちゃ有名ですね。

実際使っている人はかなり多そう。

iTerm2 – macOS Terminal Replacement


Profile でコマンド実行もできるので良く接続する Remote ssh も Profile のリストから呼べます。

またこの際 Badges という機能があり、Terminal 右上に任意のテキストを背景に描画できるため接続先を間違えないようにするといった使い方もできます。

Badges


GUI で設定でき、Shell Integration で拡張したり、画像表示などの拡張も持ってたりします。

Shell Integration

Images – Documentation – iTerm2 – macOS Terminal Replacement


Terminal での画像表示は Terminal File Manager の yazi などと組み合わせで使えるので Terminal だけでいろいろ確認したりと作業が捗ります。

また、macOS のショートカットに登録することもできるため、gnome の guake のような Top-down Terminal のような機能も再現できます。

例えば Command key x 2 で iTerm2 を呼んだりできるので、かなり便利です。

M1 Macでiterm2をかっこ使いやすくカスタマイズ – Qiita


ただ、私は macOS のどこかの Update の FileSystem 周りの大きな更新があったタイミングあたりで Profile が立て続けに壊れて使うのやめてしまいました。

うちの社員は使い続けてるので今は大丈夫なんだろうけど。

Hyper

Hyper™

ちょっと前に話題になりました。

やっぱギャルなら開発環境は可愛くなきゃだめっしょ?

【卍】ギャルのための開発環境カスタム

electron ベースなのもあって少しモサモサ動くので使うのをやめてしまいました。

ただ github をみるとめちゃくちゃ Star ついてるのでけっこうユーザーいるのかな?

GitHub – vercel/hyper: A terminal built on web technologies

Alacritty

めちゃくちゃ高速かつ軽量な動作の Terminal です。
描画もキレイなのでオススメな Terminal Emulator です。

これも記事でたまに見かけるので利用者が多そう。

Alacritty – A cross-platform, OpenGL terminal emulator


設定は TOML 形式で簡単です。

変に複雑化してないのでこれは良いところだと思います。

Alacritty

Fig

ここら辺から急激に Modern な環境になりますが、これは Shell の Extention です。

たまに日本人の記事でも見かけるので有名なのかな?

Install すると Shell の profile に fig が load され、機能が拡張されます。

コマンドの引数などがサジェストされる開発環境の Editor のような振る舞いを Command-Line の UI に追加してくれます。

他の Terminal Emulator と組み合わせて使うことができるのでこれも CLI の苦手を克服するのにはとても良い Tool かもしれないです。

Fig


ssh した先に fig が無ければ Install する機能もあり、Local/Remote それぞれ同じような使い勝手を維持することができます。

うちみたいなシステム管理が主体の事業だとお客様のサーバにいろいろ入ってしまうので少し使いにくいかもしれないです。

Warp Terminal

コマンドの入力と出力がひとつのブロックで塊になっていて他とは一線引いてるかなり先進的かつ多機能な Terminal Emulator です。

他には無い Install 直後からパッと絵になる見た目で GUI もかなり整っています。

Warp: Your terminal, reimagined


Warp Terminal はあれこれ私が言うより、まず Install して使ってみて貰った方が良いと思います。

もしかすると CLI の苦手意識を飛び越えられる可能性も感じられる先進気鋭な印象です。

Wave Terminal

こちらは Warp Terminal な見た目に Workspace(Profile Management, Launcher みたいな機能)を組み合わせたような、複数の環境を跨いで管理できる特長を持った Terminal Emulator です。

Wave Terminal


自分は Install してちょっと使っただけなので、うちの社員で誰か興味あれば触ってみて特長教えて。

Rio

これも Alacritty と同じで GPU ベースで動作する Terminal Emulator です。

tmuxzellijscreen のような Multiprexing を持っています。
自分は慣れというか手癖もあるので tmux でいいかな。

Meet Rio | Rio Terminal


Rio Terminal はシンプルかつ軽量で Config も TOML なのでわかりやすくて良い Terminal だと思います。

Rio Terminal

どうでも良いけど、32日も reboot してないのか、、、

WezTerm

めちゃくちゃ軽量で設定も Lua でゴリゴリ書いていくスタイル。なんだか今後が期待できそうな拡張性を持っている可能性を秘めた Terminal Emulator です。

WezTerm – Wez’s Terminal Emulator


neovimAstroNvim とか LunarVim とか NvChad とかいろいろありますが Lua でそれぞれ Plugin でガンガン拡張する未来が待っていそうな雰囲気で今後に期待してます。

設定項目はとても多くパッと使えない印象がありますが、WezTerm 自体は初期設定でも非常に軽量なので使えます。

設定を育てていく感じが好きなので WezTerm は個人的に好みです。

一応見様見真似で自分の好みな設定にはできましたが、まだ自分は Config Archtecture をしっかり理解してません。

複雑な設定を Lua かつ CLI で弄り倒すのが苦手でシンプルな Terminal が良いなら Rio Terminal がオススメです。

Configuration – Wez’s Terminal Emulator

Full Config & Lua Reference – Wez’s Terminal Emulator


Rio のところでも書きましたが個人的に GUI の Terminal Emulator に Multiprexing は求めてないので使いませんが、もちろん WezTerm も Multiprexing を持っています。

Multiplexing – Wez’s Terminal Emulator


WezTerm は iTerm2 の Image Protocol をサポートしていて WezTerm の機能で画像を表示できます。

iTerm Image Protocol – Wez’s Terminal Emulator


また自分の使い方として使い所がない(基本的には macOS, Windows は Parallels で法人口座の管理用だけ)のであまり使いこなせていませんが、独自の Shell Integration による連携もできます。
複数の OS を業務で使いこなす必要があるかつ、Config を共通化したいといった目的がない

自分は Bash で Starship を利用してますが、Windows の PowerShell で Starship との連携例も書いてありますね。

自分は macOS ユーザー(前職は Windows Architecture で Microsoft と仲良かったけど)なので PowerShell を常用してるわけではないのですが、PowerShell と Starship を WezTerm で動かすってこれまためちゃくちゃぶっ飛んでて良いですねw

Shell Integration – Wez’s Terminal Emulator


Fancy Tab Bar という機能があり、画面の上部や下部に Tab Bar を表示する機能があります。

WezTerm

設定ファイル上の Lua で何らかの Status やテキストデータを入れることができます。

Tags – Wez’s Terminal Emulator


WezTerm は背景画像を複数束ねることができるため、Enter 叩くたびに背景を動かしたり変えたりできます。

そんな必要があるのかとか考えてはいけません!

background – Wez’s Terminal Emulator


WezTerm は設定が Lua だし初心者お断り感がめっちゃ出てる玄人向けな印象があるけど、何故か Color Schema はめちゃくちゃこだわりがあるようで組み込まれてるものの数がすごいです。

Color Schemes – Wez’s Terminal Emulator


私は何にでも Dracula Theme を当てるという癖がありますが、 WezTerm にもしっかりあります。

Dracula 系の Color Schemes は4種類あります。

Color Schemes with first letter

GitHub – dracula/wezterm: Dark theme for WezTerm

2024年3月 個人的な総評

ダダダダダダダーーーーン

未来に生きたいなら


シンプル重視なら


独自路線でいくなら


個人的には WezTermRio Terminal 推し!

シリーズ記事一覧


採用情報
お問い合わせ