wsl上でheadless chrome を起動すると Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory


WSL1上でheadless chrome をインストール

WSLからchromeの操作は、Windows上のChromeをSelenium経由で操作することも可能なのですが、headless chrome であれば、普通にUbuntuにインストールするのと同様にインストールできます。

ただし、手なりでインストールすると以下のような、エラーメッセージがでます。

Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

このエラーメッセージが出ても、それなりに画面は開けてはいるようなのですが、気持ち悪いと。なんちゃらソケットがないってメッセージのときには、何かしらのデーモンが起動してないってことなので、この場合はdbusというデーモンがきどうしてないのねってこと。

そこで、dbusを起動してやる。

$  /etc/init.d/dbus start
 * Starting system message bus dbus                  [ OK ]

そうすると、先のエラーメッセージはでません。

ただし、他でよくあるように、WSL1上でのchromeではスクリーンショットをとる段階でエラーが頻発しているようです。

シンプルなサイトではスクリーンショットがとれることを確認しています。

google-chrome --enable-logging --headless --disable-gpu --no-sandbox --screenshot http://ifconfig.io

結果

ただ、挙動は不審で起動してもレスポンスが帰って来ないこともあります。