![일반 사용자로 Chrome을 열 수 없지만 루트로 실행할 수 있습니다.](https://linux55.com/image/174745/%EC%9D%BC%EB%B0%98%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20Chrome%EC%9D%84%20%EC%97%B4%20%EC%88%98%20%EC%97%86%EC%A7%80%EB%A7%8C%20%EB%A3%A8%ED%8A%B8%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음과 같이 터미널을 통해 Ubuntu 기반 AWS 인스턴스에 Google Chrome을 설치했습니다.https://www.cyberciti.biz/faq/how-to-install-google-chrome-in-ubuntu-linux-12-xx-13-xx/
문제는 Chrome을 루트로 호출할 수 있지만 일반 사용자로는 호출할 수 없다는 것입니다.
문제를 디버깅하기 위해 chmod를 사용하여 액세스 권한을 조작했지만 문제가 해결되지 않았습니다.
이런 경우 일반 사용자로서 Chrome을 어떻게 호출할 수 있나요?
이 문제로 인해 Jenkins를 통해 테스트를 실행할 때 다음 오류가 발생합니다. org.openqa.selenium.WebDriverException: 알 수 없는 오류: /usr/bin/google-chrome에 크롬 바이너리가 없습니다.
답변1
이 문제에 대한 실제 해결책은 없지만 Chrome 대신 Chromium을 설치하면 실제 차단기를 우회할 수 있습니다. 내가 찾은 차이점은 두 가지의 설치 디렉토리입니다.
@d4rk4ng31이 공유한 링크를 사용하여 Chrome을 설치했습니다. Google-Chrome-Stable은 다음을 제공합니다.
qa_user@jenkins:~$ google-chrome-stable google-chrome-stable: /usr/bin/google-chrome-stable /usr/share/man/man1/google-chrome-stable.1.gz
qa_user@jenkins:~$ google-chrome-stable은 다음을 제공합니다: google-chrome-stable: 명령을 찾을 수 없음
이제 크롬에서:
qa_user@jenkins:~$ chromium-browser는 다음을 제공합니다: chromium-browser: /usr/bin/chromium-browser /usr/lib/chromium-browser /etc/chromium-browser /usr/share/chromium-browser /usr/ share /man/man1/chromium-browser.1.gz
및 qa_user@jenkins~$ chromium-browser [21304:21304:0607/135202.629230:ERROR:browser_main_loop.cc(1473)]는 X 디스플레이를 열 수 없습니다. Chromium을 식별하고 엽니다(X 표시 문제는 실제 Selenium 코드에 --headless 옵션을 추가하여 해결할 수 있음).
그래서 여기서 실제 크롬 문제를 해결할 수 있을 때까지 크롬 대신 Chromium을 사용하겠습니다.
답변2
업데이트: 위의 해결 방법을 적용한 후 Chromium을 제거하고 추가 테스트를 위해 Chrome만 유지했습니다. 놀랍게도 크롬 문제가 해결되었습니다. 이제 Chrome에서 테스트를 실행할 수 있습니다. 어떻게 이런 일이 발생하는지 잘 모르겠지만 Chrome과 함께 제공되는 종속성 패키지와 관련이 있다고 생각합니다.