문제 상황
'dconf-editor'라는 GUI 애플리케이션을 콘솔에서 실행하려 했지만 "cannot open display"라는 오류가 발생했다. 이는 X 서버에 연결하지 못했을 때 나타나는 오류이다.
해결 전략
이 문제를 해결하기 위해 KDE라는 그래픽 사용자 인터페이스를 설치하고, SSH의 X11 포워딩 기능을 사용하여 원격에서 그래픽 애플리케이션을 실행하는 방법이 있어 먼저 KDE를 설치했다.
apt-get -y install kubuntu-desktop 명령으로 KDE Plasma를 설치
설치가 완료되면 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 서버가 실행 중이고, 해당 포트가 방화벽에 의해 차단되지 않았는 지 확인해야 하며, 올바른 사용자 계정과 비밀번호를 사용해야 한다.