WSL2를 통해 Windows chrome 실행 파일을 사용하려고 합니다(참고로 Flutter는 $CHROME_EXECUTABLE
chrome에서 웹 앱 실행을 살펴봅니다).
내 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~1
Chrome이 켜져 있으면 이전 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"
이것은 나에게 효과적입니다