Dreamhost 공유 호스팅이 있고 Selenium과 함께 사용하기 위해 Firefox 3.0 헤드리스를 실행하려고 합니다.
실행하려고 하면( ~/local/bin/firefox/firefox
) 다음과 같은 오류 메시지가 나타납니다.
error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
이 공유 객체 파일 없이 Linux에서 Firefox를 어떻게 실행할 수 있나요?
답변1
Firefox에 필요한 모든 Gtk 라이브러리 없이는 Firefox를 실행할 수 없지만 이는 라이브러리를 설치하면 쉽게 해결할 수 있습니다. 일반적으로 필요한 모든 라이브러리를 가져오는 패키지 관리 시스템을 통해 Firefox를 설치합니다.
Firefox를 제대로 실행하려면 다음이 필요합니다.X 서버(이것은 애플리케이션이 콘텐츠를 구축하는 데 사용하는 라이브러리인 Gtk와 같은 것이 아니라 창과 그 콘텐츠를 표시하는 부분입니다.) 이는 일반적으로 서버에서 실행되지 않는 것입니다. X 서버 없이 Firefox에서 할 수 있는 일은 거의 없으며, Selenium이 그 중 하나인지는 모르겠습니다.
서버에서 Firefox를 실행하려면 "가상" X 서버를 실행하세요. 간단한 것은 Xvfb(V가상에프절뚝거리는두번째곰엑스섬기는 사람). 위치해있습니다X.org 서버 배포. 사용 예:
Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
firefox &
답변2
꽤 오래된 질문인 건 알지만, 구글의 안내로 여기까지 왔다가 답변을 찾기 위해 한참을 검색해야 했기 때문에 업데이트된 답변을 추가하고 싶었습니다.
Firefox 57부터 간단히 Firefox를 설치하고 다음을 실행하여 헤드리스 모드에서 실행할 수 있습니다.
firefox -headless http://test.com/
답변3
X 및 Gtk+ 클라이언트 라이브러리와 연결될 수 없으며, 그것들 없이는 빌드가 불가능하다고 생각합니다.
헤드리스 버전의 Firefox에서도여전히 GTK+가 필요합니다.