簡単なWebブラウザを実行するためのカスタムディストリビューションを構築する方法は?

簡単なWebブラウザを実行するためのカスタムディストリビューションを構築する方法は?

我々は、大画面に単一のWebページを表示する明示的な目的を持ついくつかの軽量システムを構成しています。私はコンピュータが本質的に軽くて起動速度が速く、基本的に全画面でブラウザ(WebKit?)を実行してJavaScriptによって動的に制御されるページをロードする必要があります。 GPUが統合されたIntel D525デュアルコアプロセッサを使用する予定なので、独自のグラフィックドライバを設定する必要はありません。マシンの1つを正しく設定したら、ddハードドライブをコンピュータにマウントしてから、新しいマシンにダンプできるようにする必要があります。

次の質問があります。

  1. 必要なものだけを含む「配布版」をどのように作りますか?カーネル(;])、X、そしてどんな種類のWebブラウザも必要と思われますが、それ以外はあまりありません。 Ubuntu Serverのようなものを使ってX Serverをインストールし、コンピュータが自動的にログインし、Xを起動し、質問なしでWebブラウザを起動する方法を見つけることができますか?私が読める本や記事がありますか?

  2. 基本的に、「クロムレスChromium」を実行する素敵でシンプルなWebブラウザを作成するには何を使用できますか?これらのマシンはユーザー入力をまったく受け入れません。管理する必要がある場合は、SSHを使用します。

答え1

多くのディストリビューションには、最小インストール用のいくつかのツールがあります。デフォルトでは、明示的にインストールするパッケージのみを手動で選択します。 Debianにはこの機能があり、あなたの場合は他の明らかな最小競合他社であるArch Linuxよりも優れた選択肢になります。

Archのローリングリリース状態は、避けたい継続的な複雑さを提供します。 Debianは、あなたが探しているシンプルで最小限の基盤を提供し、信頼性を提供します。使用に関するブログ投稿があります。キオスクとしてのDebianこれはいくつかの便利なヒントを提供することができます。

次のブラウザの場合beav_35提案、ウズプール良い選択です。私の提案はビームパーサブル、スクリプト可能でキーボードベースで、SSHを介して効果的に制御されるWebKitブラウザです。

ウィンドウマネージャとしておすすめしたいデータ管理:2000 SLOC以下と非常に軽量で、キオスクタイプの設置に簡単に構成されています。

答え2

まず、おそらく車輪を再発明したくないでしょう。市内にはキオスク中心のディストリビューションがいくつかあります。これらのいずれかを使用すると、多くの作業を減らすことができます。

次に、RHEL(またはCentOSまたはScientific Linux)のFedoraおよびKickstartに精通している場合は、Fedoraツールを使用してこれらのディストリビューション用に独自のツールを作成できます。マニュアルは少し混乱していますが、ここから始めます

答え3

最小限の展開で始めてください。アーキテクチャLinuxをクリックして、必要なパッケージをインストールします。単純なWebブラウザの場合は、次を試してください。ウズプール

答え4

ビルドルート2016.05+緑

ルート構築最小ディストリビューションを構築するための優れたツール:

  • .configファイルを与えてください
  • 必要なすべてのソフトウェアと依存関係をダウンロードしてコンパイルし、イメージを生成します。

グリーン簡潔ネットワークツールキットブラウザベースで、BuildrootにはMidoriパッケージが組み込まれています。

.config使用されたファイル:https://github.com/cirosantilli/buildroot-configs/blob/32d1174e0bf8d00b92323eebe8901af3f8c389d3/2016.05/qemu_x86_64_x11_midori_defconfig

この設定ファイルを生成するには:

  1. 続く:私のLinux BuildrootシステムにX11をインストールする方法UnixとLinuxのスタック交換X11を使用して画像を作成します。
  2. make menuconfig
    1. ツールチェーン
      1. Cライブラリ
        1. glibc(緑用)
    2. ターゲットパッケージ
      1. グラフィックライブラリとアプリケーション
        1. mesa3d
          1. OpenGL EGLの場合、どのドライバが必要かわからないので、すべてのGalliumドライバとDRIドライバを選択してください。
          2. OpenGL EGL(libgtk3用)
      2. 図書館
        1. graphic1.libgtk3(緑用)

ツールチェーンを変更したら、ビルドをクリーンアップして再構築します。

rm -rf output
make BR2_JLEVEL=$(nproc)

数時間待ってください。そして普段は次のようになります。

qemu-system-x86_64 \
    -enable-kvm \
    -M pc \
    -m 512 \
    -kernel output/images/bzImage \
    -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
    -append root=/dev/vda \
    -net nic,model=virtio \
    -net user

QEMU内で:

root
startx

X11 GUIでxtermウィンドウをクリックし、次のコマンドを実行します。

midori

結果:

ここに画像の説明を入力してください。

画像サイズ:220M!ベアX11システムの28Mと比較私のLinux BuildrootシステムにX11をインストールする方法- UnixとLinuxスタックの交換。それはおそらく、WebKit + GTK3の依存関係によるものです。

Ubuntu 16.04ホスト、QEMU 2.5.0でテストされました。

インターネットサーフィン

SDLで書かれており、fbdevをサポートしています。http://www.netsurf-browser.org/about/screenshots/#framebuffer

fbdevは、X11を介さずにLinuxカーネルモジュールによって提供される低レベルのインタフェースです(X11にはこれをバックエンドとして使用するオプションがあると思います)。基本的にメモリに書き込んで画面に表示するだけです。

Ubuntuでfbdevを使用するには、TTY(Ctrl + Alt + F1など)を使用する必要があります。

だからあなたはおそらく画像で逃げることができます方法緑より小さい。

これを提供する必要があるBuildroot 2016.05用のパッケージがありますが、netsurf-buildsystemまだテストしていません。誰もが実行したら、.config、スクリーンショット、画像サイズのリンクを編集してください。

関連情報