Ubuntu, X Window(X11)을 원격 터미널에서 사용하는 방법
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