Windows Chrome의 WSL2에서 `$CHROME_EXECUTABLE`을 설정하는 방법

Windows Chrome의 WSL2에서 `$CHROME_EXECUTABLE`을 설정하는 방법

WSL2를 통해 Windows chrome 실행 파일을 사용하려고 합니다(참고로 Flutter는 $CHROME_EXECUTABLEchrome에서 웹 앱 실행을 살펴봅니다).

내 bashrc에는 다음이 있습니다.

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

이를 통해 flutter doctor불만 사항은 $CHROME_EXECUTABLE크롬 실행 파일을 가리키지 않습니다. Bash에서 실행 하면 $CHROME_EXECUTABLE다음과 같은 결과를 얻습니다.

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

그러나 을 실행하면 /mnt/c/program\ files/google/chrome/application/chrome.exe작동하고 창 내부에 크롬 인스턴스가 열립니다.

여기에 탈출 문제가 있는 것 같지만 무슨 일이 일어나고 있는지 잘 모르겠습니다. \"프로그램 파일"의 공간이 탈출되고 있다고 가정합니까?

답변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"

이것은 나에게 효과적입니다

관련 정보