Windows ChromeのWSL2で `$ CHROME_EXECUTABLE `を設定する方法

Windows ChromeのWSL2で `$ CHROME_EXECUTABLE `を設定する方法

WSL2を介してWindowsのchrome実行可能ファイルを使用しようとしています$CHROME_EXECUTABLE

私のbashrcには次のものがあります。

export CHROME_EXECUTABLE="/mnt/c/program\ files/google/chrome/application/chrome.exe"

これにより、flutter doctor苦情は$CHROME_EXECUTABLEChrome実行可能ファイルを指していません。 Bashで実行すると、$CHROME_EXECUTABLE次のような結果が得られます。

bash: /mnt/c/program\: No such file or directory

ただし、実行すると動作し、/mnt/c/program\ files/google/chrome/application/chrome.exeウィンドウ内にChromeインスタンスが開きます。

ここに脱出問題があるようですが、何が起こっているのかよくわかりません。\「プログラムファイル」のスペースが脱出しているとしますか?

答え1

正直なところ、私はFlutterを使用していないので、ここでは間違っているかもしれませんが、いくつかの簡単な調査によると、Flutterは単にChromeを「実行」する以上の役割を果たしているようです。そのためには、Chromium実行可能ファイルが必要です。言う(おそらくwebdriver経由)デバッグ用です。

その場合は、WindowsバージョンのChromeをLinuxバージョンのFlutterと一緒に使用することはできません。これは次のようになります。Seleniumを含むWindowsバージョンのChromeをお試しください。。これは、パスが正しい場合でも、Windowsバイナリが「Chrome実行可能ファイル」ではないとFlutterが文句を言う理由を説明しています。

この場合の回避策は、WSLにLinuxバージョンのChrome(またはChromium)をインストールすることです。次はこの問題、次の方法でこれを行うことができます。

  • WSLgを使用してWindows上でLinux GUIアプリケーションの実行をサポートするためにWindows 11にアップグレードされました。
  • harrymcの答えに基づいてWindowsでサードパーティのXサーバーを使用する
  • xrdp私の答えに基づいて使用されました。これは直接リンク完全なステップを提供するAsk Ubuntuの回答にアクセスしてください。

xrdp少なくとも私はこの方法を使用してWSLでSeleniumを正常に実行しました。

答え2

C:\progra~1Chromeがオンになっている場合は、以前の8.3命名スタイルを使用できます。

/mnt/c/progra~1/google/Chrome/Application/chrome.exe

適切な短い名前を見つけるには、以下を使用してください。

DIR C:\ /X

答え3

export CHROME_EXECUTABLE="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"

これは私にとって効果的です

関連情報