以前、書いたエントリーでWSL2-Docker環境
ではChromiumブラウザがインストールできないという話をしていました。
パッケージがsnap経由
で配布されていることによって、aptコマンド
ではダミーのインストールになってしまうためです。
snap
はsnapd
というデーモン配下になっているため、snapd
を動作をさせるためにsystemctl
が必要になっています。
参考
エラーメッセージをみてもわかるのですが、systemctl
が動作できない原因はPID=1
のプロセスが/bin/bash
で起動しているためで、通常の起動環境とは異なるためです。これを修正する方法はWSL単体ではあるようです。またディストリビューションがUbuntu
でなくCentOS
では対応しているコンテナのイメージ(Systemctl動作)が公式に配布されていることもあるので回避はできるようです。
ただ、自分のやったWSL2-Docker環境
では色々と試してみたのですが全く解決できませんでした。方法が無いわけでもないのでしょうが。
試行錯誤してうまく行った手は以下の様になりました。全然いい手でもなく、この手段を取るのであれば公式のGoogle Chromeのブラウザを入れたほうがいいかもです。
StableがだめならBeta版とかDeveloper版をいれればよいのでは?
色々と考えていく中でタイトルのようなことを考えたのです。Beta版
やDeveloper版
も最初はsnap環境からしか入れられないと思っていたのですが、
調べてみると、こちらはaptのパッケージのおいてあるリポジトリの場所を追加することでインストールができるようでした。
ということでチャレンジしてみます。以下を参考にしています。
別にDeveloper版
でもいいかなと思ったので、今回はそちらのパッケージ場所を追加してみています。ドキュメントでは以下の様に書かれています。(sudoは抜いて、apt-getをaptにしています)
# add-apt-repository ppa:saiarcot895/chromium-dev # apt update # apt install chromium-browser
このまま行けばいいのかなと思ったらadd-apt-repository
コマンドないというエラーが出ます。そこで追加するコマンドを追加してインストールを以下の様にしてみました。
# apt update # apt install software-properties-common # add-apt-repository ppa:saiarcot895/chromium-dev # apt update # apt install chromium-browser
software-properties-common
というパッケージをインストールすることでadd-apt-repository
コマンドを追加できます。というか、apt系のコマンドなのになぜそっちをインストールするのかなと思いますが。
これでインストールは完了します。起動してもsnap
を使ってインストールせよと表示されることはありません。
ただ、このまま実行では駄目です。こちらのDeveloper版
のオプションで--no-sandboxオプション
をつけないと起動しません。このあたりはChromeブラウザと同じです。
オプションを追加することで、無事に起動するようになります。
# chromium-browser --no-sandbox
バージョン表示もDeveloper版になっています。
おわりに
オプションをつけろと言われてしまうので、実質Chromeブラウザと同じ状況です。これでいいのかなという気はしますが、一つの解決策としてメモを置いておきます。