Raspberry Pi 軽量Webブラウザ Surf を使う

raspbian歴代のデフォルトブラウザはMidori,Epiphanyそして現在はChromiumとなっています。

現在のstretch+Chromiumsは以前と比べるとネット環境の改善もあってかかなり安定しています。

メインのブラウザはChromiumとしてもサブとしてまたほかの用途でも使えそうなブラウザを試してみました。

Surf https://surf.suckless.org/
レンダリングエンジンにWebKitを採用しています。開発元アップルのsafari、PiのMidori,Epiphanyにも使われています。
stretchでもパッケージ化されています。

# apt install surf

インストールしたら実行してみます。

$ surf https://surf.suckless.org/


メニューもない極めてシンプルな画面です。右クリックメニューも必要最低限の項目だけになっています。
ブラウズはWebKitを用いているのでyoutubeも普通に再生できます。

但しmoode audio 4.0はepiphany同様表示してくれません。

このブラウザを常用するには必要なファイルやパッチを当てて使用するよう設計されていると思います。

キーボードからは十分webブラウズは可能ですね。
Ctl+gで画面上部にurl入力バーが出現します。

$ man surf

Ctlキーを軸に大抵の操作は可能のようです。

詳しくは$ man surfで

aptでインストールされるsurfはsurf0.7ベース(WebKit1.0)だと思います。
surfのホームページにはWebKit2ベースのsurf2.0(ソースコード)が公開されているのでちょっと試してみることにしました。

ホームページ一番下のDownload surf 2.0 (2017-03-28)をクリックダウンロードして展開します。
作業(実行)マシンはraspberry pi 3
必要なライブラリをインストールします。多くのパッケージ(150MB位)がインストールされますがほとんどが所定のディレクトリに配置するだけなのでダウンロードが終わればほぼすぐに完了します。

# apt install xorg-dev libglib2.0-dev libgtk-3-dev libgcr-3-dev libjavascriptcoregtk-4.0-dev libwebkit2gtk-4.0-dev

READMEに添ってrootで実行

# make clean install
------- snip ----------
CC -o surf
installing executable file to /usr/local/bin
installing manual page to /usr/local/share/man/man1

時間は10秒位で完了、多少warningが出ますが無事通りました。

aptからインストールしたsurfは/usr/binに置かれます。
ビルドしたsurfは/usr/local/binにできます。

実行してみましょう

$ /usr/local/bin/surf moode


moode audioも表示できました。しかし少しcpu使用率が高いですね。
youtubeで動画を再生するとcpu使用率はさらに上がってきます。(映像もカクカク)
但し静的なページでは問題ありません。
どうもarmでは動画系の最適化がうまく行ってないような感じです。
(手順としてもう少しなにか必要なのかもしれません)

moodeのpulseaudioが起動していない状態でChromiums実行中起動したpulseaudioを利用するには一旦Chromiumsは再起動が必要になります。そんな時はこのような軽量のwebブラウザを利用するのが便利です。
ここは諦めてaptからインストールしたsurfを使うことにしましょう。但し両ブラウザを起動したままにしておくとメモリを浪費するのでじっくり視聴する時はどちらか1つにしたほうが良さそうです。

だいぶ前置きが長くなってしまいましたがここから本題です

実はこちらが本来の目的だったりします。
こっちのほうは基本動画系のページは表示しないこととしてsurf 2.0を使用してみたいと思います。自前でビルドして嬉しい点は起動時の画面サイズを自由に作れることにあります。
ソースファイル(surf.c) 1200行目付近

surf.c
gtk_window_set_default_size(GTK_WINDOW(w), 800, 600);

デフォルトの起動画面サイズは800×600 これを340×480で作り直してみます。

surf.c
gtk_window_set_default_size(GTK_WINDOW(w), 340, 480);

# mv /usr/local/bin/surf /usr/local/bin/surf.default
再度実行
# make clean install
# mv /usr/local/bin/surf /usr/local/bin/surf_340x480

実行してみます

$ /usr/local/bin/surf_340x480 piz0/index.php


いい感じのサイズで起動してくれます。
ほとんどwebブラウザとは感じさせません。
webブラウジングできると思わせない(させたくない)用途にはピッタリですね。

moode4.0ではradikoがうまく動かなくなってしまいました。
そのためファイルサーバーのzeroをradikoサーバーに仕立てています。
pulse audio対応です。

zeroサーバーのradikoはまた次回に!!