WebKitGTK+ を VirtualBox Ubuntu(18.04)でビルド & 起動する方法です。
環境の準備
VirtualBox Ubunt 18.04
https://www.ubuntulinux.jp/download/ja-remix
ubuntu-ja-18.04.1-desktop-amd64.iso
前提で進めます。
release tarball のダウンロード
https://webkitgtk.org/releases/ から webkitgtk-2.22.5 をダウンロードして解凍する。
$ wget https://webkitgtk.org/releases/webkitgtk-2.22.5.tar.xz
$ xz -dc webkitgtk-2.22.5.tar.xz | tar xfv -
GCC のバージョンアップ
WebKit では GCC 6.0.0 以降を使っているため明示的にあげないといけない
UbuntuにおけるGNU Compiler Collection(GCC)のバージョン管理
これで 6 以降のバージョンにする。
必要パッケージのインストール
$ cd ./webkitgtk-2.22.5
$ Tools/gtk/install-dependencies
$ sudo apt install ruby-dev libenchant-dev libwoff-dev
ビルド
$ cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja -DENABLE_MINIBROWSER=ON
$ ninja
$ sudo ninja install
MiniBrowser を起動
$ bin/MiniBrowser
起動オプション
bin/MiniBrowser --help-all
用法:
MiniBrowser [OPTION…] [URL…]
ヘルプのオプション:
-h, --help ヘルプのオプションを表示する
--help-all ヘルプのオプションをすべて表示する
--help-gtk GTK+ のオプションを表示する
--help-gst GStreamer オプションを表示する
--help-websettings WebKitSettings properties
GTK+ のオプション
--class=CLASS ウィンドウマネージャーで利用するプログラムのクラスを指定する
--name=NAME ウィンドウマネージャーで利用するプログラムの名前を指定する
--gdk-debug=FLAGS 有効にする GDK のデバッグフラグを指定する
--gdk-no-debug=FLAGS 無効にする GDK のデバッグフラグを指定する
--gtk-module=MODULES 追加で読み込む GTK+ モジュールを指定する
--g-fatal-warnings 警告をすべて致命的と見なす
--gtk-debug=FLAGS 有効にする GTK+ のデバッグフラグを指定する
--gtk-no-debug=FLAGS 無効にする GTK+ のデバッグフラグを指定する
GStreamer オプション
--gst-version GStreamer バージョンを表示する
--gst-fatal-warnings Make all warnings fatal
--gst-debug-help 利用可能なデバッグカテゴリを表示して終了する
--gst-debug-level=LEVEL Default debug level from 1 (only error) to 9 (anything) or 0 for no output
--gst-debug=LIST Comma-separated list of category_name:level pairs to set specific levels for the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3
--gst-debug-no-color デバッグ出力のカラー出力を無効にする
--gst-debug-color-mode Changes coloring mode of the debug log. Possible modes: off, on, disable, auto, unix
--gst-debug-disable デバッグを無効にする
--gst-plugin-spew Enable verbose plugin loading diagnostics
--gst-plugin-path=PATHS プラグインを含むコロン (:) で区切られたパス
--gst-plugin-load=PLUGINS Comma-separated list of plugins to preload in addition to the list stored in environment variable GST_PLUGIN_PATH
--gst-disable-segtrap プラグインのロード中に発生したセグメンテーション違反のトラップを無効にする
--gst-disable-registry-update レジストリのアップデートを無効にする
--gst-disable-registry-fork Disable spawning a helper process while scanning the registry
WebKitSettings writable properties for default WebKitWebView
--enable-javascript=gboolean JavaScript を有効にします。
--auto-load-images=gboolean 画像を自動的に読み込みます。
--load-icons-ignoring-image-load-setting=gboolean 画像の読み込み設定を無視してサイトアイコンを読み込むかどうかです。
--enable-offline-web-application-cache=gboolean オフライン Web アプリケーションキャッシュを有効にするかどうかです。
--enable-html5-local-storage=gboolean HTML5 ローカルストレージのサポートを有効にするかどうかです。
--enable-html5-database=gboolean HTML5 データベースのサポートを有効にするかどうかです。
--enable-xss-auditor=gboolean XSS Auditor を有効にするかどうかです。
--enable-frame-flattening=gboolean フレーム平坦化を有効にするかどうかです。
--enable-plugins=gboolean 埋め込みのプラグインオブジェクトを有効します。
--enable-java=gboolean Java サポートを有効にするかどうかです。
--javascript-can-open-windows-automatically=gboolean JavaScript によるウィンドウの自動オープンを許可するかどうかです
--enable-hyperlink-auditing=gboolean <a ping> による ping の送信を許可するかどうかです。
--default-font-family=gchararray フォントの指定をしていないコンテンツのデフォルトとして使用するフォントファミリーです。
--monospace-font-family=gchararray monospace フォントを使用するコンテンツのデフォルトとして使用するフォントファミリーです。
--serif-font-family=gchararray serif フォント使用するコンテンツのデフォルトとして使用するフォントファミリーです。
--sans-serif-font-family=gchararray sans-serif フォントを使用するコンテンツのデフォルトとして使用するフォントファミリーです。
--cursive-font-family=gchararray cursive フォントを使用するコンテンツのデフォルトして使用するフォントファミリーです。
--fantasy-font-family=gchararray fantasy フォントを使用するコンテンツのデフォルトとして使用するフォントファミリーです。
--pictograph-font-family=gchararray pictograph フォントを使用するコンテンツのデフォルトとして使用するフォントファミリーです。
--default-charset=gchararray 文字セットが指定されていないコンテンツの解釈に利用するデフォルトのテキスト文字セットです。
--enable-private-browsing=gboolean プライベートブラウズを有効にするかどうかです
--enable-developer-extras=gboolean Developer Extras を有効にするかどうかです
--enable-resizable-text-areas=gboolean サイズ変更可能なテキスト領域を有効にするかどうかです
--enable-tabs-to-links=gboolean リンクへのタブを有効にするかどうかです
--enable-dns-prefetching=gboolean DNS プレフェッチを有効にするかどうかです
--enable-caret-browsing=gboolean アクセシビリティを強化したキーボード操作を有効にするかどうかです
--enable-fullscreen=gboolean Whether to enable the Javascript Fullscreen API
--print-backgrounds=gboolean 印刷時に背景の画像を描画するかどうかです
--enable-webaudio=gboolean WebAudio のコンテンツを処理するかどうかです
--enable-webgl=gboolean WebGL コンテンツを表示させるかどうかです
--allow-modal-dialogs=gboolean モードダイアログの作成を可能にするかどうかです
--zoom-text-only=gboolean web ビューのズームレベルによる変更をテキストサイズに限るかどうかです
--javascript-can-access-clipboard=gboolean JavaScript にクリップボードへのアクセスを許可するかどうかです
--media-playback-requires-user-gesture=gboolean メディアの再生にユーザーのジェスチャを必要とするかどうかです
--media-playback-allows-inline=gboolean メディア再生でインラインを許可するかどうかです
--draw-compositing-indicators=gboolean 合成境界線を引いてカウンターを描画し直すかどうかです
--enable-site-specific-quirks=gboolean サイト固有の互換性のある回避方法を有効にします
--enable-page-cache=gboolean ページキャッシュを使用させるかどうかです
--user-agent=gchararray ユーザーエージェント文字列
--enable-smooth-scrolling=gboolean スムーズスクロールを有効にするかどうかです
--enable-accelerated-2d-canvas=gboolean アクセラレート 2D キャンバスを有効にするかどうかです
--enable-write-console-messages-to-stdout=gboolean コンソールメッセージを標準出力に書き出すかどうかです
--enable-media-stream=gboolean Whether MediaStream content should be handled
--enable-spatial-navigation=gboolean Whether to enable Spatial Navigation support.
--enable-mediasource=gboolean Whether MediaSource should be enabled.
--enable-encrypted-media=gboolean Whether EncryptedMedia should be enabled.
--enable-media-capabilities=gboolean Whether MediaCapabilities should be enabled.
--allow-file-access-from-file-urls=gboolean Whether file access is allowed from file URLs.
--allow-universal-access-from-file-urls=gboolean Whether or not universal access is allowed from the context of file scheme URLs
アプリケーションのオプション:
--bg-color Background color
-e, --editor-mode Run in editor mode
-s, --session-file=FILE Session file
-g, --geometry=GEOMETRY Set the size and position of the window (WIDTHxHEIGHT+X+Y)
-f, --full-screen Set the window to full-screen mode
-p, --private Run in private browsing mode
--automation Run in automation mode
-c, --cookies-file=FILE Persistent cookie storage database file
--cookies-policy=POLICY Cookies accept policy (always, never, no-third-party). Default: no-third-party
--proxy=PROXY Set proxy
--ignore-host=HOSTS Set proxy ignore hosts
--ignore-tls-errors Ignore TLS errors
--display=DISPLAY 使用するXのディスプレイを指定する