일반 사용자로 Chrome을 열 수 없지만 루트로 실행할 수 있습니다.

일반 사용자로 Chrome을 열 수 없지만 루트로 실행할 수 있습니다.

다음과 같이 터미널을 통해 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과 함께 제공되는 종속성 패키지와 관련이 있다고 생각합니다.

관련 정보