원문: http://www.linuxdevcenter.com/pub/a/linux/2006/02/09/freenx.html
저자: Tom Adelstein, 한동훈 역
모뎀을 이용하면서 SSH 암호화로 통신하면서 GNOME이나 KDE 세션에서 매우 빠른 반응 속도를 보여주기 위해 압축을 사용하는 X 서버 기술을 상상해보라. FreeNX는 놀랄만한 성능을 보여주면서 원격 데스크톱 제품 군에 등장했다. 씬 클라이언트는 오디오, 비디오, 인쇄, 기타 무거운 응용프로그램들을 사용할 때도 대역폭을 적게 사용해야 하며, 세션 종료 대신에 세션 대기 기능을 제공해야 한다. 리눅스를 사용하기를 원한다면 하드웨어없이 실제 가상 KVM 전환을 제공하는 FreeNX를 사용해야 한다.
(역주: KVM은 키보드, 비디오 케이블, 마우스의 약자로 KVM 스위치는 흔히 말하는 키보드, 마우스, 비디오 케이블을 모두 공유해주는 공유기를 의미한다)
FreeNX는 리눅스를 사람들이 사용하는 응용프로그램의 소스로 만들어주기 때문에 윈도우 원격 데스크톱 프로토콜(RDP)이나 VNC와는 다르다. 리눅스 서버를 설치하고 OpenOffice.org나 파이어폭스 웹 브라우저를 원격 사용자에게 최소한의 하드웨어만으로 제공하고 싶다면 FreeNX를 사용하면 된다. 또, 윈도우98이나 맥OS X 같은 클라이언트를 사용한다해도 리눅스 서버에 연결해서 실행할 수 있게 해주는 무료 클라이언트를
NoMachine NX에서 가져올 수 있다.
리눅스에서 FreeNX 서버를 사용하면 원격 컴퓨팅에 대해서도 안전한 환경을 제공한다. 클라이언트는 리눅스에서 실행될 수 있으며, FreeNX는 X를 설치하지 않고도 윈도우나 맥킨토시 같은 다양한 운영체제에서 X 클라이언트 세션을 만들 수 있게 해준다. 이글을 쓰는 현재 사용할 수 있는 클라이언트 중에 플레이스테이션2, iPAQ, 자우루스 5XXX에서 사용할 수 있는 것도 있다.
사용자가 이용할 수 있는 기능과 내용을 제어할 수 있기 때문에 시스템 관리자들도 FreeNX를 환영할 것이다. 또, 키보드, 마우스, 비디오 케이블을 교환해주는 하드웨어 스위치 없이, 하나의 키보드, 비디오 콘솔, 마우스가 연결된 데이터 센터에서 각 리눅스 서버를 볼 수 있고, 조작할 수도 있다. 하나의 데스크톱에서 여러 개의 윈도우를 표시할 수 있으며, 여러 서버를 동시에 모니터링할 수도 있다. KVM 스위치는 한 번에 한 서버만 볼 수 있기 때문에 이런 기능을 제공하지 못한다.
Gian Filippo Pinzari는 비대하고, 안전하지 못한 X 클라이언트/서버 프로토콜을 가져다가 독창적인 압축 방식을 적용해서 날씬하게 만듦으로써 NX를 개발했다. 그의 회사, NoMachine.com은 2003년에 이 코드를 GPL 라이선스로 공개했다.
FreeNX 설정
광고는 충분했으니, 이제는 페도라 코어와 우분투에서 FreeNX를 사용하는 예를 살펴보자. 먼저,
우분투 백포트 커뮤니티에서 FreeNX를 가져와서 FreeNX를 설치한다. 사이트에 올라와 있는 지시에 따르고, /etc/apt/sources.list 파일에 미러를 추가한다. apt-get install FreeNX를 실행해서 서버에 FreeNX를 설치한다.
그림1에서 볼 수 있는 것처럼 설치했으면 사용자를 추가한다.
그림1. FreeNX 서버에 사용자 추가하기
설정 과정에 따라 로그아웃을 하고, 다시 로그인을 하면 Internet 메뉴에 FreeNX 응용프로그램이 추가된 것을 볼 수 있을 것이다.(그림2)
그림2. FreeNX 메뉴
다음은 페도라에 쓸
FreeNX RPM을 가져와서 설치한다. 클라이언트와 서버를 모두 설치한다. 다시, 사용자를 추가한다.
클라이언트 설정은 마법사를 실행하면 된다. 마법사의 설명에 따르면 "초기 연결의 가장 중요한 부분은 키 파일입니다. client.id_dsa.key 파일을 서버에서 클라이언트 머신으로 복사해야 합니다." 라고 한다. 이 지시에 따라 나는 다음 명령을 실행했다.
bash-3.00#
scp /var/lib/nxserver/home/.ssh/client.id_dsa.key
username@192.168.1.109:~/
The authenticity of host "192.168.1.109 (192.168.1.109)" can"t be
established.
RSA key fingerprint is 40:54:e3:c9:5e:81:39:2d:ac:70:b9:bf:44:a9:ec:a8.
Are you sure you want to continue connecting (yes/no)?
yes
Warning: Permanently added "192.168.1.109" (RSA) to the list of known
hosts.
Password: enter password here
client.id_dsa.key 100% 672 0.7KB/s
00:00
bash-3.00#
FreeNX 사용하기
이 작업들을 모두 수행했으면, 원격 클라이언트로 FreeNX 서버에 연결해서 완전한 리눅스 세션을 볼 수 있을 것이다. 실행하는데 문제가 발생했다면 인터넷에서 존재하는 다양한 사이트에서 도움을 얻을 수 있을 것이다. 또한, FreeNX 메일링 리스트나 과거
메일링 리스트에서 해결책을 찾아볼 수도 있다.
FreeNX는 세션을 빠르게 열어준다. 또한, FreeNX는 세션을 닫기 보다는 대기시킨다는 것도 알 수 있을 것이다. 대기중인 세션을 다시 연결할 때나 세션 도중에도 클라이언트는 화면을 업데이트하며 이는 대역폭을 절약해준다.
그림3. 페도라에서 우분투에 세션을 다시 연결하는 화면
그림4. 페도라 코어 3에서 운영중인 서버에서 우분투에 연결한 FreeNX 세션
FreeNX는 리눅스 사용자에게 많은 장점을 제공한다. FreeNX는 훌륭하며, 무료 씬 클라이언트 환경을 제공한다. 빠른 속도를 제공하며, 소스 코드 형태로 주요 FIPS 140 범주의 테스트를 통과한 입증된 암호화 방법인 OpenSSH를 사용한다. FreeNX는 또한 대부분의 상용 리눅스 배포판에서 이용할 수 있다. 페도라 프로젝트나 우분투 같은 무료 리눅스 배포판에서 폭넓은 커뮤니티 지원도 받을 수 있다.
마지막으로, FreeNX는 VNC나 RDP 서버에 대한 프록시로 리눅스 서버를 이용할 수 있다. 리눅스에서 vncviewer나 rdesktop를 실행해서 윈도우 세션을 사용할 수 있다. FreeNX를 사용하면 VNC 세션의 속도를 높일 수 있으며, 암호화 통신을 제공한다. RDP를 통한 윈도우 은용프로그램에 대해서는 보다 폭넓은 액세스를 제공할 수 있다.
Tom Adelstein은 Lxer.com의 편집장이며, 전업 작가, Exploring the JDS Linux Desktop의 공동 저자이다. 탐은 1985년부터 꾸준히 다작을 해오고 있다.