[OSX, 우분투] ssh forwardX11 을 이용하여 맥에서 우분투 X프로그램 실행 Computer Tip

일전에 RDP 또는 VNC 등을 이용하여 우분투 데스크탑 (또는 서버)에서 작업하는 것을 해 보았는데,
한 이십년 전으로 되돌아가 X11 프로그램을 직접 OSX 에서 돌리는 것도 가능하리라는 생각이 들었다.
역시 맥은 X11 을 그대로 태생적으로 가지고 있어서 어렵지 않게 원격 우분투에 있는 X 프로그램을 돌려
그 결과를 OSX 창에서 그대로 볼 수 있다.

여러 방법 중, SSH X11 터널링을 이용하여 이것을 가능하게 하고,
또한 OSX에서 폰트를 설정하며, 원격 프로그램을 돌리는데,
firefox 등에서 한글을 입력할 수 있게 해 보았다.

개인적으로는 eclipse + pydev를 구동시키는데 있어서 속도 및 보안 등을 고려할 때,
원격접속에 비해 훨씬 많은 장점이 있었다. (당분간은 이 접속을 주로 사용하게 될 듯 싶다..)


1) 원격 우분투 서버에 접속하여 SSHD 설정
OSX에서 터미널을 열어 원격 서버에 접속한다.

$ ssh user@ubuntu
$ sudo vi /etc/ssh/sshd_config

X11Forwarding yes 
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes 
TCPKeepAlive yes 

위와 같이 되어 있음을 확인한다.

2) 로컬 서버에 ssh config 설정
OSX 터미널을 열어,

$ cd ~/.ssh
(만약 이 폴더가 없으면 ssh-keygen 명령을 수행하면 자동으로 만들어 진다)

$ vi config
host x11ubuntu
       Hostname ubuntu
       Port 22
       ForwardAgent yes
       ForwardX11 yes

위와 설정한다.

3) OSX 에서의 폰트를 설정한다.
OSX 터미널에서

$ vi ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>

<alias>
    <family>Sans-Serif</family>
    <prefer>
        <family>NanumGothicOTF</family>
    </prefer>
</alias>

<alias>
    <family>Sans</family>
    <prefer>
        <family>NanumGothicOTF</family>
    </prefer>
</alias>

<alias>
    <family>Serif</family>
    <prefer>
        <family>NanumGothicOTF</family>
    </prefer>
</alias>

<alias>
    <family>Monospace</family>
    <prefer>
        <family>NanumGothicOTF</family>
    </prefer>
</alias>

</fontconfig>

위의 내용을 넣어준다.

만약 나눔고딕 폰트가 설치되어 있지 않다면,
$ fc-list | grep Nanum
나눔손글씨 펜 OTF,Nanum Pen Script OTF:style=Regular
나눔고딕OTF,NanumGothicOTF:style=Regular
나눔명조OTF,NanumMyeongjoOTF:style=Bold
나눔명조OTF,NanumMyeongjoOTF,NanumMyeongjoOTF ExtraBold,나눔명조OTF ExtraBold:style=ExtraBold,Regular
나눔명조OTF,NanumMyeongjoOTF:style=Regular
나눔고딕OTF,NanumGothicOTF:style=Bold
나눔고딕OTF,NanumGothicOTF,NanumGothicOTF ExtraBold,나눔고딕OTF ExtraBold:style=ExtraBold,Regular
나눔손글씨 붓 OTF,Nanum Brush Script OTF:style=Regular

명령으로 확인 가능하다. 
(네이버의 나눔고딕폰트를 설치하면 된다. 혹은 위의 폰트를 NanumGothicOTF 대신 AppleGothic 로 설정한다)
(위의 fc-list 명령이 없다면 $ sudo port install font-config 를 설치한다.)

3) 원격 우분투 서버의 한글 입력기 지정
원격 우분투 서버의 한글 입력기를 "nabi"로 설정하고 
(데스크탑에서는 설정>언어 창에서 ibus 등 대신 nabi로 설정하고 logout했다가 login 하면 확인가능)

그리고 .bashrc 설정파일에 다음 한줄 추가,

export XMODIFIERS="@im=nabi"

4) ssh 접속 후, 원격 프로그램 실행
OSX 터미널에서 
$ ssh user@x11ubuntu
로 접속하여 다음 명령을 내리면,

$ env | grep DISP
DISPLAY=localhost:10.0

이렇게 나오면 성공적으로 X11 forwarding 이 되고 있음을 보여준다.

이제 원격 ssh 연결된 창에서, 계속하여
$ nabi&
 명령을 내리면,

이런 창이 나타나며, 맨 오른쪽 설정 아이콘을 눌러 기본설정을 선택하면, 
위와 같이 나타나면 한영전환키에 "+" 하여 오른쪽 "Command" 를 설정하고 한자 전환키도 오른쪽 "Option"  키로 설정한다음,
nabi를 종료한다.

다시 우분투 ssh 연결된 창에서
$ firefox& nabi&
명령을 내려 한글을 사용하면,

위와 같이 우분투에서 실행되는 파이어폭스가 맥의 OSX에서 잘 실행하고, 한글도 나비 입력기에 의하여 잘 나오는 것을 알 수 있다.

결론적으로,

위와 같이 원격의 우분투에서 실행되는 이크립스+PyDev 파이썬 개발환경을 그대로 OSX 에서 실행할 수 있음을 알 수 있다.


덧글

댓글 입력 영역

구글애드텍스트