X 윈도 시스템 (X Window System)은 주로 유닉스 계열 운영체제에서 사용되는 윈도 시스템이다.
.
.
.
라고 정의되어 있다.
정의만으로는 그것이 무엇인지 알기 어렵다.
그래서 인터넷 이곳 저곳 찾아보고, 사용도 해보면서 개인적으로 내린 결론은,
쉽게 말해서 리눅스(유닉스 그 외)에서 사용 가능한 GUI 이다.
빌게이츠 횽이 만든 Windows OS 에서 볼 수 있는 그래픽 인터페이스를,
리눅스에서도 사용할 수 있게 만든것이 X Windows System 이다.
응? GUI 사용 가능하다는게 무슨 말이여?
리눅스는 원래 command(CLI) 로 동작하는 OS 아닌가?
맞다. 리눅스는 원래 CLI 로 동작하는 OS 이다.
당연한 얘기겠지만, CLI 방식을 불편해 하는 사용자가 있을것이고,
GUI 에 대한 요청이 있었을 것이다.
그래서 만들어진 것이다.
우리가 리눅스 서버 버전 말고, 리눅스 데스크탑 버전을 다운 받아서 설치하면,
마치 윈도우와 비슷하게 바탕화면도 있고 아이콘도 있고 GUI 환경에서 리눅스를 사용할 수 있다.
이곳에서 그래픽 유틸리티를 사용할 수 있고, 마우스를 사용해서 리눅스를 컨트롤 할 수 있다.
그래서 일반 사용자들도 손쉽게(아마도) 리눅스를 사용할 수 있게 되었을 것이다.
사실 윈도우가 더 편하긴 하겠지만.....아무튼,
X Window 에는 아주 아주 중요한 기능이 있다.
그것은 바로, X Window 가 Server-Client 구조로 동작한다는 것이다.
그래픽 화면을 뿌려줄때 Server-Client 구조로 뿌려준다는 말이다.
무슨 말인고 하니,
Server 는 리눅스 본체라고 생각하면 되고
Client 는 그래픽 화면이라고 생각하면 된다.
그래서....?
그래서~ 저 Client 를 다른 컴퓨터에 나타나게 할 수 있다는 말이다.
아직까지도 아리송 할 수 있으니, 직접 눈으로 보는게 나을거 같다.
아래 링크에 들어가서 vcXsrv 를 다운로드 하고 설치 하자.
https://sourceforge.net/projects/vcxsrv
무슨 프로그램인지는 나중에 설명하겠다.
Next 클릭
Install 클릭
Close 클릭
바탕화면의 VcXsrv 더블클릭
윈도우 트레이(tray)에 아이콘이 추가된 것을 확인할 수 있다.
정상적으로 실행이 된 것이다.
ubuntu 에 접속을 해 보자.
개인적으로 putty 라는 프로그램을 즐겨 사용한다.
putty 로 ubuntu 에 접속하기 전에,
추가적으로 설정해 줘야 하는것이 있다.
"Enable X11 forwarding" 을 체크해 줘야 한다.
나머지 설정은 자신의 취향대로 하면 된다.
자, 이제 리눅스에 접속한 후에, 그래픽 유틸리티 아무거나 실행시켜 보자.
딱히 떠오르는게 없으면, firefox 를 실행시켜 보자.
짠~ 하고 현재 접속한 컴퓨터에 그래픽 유틸리티가 나타날 것이다.
우와 신기하다 @.@
만약 firefox 가 설치되어 있지 않다면 apt-get 을 이용해서 설치해 주면 된다.
% sudo apt-get install firefox
개인적으로 firefox 보다는 chromium 을 사용한다.
% sudo apt-get install chromium-browser
chromium-browser 를 실행시키면,
짠~ 하고 현재 접속한 컴퓨터에 그래픽 유틸리티가 나타날 것이다.
만약 한글이 깨져서 나온다면, 아래 링크에서 해결방법을 구할 수 있다.
http://kimchki.blogspot.kr/2017/11/vcxsrv-windows-x-server.html
윈도우에 메모장이 있다면, 리눅스에는 gedit 가 있다.
간단한 편집 기능을 제공해 주는 유틸리티 이다.
% sudo apt-get install gedit
설치하고 실행해보자.
이것 역시 그래픽 화면을 끌어서 사용할 수 있다.
위와 같은 방식으로 리눅스의 GUI 를 사용할 수 있다.
여기까지 왔으면 얼추 눈치를 챘을 것이다.
리눅스는 GUI 를 X Window 라는 것으로 표현하고 있는데,
X Window 는 Server-Client 구조로 동작한다는 것이다.
Server 는 리눅스가 되는 것이고,
Client 는 리눅스에 접속한 내 컴퓨터가 된 것이다.
Client 에도 당연히 Server 에 응답해 줘야 하는 프로그램이 필요한데,
그것이 바로 VcXsrv 이다.
그래서 GUI 를 위해 리눅스가 설치된 컴퓨터에,
모니터를 굳이 직접 연결할 필요는 없다.
물론 VNC 같은 원격 연결 프로그램을 사용할 수도 있다.
개인의 취향따라 선택해서 사용하면 된다.
당연한 이야기이지만, 이게 좋다 저게 좋다 장단점이 있기 때문이다.
그리고 XLaunch 는 GUI 에 대한 환경 설정 변경을 도와준다.
GUI 가 화면에 나타나는 형태를 고를 수 있다.
처음 실행할때 자동으로 실행되는 프로그램을 선택할 수 있다.
Clipboard 내용을 공유할 수 있다.
자신만의 셋팅 값을 저장할 수 있고, 다음에 재사용할 수 있다.
출처
https://ko.wikipedia.org/wiki/X_윈도_시스템
https://www.x.org/wiki
https://sourceforge.net/projects/vcxsrv
https://blog.iwanhae.ga/x11-forwarding