원리
•
리눅스 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 가 설치되어있다.
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 로 변수 확인
결론
•
네트워크 상황에 따라서 렉이 걸리고
•
연결이 끊기면 작업하던게 다 꺼져버리기 때문에 조금 불편하다.