創作物紹介

🍚

ターミナルでブラウザを使ってみよう

Published: 2025-06-18

はじめに

ターミナル上で(テキストベースの)web ブラウザを動かす試みは、何も近年始まったことではない。 最も有名な例としては、東北大学の伊藤彰則教授によって開発された w3m が挙げられるだろう(現在は Debian のリポジトリ内で開発が継続されている)。 また、それ以外にもLynxBrowshなどの実装がある。

しかし、これらのブラウザは宿命的にある特徴を持っていた ── 基本的に CSS が効かない1。 「構造化文書が読めればそれでいい」という人にとっては問題ないかもしれないが、現代のブラウザとしては CSS に対応していないのは辛い。 そう思っていたある日、Hacker News で話題となっていたサイトが目に入った。 そこで紹介されていたブラウザが、本記事で紹介する Chawan である。

Chawan: TUI web browser

当サイトのトップページをchawanで表示したもの。画像表示はもちろんのこと、ヘッダーの横並びや画像の中央寄せなどのCSSが働いていることが分かる
当サイトのトップページをchawanで表示したもの。画像表示はもちろんのこと、ヘッダーの横並びや画像の中央寄せなどのCSSが働いていることが分かる
左はw3mで、右はchawanでhttps://wikipedia.orgを開いた結果。違いは一目瞭然である
左はw3mで、右はchawanでhttps://wikipedia.orgを開いた結果。違いは一目瞭然である

Chawan は Unix 系のシステム2で動作するテキストベースの web ブラウザであり、Nim で実装されている。 基本的な使い方としては、

Terminal window
cha google.com

でリンク先を閲覧することが出来る。

Chawan のメリットとして、

などがある。テキストベースの web ブラウザとしては、頭一つ抜けてモダンな機能が実装されている。

インストール

バイナリを入手する

PackageLink
AURhttps://aur.archlinux.org/packages/chawan-git
NixOShttps://search.nixos.org/packages?show=chawan
AppImagehttps://git.lerch.org/lobo/chawan-appimage/

一部のパッケージマネージャには既に登録されている。また、AppImage ファイルを直接ダウンロードすることも可能である。

ビルドする

https://sr.ht/~bptato/chawan/#compilingを参考にビルドしていく。

  1. Chawan のリポジトリをクローンする
Terminal window
git clone https://git.sr.ht/~bptato/chawan && cd chawan
  1. Nim コンパイラをインストールする
  2. 依存関係をインストールする
    • OpenSSL
    • libssh2
    • brotli
    • pkg-config
    • GNU make
  3. makeを実行する
  4. sudo make installを実行する

各種設定

画像表示

Chawan では、画像表示プロトコルとして Sixel または Kitty を用いている。 そのため、画像を表示したい場合はこれらをサポートしているターミナルを使う必要がある。 なお、筆者のおすすめは Wezterm である(Sixel をサポートしている)。

設定ファイル(参考)

config.tomlの設定は以下。

config.toml
include = "w3m.toml"
[buffer]
images = true

また、w3m.toml(キーバインディングを w3m のものに近づける設定)は以下。

おわりに

w3m に代わる新たな TUI ブラウザとして期待が持てるが、欲を言えば

などが実現されるとさらに嬉しい。

脚注

  1. Browsh は HTML5 や CSS3 に対応しているが、これは ヘッドレスモードで起動した firefox をバックエンドとしているからである

  2. Linux, macOS や FreeBSD など

  3. これは w3m でも出来る

X