디스플레이없이 CentOS에서 Firefox를 어떻게 실행할 수 있습니까? [닫은]


16

웹 테스트를 수행하기 위해 헤드리스 CentOS 서버에서 Firefox GUI 브라우저를 실행하려고합니다.

Selenium 서버 API 를 사용 하여 브라우저 입력을 제어하고 출력을 검사 하기 때문에 그래픽 출력을 볼 필요가 없습니다 .

설치는 데스크탑 Mac 컴퓨터에서 성공적으로 테스트되었습니다. 그러나 헤드리스 VPS CentOS 서버에서 "오류 : 디스플레이가 지정되지 않았습니다."라는 메시지와 함께 실행되지 않습니다. (어딘가에 랙에 앉아있는 서버이기 때문에 의미가 있습니다.)

디스플레이없이 Firefox를 실행하려면 어떻게해야 Selenium과 상호 작용할 수 있습니까? 또는 더 광범위하게-디스플레이가 없을 때 사람들이 Linux 서버에서 GUI 전용 응용 프로그램을 어떻게 실행합니까?

Firefox에는 다음과 같은 명령 행 옵션이 있습니다.

X11 options
  --display=DISPLAY  X display to use

불행히도 CentOS에서 X11 또는 디스플레이에 대해 아무것도 모르므로 명령 줄에서 무엇을 지정 해야하는지, 이것이 도움이되는지 모르겠습니다.


4
13 번 별표가 표시된 질문이 '너무 현지화 됨'으로 종결 된 것은 매우 이상합니다.
harshath.jr

1
정확히, 나는 비슷한 문제를 겪고 있으며 질문과 대답이 모두 나에게 유익했습니다. 누군가 다른 솔루션을 찾은 경우 명확하게 다시 열어야합니다.
Marek Rost

답변:


18

Xvfb를 사용하십시오. 물리적 디스플레이에 연결할 필요가없는 X 서버를 제공합니다.

따라서 CentOS에서는 "yum install xorg-x11-server-Xvfb"와 같은 작업을 수행합니다.

그런 다음 "/ path / on / which / installed / Xvfb : 1 -screen 0 1024x768x24 &"명령을 사용하여 ": 1"디스플레이에서 시작할 수 있습니다. 해상도 1027x768 및 깊이 24의 화면이 생성됩니다. "&"를 사용하면 백그라운드에서 명령이 실행됩니다.

Firefox를 시작하기 전에 내보내기 명령을 사용하여 디스플레이에 액세스 할 수 있어야합니다. "export DISPLAY = : 1", 적절한 호스트를 가리 킵니다.


와! 감사! 디스플레이에서 이상한 오류 메시지가 표시됩니다. 나는 그것에 대해 새로운 질문을 게시 할 것입니다. 결론은 메시지에도 불구하고 작동하고 필요한 데이터를 반환합니다. 정말 고마워요, 이것은 내가 필요한 도움 일뿐입니다.
Eric

그건 그렇고-모든 작업을 마쳤을 때 어떻게 Xvfb 디스플레이를 "종료"할 수 있습니까?
Eric

프로세스를 죽일 수 있어야합니다. 좀 더 정교 해지고 싶다면 시작 / 중지 스크립트 설정을 살펴볼 수 있습니다 (패키지가 아직 제공하지 않은 경우 : xvfb 스크립트는 /etc/init.d를보십시오).
cjc

1
감사합니다 나는 경우에 당신은 더 많은 명성 포인트 :-)을 찾고, 내가보고있어 정보 / 오류 메시지에 대한 후속 질문을 게시 한 serverfault.com/questions/363914/...
에릭

이 답변은 정확하지만 반드시 firefox를 실행할 터미널 과 동일한 터미널 세션 에서 export명령을 설정해야합니다.
TuyenNTA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.