인프라/linux

Ubuntu에서의 X 서버 연결 문제 해결 방법(cannot open display)

EVO. 2023. 11. 24. 13:40

문제 상황

'dconf-editor'라는 GUI 애플리케이션을 콘솔에서 실행하려 했지만 "cannot open display"라는 오류가 발생했다. 이는 X 서버에 연결하지 못했을 때 나타나는 오류이다.

 

 

 

해결 전략

이 문제를 해결하기 위해 KDE라는 그래픽 사용자 인터페이스를 설치하고, SSH의 X11 포워딩 기능을 사용하여 원격에서 그래픽 애플리케이션을 실행하는 방법이 있어 먼저 KDE를 설치했다.

 

apt-get -y install kubuntu-desktop 명령으로 KDE Plasma를 설치

 

패키지 설정 창이 나타나면 <확인> 클릭

 

 

기본 화면 관리자로 ‘sddm’ 선택, <확인> 클릭

 

설치가 완료되면 reboot 명령으로 재부팅한다

 

 

SSH 서버가 설치되있지 않거나 실행되지 않고 있다면 

1. apt-get -y install openssh-server 명령으로 SSH 서버를 설치

 

 

2. 다음 명령들을 입력하여 서비스 재가동, 상시 가동, 가동 여부 확인을 한다.

 

 

 

3. ufw allow 22/tcp 명령으로 방화벽을 열어 SSH의 22번 포트를 허용한다.

 

 

 

sudo su - ubuntu 명령어로 사용자 변경 후 X11 포워딩 활성화

1. ssh -X ubuntu@ubuntu-virtual-machine 명령 실행

 

 

2. DISPLAY 환경 변수 설정

 

export DISPLAY=:0 으로 수동 설정 후 echo $DISPLAY 로 :0 출력되는 지 확인

 

 

 

그 후 dconf-editor를 실행하면 더이상 cannot open display가 발생되지 않는다.

 

결론

그래픽 환경이 필요한 애플리케이션을 콘솔에서 실행하려면 X 서버에 연결해야 하며, 이를 위해서는 SSH의 X11 포워딩 기능을 사용할 수 있다는 것을 알게 되었다. 또한 SSH 접속 시에는 SSH 서버가 실행 중이고, 해당 포트가 방화벽에 의해 차단되지 않았는 지 확인해야 하며, 올바른 사용자 계정과 비밀번호를 사용해야 한다.