Ubuntu, X Window(X11)을 원격 터미널에서 사용하는 방법

* X Window 설치
sudo apt update
sudo apt install xorg xauth x11-apps -y


- sshd 설정
sudo nano /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10

- sshd 재시작
sudo systemctl restart sshd

- DISPLAY 환경 변수 설정
export DISPLAY=localhost:10

 

 

//-----------------------------------------------------------------------------
VcXsrv - Open-Source X Server for Windows - 다운로드 설치
https://vcxsrv.com/
https://github.com/marchaesen/vcxsrv

실행
XLaunch
Multiple windows , Dispaly number : -1
-> Start no client
-> Clipboard 체크, Primary Selectrion 체크, 
Native opengl : 체크 해제
Didable access control : 체크

Windows Defender 방화벽에 허용 설정
제어판\모든 제어판 항목\Windows Defender 방화벽\허용되는 앱
VcXsrv windows xserver : 개인, 공용 모두 체크


//-------------------------------------
* 저장된 설정파일(config.xlaunch)로 실행하는 방법

"C:\Program Files\VcXsrv\xlaunch.exe" -run config.xlaunch

참고
"C:\Program Files\VcXsrv\vcxsrv.exe"  :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl

 

//-----------------------------------------------------------------------------

< PowerShell  ssh 이용, 원격 접속해서 x window 실행 >


PowerShell > $env:DISPLAY = "localhost:0.0"
PowerShell > ssh -Y ubuntu@EC2_IP
-Y를 사용해야 함. 기능 : ForwardX11 yes , ForwardX11Trusted yes
- -X 옵션 사용시 ubuntu에서 에러 발생
Error: Can't open display: localhost:10

login ok

Ubuntu ~$ echo $DISPLAY
localhost:10

Ubuntu ~$ xclock

 

 

//-----------------------------------------------------------------------------
< MobaXterm 으로 사용방법 >
터미널 프로그램(MobaXterm)에서 SSH 설정에 X11-forwarding 체크

- 작동 테스트
echo $DISPLAY
xclock

    - MobaXterm 사용시 우상단에 X server 가 켜져야 한다.

      최초 실행시 x server 실행과 방화벽 허용 설정을 묻는다.


//-----------------------------------------------------------------------------
* 에러 발생

$ xclock
MoTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
Error: Can't open display: localhost:10.0

//-------------------------------------
* 해결 방법

//-------------------------------------
* MobaXterm 사용시
    - MobaXterm 재설치


우상단에 X server가 실행된 상태라야 xclock등이 실행될 수 있다.

x server 실행 파일
C:\users\userID\appdata\roaming\mobaxterm\slash\bin\xwin_cygwin_1.16.3.exe
포트 6000 사용
Windows Defender 방화벽에 xwin_cygwin_1.16.3.exe 을 허용으로 추가하는 설정 필요


//-------------------------------------
< 정보 확인>
* X server 디스플레이 정보
$ xdpyinfo


* 접속 상태 확인
$ echo $SSH_CONNECTION
자신의 IP가 나와야 한다.

* windows 10에서 6000 포트를 사용중인 프로그램 확인 방법
SysinternalsSuite 의 tcpview.exe 실행

ssh -X -C ubuntu@172.31.39.189


//-----------------------------------------------------------------------------
< X11 완전 삭제 방법 >

sudo systemctl stop gdm3
sudo pkill Xvfb

sudo apt-get purge ubuntu-desktop gnome-shell gdm3
sudo apt-get purge xorg xserver-xorg xauth xterm x11-apps openbox 
sudo apt-get purge  -y xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable x11-apps  xserver-xorg-video-dummy  xserver-xorg-dev libxext-dev

rm -fr ~/.Xauthority

sudo apt-get autoremove --purge

sudo apt-get autoclean

sudo reboot

 

 

 

반응형
Posted by codens