Linux

Chrome 실행 시, Unable to open X display 에러

비번변경 2021. 7. 15. 22:19

2021.07.14 - [CentOS] Chrome 및 Selenium 설치

위 글에서 CentOS에 크롬 설치 후 Selenium을 이용해서 브라우저 제어도 해봤지만, 아무래도 CLI로 브라우저를 직접 실행하는 방법은 뭔지 궁금할 것이다.

 

크롬 브라우저는 아래 명령어로 간단하게 실행시킬 수 있다.

google-chrome

google-chrome &
# 백그라운드로 실행

그런데 아래와 같은 Unable to open X display 에러가 발생하는 경우도 있을 것이다. 왜냐하면 내가 그랬다.

 

Unable to open X display

찾아봤는데 잘 모르겠지만 그래픽 인터페이스를 사용하는 필요한 X window, Display Server가 없거나 실행 중이 아니라서 발생하는 에러인 것 같다. X window, Display Server가 뭔지는 나중에 좀 더 공부를 해보도록 하고, 이 글에서는 크롬 브라우저를 띄워보도록 한다.

 

디스플레이를 열 수 없다고 하니, 디스플레이 서버인 Xvfb를 실행하도록 한다.

 

Xvfb 설치

설치가 안 되어 있으면 아래 명령어로 설치한다.

# Xvfb 설치
# CentOS
yum install xorg-x11-server-Xvfb.x86_64

# Ubuntu
apt-get install xvfb

xvfb 설치

 

Xvfb 실행

아래는 99번 디스플레이 포트를 이용해 Xvfb를 백그라운드로 실행시키는 명령어다.

Xvfb -ac :99 -screen 0 1280x1024x16 &

 

이후 다시 크롬을 실행시키면 브라우저가 잘 실행되는 것을 볼 수 있다.

크롬 실행 화면

아마 실행이 안 되면, 클라이언트 X 서버, X Forwarding 등을 키워드로 구글링을 해보면 될 것 같다.

 

참고문서

https://stackoverflow.com/questions/60304251/unable-to-open-x-display-when-trying-to-run-google-chrome-on-centos-rhel-7-5