ターミナルウェブブラウザのterminal-browser

先日,ターミナルグラフィックウェブブラウザのBrow6elを知って試しています.

このとき似ているterminal-browserも知ったのですが,macOS専用でした.

その後,v0.5.0でLinuxにも対応したので試してみました.

導入

公式ではcurl | bash が紹介されていますが,これは嫌いなので手動で導入します.
現時点ではmacOS arm64,Linux adm64, Linux arm64のバイナリアーカイブが用意されています.これをダウンロードして展開します.

ダウンロード
$ wget -c https://github.com/zenbu-labs/terminal-browser/releases/latest/download/terminal-browser-linux-x64.tar.gz
ハッシュとファイルサイズの確認
$ sha256sum terminal-browser-linux-x64.tar.gz (1)
7c2375593623a12109615eca94ceaeece6a6193c4cc955ba159215f0f6c09ff7  terminal-browser-linux-x64.tar.gz
$ wc -c terminal-browser-linux-x64.tar.gz (2)
137362872 terminal-browser-linux-x64.tar.gz
$ curl -s https://terminal-browser.sh/install | grep terminal-browser-linux-x64.tar.gz (3)
linux-x64 https://terminal-browser.sh/install/dl/stable/v0.6.0/terminal-browser-linux-x64.tar.gz 7c2375593623a12109615eca94ceaeece6a6193c4cc955ba159215f0f6c09ff7 137362872"
  1. sha256sumの確認

  2. ファイルサイズの確認

  3. sha256sumとファイルサイズはinstall scriptの上の方にある

アーカイブの展開
$ fuse-archive terminal-browser-linux-x64.tar.gz
fuse-archive: Created mount point 'terminal-browser-linux-x64'

terminal-browserの実行環境

terminal-browserはSixelに対応しておらず,Kittyに対応しています.Kittyに対応したターミナルエミュレータを使う必要があります.
今回はKitty Graphicの元となっているKittyを選びました.

Tip
Kitty terminalで日本語入力を行いたい場合環境変数 GLFW_IM_MODULE=ibus が必要です.これは Fcitx 5 を利用する場合でも ibus と設定するようです.

ちなみにKittyグラフックプロトコル非対応な端末でterminal-browserを実行するとGhosttyをお薦めされます.こだわりなどなければGhosttyが無難かもしれません.

  This terminal cannot show images, which terminal-browser needs.

  We recommend Ghostty:
  https://ghostty.org/download

  Note: any terminal that supports the kitty graphics protocol is supported

terminal-browserの実行

引数なしで起動したり,

$ ./terminal-browser-linux-x64/terminal-browser/bin/terminal-browser

urlを指定して開いたりいくつかのコマンドラインオプションやコマンドもあります.

$ ~/Downloads/terminal-browser-linux-x64/terminal-browser/bin/terminal-browser --help
Usage: terminal-browser [url] [options]
       terminal-browser <command> [args]

  open      Open the browser in a terminal pane
  ls        List running browsers and their tabs
  setup     Configure installed terminals so terminal-browser works best
  upgrade   Upgrade to the latest release
  new-tab   Open a tab here, and a browser too if there is none
  shutdown  Stop the daemon
  action    Use the open browser through the agent-browser CLI

terminal-browser <command> --help for one command's options
terminal-browser --version prints the installed version

操作はショートカットキーが用意されていたりしますがほぼマウス操作で済む感じです.

terminal browser01
terminal browser02
Note

この記事を書いていて気づきましたが,タブ上のタイトルやアドレスバーのサジェストなどの日本語が豆腐になってしまいますね…….以下のissueによると中国語は本文も豆腐になるようです.

ssh経由でリモート起動

VPSにもterminal-browserをダウンロードしてssh経由で利用してみます.

$ ssh ${user}@${remote}
$ wget -c https://github.com/zenbu-labs/terminal-browser/releases/latest/download/terminal-browser-linux-x64.tar.gz
$ wc -c terminal-browser-linux-x64.tar.gz
137362872 terminal-browser-linux-x64.tar.gz
$ sha256sum terminal-browser-linux-x64.tar.gz
7264ca86fd0b5f5ad597e0fe5517da7a67e7079633151067c51f13238ee0cc45  terminal-browser-linux-x64.tar.gz
$ tar tvzf terminal-browser-linux-x64.tar.gz
$ tar xzf terminal-browser-linux-x64.tar.gz
$ ./terminal-browser/bin/terminal-browser
terminal browser03
terminal browser04

v0.5.0時点では動作が妙に重くなったりすることがありましたが,現在の最新版のv0.6.0では問題なく動いていそうです.

sshモード

v0.6.0 でsshモードが付きました.
このsshモードはssh経由でリモートサーバーに接続して利用するのですが,Chromiumはローカルで動作してChromiumが要求した通信をリモートから取得します.
--ssh ${user}@${remote} のように指定しますが, ~/.ssh/config を見てくれるようなので助かります.ポートや鍵を指定したい場合はこれで設定すれば良さそうです.

$ ~/terminal-browser-linux-x64/terminal-browser/bin/terminal-browser --ssh ${user}@${remote}

ローカルからリモートにデータを取りに行くのでローカルで動かすのと同じくらいの通信速度です.(fast.comではupが数倍に見える?)
使いどころがあまり思いつきませんが,VPN的な使い方がいいのかな?

terminal browser05
Note

VS Codeをターミナルで利用するterminal-codeというツールがあるのですが,このツールも同時にsshモードに対応して既視感があるなと思ってよく見ると同じ作者でした.ちなみにこのツールはterminal-browser内蔵でjsを呼んでいるようです.試してみようと思いましたがpathが固定で面倒で諦めちゃいました.

Zellij経由での利用

先週あたりにリリースされたターミナルワークスペースのZellij v0.45.0でちょうどKitty Graphics Protocolに対応していたのでちょっと試してみます.

うまく表示されることもあれば動かないことも?kitten icatでの画像表示でも同様.挙動がまだよくわかりません.ZellijはKittyに対応したばかりなのでバグかも?

terminal browser06

Brow6elとの比較

Brow6elはAppImageがあったりSixel/Kitty両対応,カスタマイズもしやすい感じです.
対してterminal-browserはChromiumを使っているのでWeb互換性が高く操作もマウスで大体okなので学習コストも低く感じます.

用途により使い分けでしょうか.

環境

$ ./terminal-browser-linux-x64/terminal-browser/bin/terminal-browser --version
terminal-browser v0.6.0
$ dpkg-query -W kitty
kitty	0.48.2-1
$ lsb_release -dr
Description:    Debian GNU/Linux forky/sid
Release:        n/a
$ arch
x86_64

One thought to “ターミナルウェブブラウザのterminal-browser”

  1. awritのことをを書き忘れた

    chase/awrit: A full graphical web browser for Kitty terminal with mouse and keyboard support https://github.com/chase/awrit

Reposts

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)