読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

コンソールで動作するブラウザ「w3m」

ソフトウェア

Linux Mint Debian Editionの話題だが、Linuxディストリ全般に適用できると思う。
プアーなマシンでの作業を余儀なくされている。音楽を聞きながら、というだけで、ブラウザの動作が非常に遅く感じるし、CPU使用率もたびたび100%に達するといった有様。おまけにディスプレイも狭い(1366*768)。
そこでw3mというコンソール上で動作するブラウザ「w3m」を導入してみた。

非常に軽い

当たり前の話だが、通常のウェブブラウザと数値的な比較をする気が起きないほど軽い。実際のCPU使用率・メモリ使用量を見ても、非常に小さいことがわかる。

これはYahooのトップページを表示させたあとのw3mのリソース使用状況。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
kosuke    5201  0.1  0.4  15744 10064 pts/1    S+   12:27   0:03 w3m .

これはchromiumの場合。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
kosuke   21318 20.2  3.8 480272 79292 ?        Sl   13:22   0:05 /usr/lib/chromi
kosuke   21328  1.8  0.2 122720  4800 ?        S    13:22   0:00 /usr/lib/chromi
kosuke   21330  0.6  0.8 147284 18432 ?        S    13:22   0:00 /usr/lib/chromi
kosuke   21385  2.5  1.3 198384 27448 ?        Sl   13:22   0:00 /usr/lib/chromi
kosuke   21475 11.3  2.2 220292 45812 ?        Sl   13:23   0:01 /usr/lib/chromi
kosuke   21512 11.0  1.3 172960 27812 ?        Sl   13:23   0:01 /usr/lib/chromi

比較するのがおかしいくらいにw3mのほうがエコロジーだ。

画像は出ません、しかし

コンソール上でのウェブブラウザということなので、画像やFlashなどのオブジェクトは表示されない。

しかし、「img」タグや画像ファイルへのリンクを違う文字色で表示することができるし、インストールされている画像ビューアで表示することもできる。

w3m-imgを導入すると画像をインライン表示することもできるようになるらしいが、xfce4-terminal上では表示されなかった。ktermならできるのかもしれないが、導入方法がよくわからなかったので、試してない。

テキストベースのサイトやドキュメント等の閲覧には向いてる

ブログやテキストベースのサイトであれば、PCで読むのと遜色ない程度に閲覧可能。以下の画像はGoogleでの検索結果。
f:id:zashikiro:20120903140150p:plain
tableタグでレイアウトされたちょっと古いサイトだと怪しいかもしれないが、そうでなければスマホなどでPC向けサイトを閲覧するくらいの読みやすさはある。

ターミナルソフトはxfce4標準のもので、画面サイズも80*24のまま使っている。ディスプレイは狭いけど、標準のサイズのターミナルとgvimを並べてそれほど苦もなく作業できている、と思う。

機能拡張も簡単そう

「~/.w3m/keymap」を編集することで、機能拡張も割と簡単にできる。

# 現在開いているページのURLをクリップボードへコピー(xsel必要)
keymap m EXTERN "echo %s | xsel --clipboard --input"
# youtube動画をmp3にしてMusicディレクトリに保存する
keymap \" EXTERN_LINK "cd ~/Music && youtube-dl -t --extract-audio %s >/dev/null 2>&1 &"

また、w3mではcgiを使った機能拡張もできるようで、最初から使える「ブックマークの追加」や「ヘルプの表示」といった機能はcgiで実現されている。

あまり馴染みがないCGIだけど、試しに何か作ってみようかな。

目下ほしいのは、表示中の内容(バッファ)をクリップボードへコピーする機能。今は「Ctrl+[, e」を押して外部エディタで開き、別に起動しているgvimへレジスタ経由で渡すようにしているけど、とても面倒だし、マウスのほうが早そうだし。
f:id:zashikiro:20120903140157p:plain

広告を非表示にする