Search
moon
sun

Linux 원격 Xwindow

원리

•
리눅스 gui는 일종의 프로그램이다.
•
X11 이라는 디스플레이 서버를 통해 GUI 환경을 그린다.
•
X클라이언트 (프로그램)가 X서버에 띄울 화면을 알려주고, X서버는 X클라이언트한테 마우스와 키보드 같은 입력을 전달해준다.
•
물론 원격으로 X클라이언트가 X서버에 요청할수있다.
•
두 대의 컴퓨터를 사용할 경우 xhost와 display 옵션으로 윈도우 애플리케이션을 다른 컴퓨터의 화면에 띄울 수 있다.
•
여기서 내 노트북이 "X서버" 이고 원격 데스크톱이 "X클라이언트" 이다.
•
vnc와 달리 별도의 설정없이 X서버를 사용하는 프로그램이면 바로 사용가능하다

리눅스 원격 환경 (X클라이언트)

1.ssh 설정

•
/etc/ssh/sshd_config 파일에서
◦
X11Forwarding yes
◦
혹시 안될경우 X11UseLocalhost no
•
sshd 재시작!
◦
sudo service ssh restart

2. 환경 변수 설정

•
DISPLAY 환경변수을 설정해준다.
◦
원격_환경_주소:화면
◦
192.168.150.11:0

3. 실행 확인

•
테스트 프로그램들 설치 sudo apt install x11-apps
•
xeyes 또는 xclock 으로 실행 확인

윈도우 로컬 환경 (X서버)

1. 윈도우 용 X서버 설치

•
Xming
•
Mobaxterm
◦
설치하면 자동으로 Xserver 가 설치되어있다.
•
Cygwin
◦
따로 Xserver를 설치해줘야함
◦
Cygwin setup 파일 다운로드 및 실행
◦
install from local directory 로 설치 진행
◦
패키지 설치
▪
xorg-server
▪
xinit
▪
xlaunch
▪
virtualgl
◦
프로그램 목록 중에 XLaunch 실행

2. 환경 변수 설정

윈도우 터미널

•
윈도우 환경변수로 DISPLAY=localhost:0 값을 설정해줘야한다.
◦
하지 않으면 터미널 접속시 DISPLAY 환경변수가 자동 설정되어있지 않아 화면이 뜨지 않는다.

리눅스 터미널(Mobaxterm, Cygwin)

•
export DISPLAY=:0 설정

3. ssh 원격 접속

•
원격 접속할때 X11을 허용해야한다.
◦
ssh -X user@hostip
•
옵션 (필수 아님)
◦
ForwardAgent=yes
◦
ForwardX11=yes
◦
ForwardX11Trusted=yes
•
접속후 echo $DISPLAY 로 변수 확인

결론

•
네트워크 상황에 따라서 렉이 걸리고
•
연결이 끊기면 작업하던게 다 꺼져버리기 때문에 조금 불편하다.