0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macOSのterminalの選択

0
Last updated at Posted at 2026-03-16

背景

terminalに関するいくつかの選択肢

iterm2を長年使ってきたわけだけど、飽きてきてしまってGUIでの設定も面倒なので調べてみると、現在は結構色んな選択肢があることが分かった。いくつか試してみたのでメモを残しておく(新しく試したら追記する)。

image protocol

X11を使わない場合にはimage protocolで画像データをterminal上へ転送する必要がある。image protocolが使えないものについては除外した。使えるのは

  • iterm2 image protocol
  • sixel
  • kitty graphics protocol (KGP)

これらに対応していない場合、画像データはX11を使うかファイルデータ転送をしなければならない。対応している場合はterminal上で画像が表示されるため非常に高速に計算データ可視化ができる。

iterm2のimage protocolについては以下。imgcatというシェルを使うと独自の方法でterminal上で画像が表示できる。

3つの方法の中で画像表示に優れているのはsixelで、リモート側でminiforgeが使えるならconda経由でimg2sixel(libsixel)がインストールできるので、画像表示が可能。

terminalの比較

wezterm

一番安定していた。iterm2のものは使えないけどsixelが使える。多段SSHも問題ない。Rioに比べると動作が重い。しかしRioよりもデフォルト設定でHPC関連の利用には支障がない。互換性を重視した設計のおかげか。

Rio

homebrewからインストールできる。画像表示は安定していたものの、多段SSHでの動作が不安定。例えばなぜかbackspaceが効かなくなったりする(環境変数TERMの設定で解決)。weztermより軽快に動作するだけに残念。デフォルトの設定だと不具合が多い。不具合を見つけたらその都度設定の見直しが必要。

backspaceの問題はterminalの種類がリモートで認識されていないのが原因。以下をconfigに記述すれば解決できる。

env-vars = ["TERM=xterm-256color"]

kitty

iterm2, sixelには対応していない。SSH接続で以下を実行することでリモート側の画像をkitty icatで表示できるようになる。

$ kitty +kitten ssh [hostname]

しかし、多段SSHでも画像が表示できるものの、画像表示にsixelに比べると時間がかかりすぎる。> 1度表示したら以降はなぜか軽くなった。

ghostty

weztermより軽量、rioと同じぐらい軽快。しかし、iterm2, sixelには対応していない。KGPが使えるとあるけど、実際にはローカルホストで使えるのみで、多段SSHをする場合にはエラーが出てうまくいかない。

そのため、実質ローカルでしか使えないterminalアプリとなってしまった。> kittyをリモートにインストールすれば使える。以下でkittyをリモートにインストール。

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
echo 'export PATH=$HOME/.local/kitty.app/bin:$PATH' >> ~/.bashrc

以下で画像表示は可能。ただし画像の拡大がうまくいかない・・

kitty icat test.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?