우분투에서 ssh 접속만 가능할때 원격데스크탑(vnc)도 가능하게 해보자.

|
우분투를 켜놓고 다른곳에서 원격테스크탑(vnc)접속하려고 하니.. 포트가 막혔있다. 난감하다.
그놈(Gnome)의 기본 vnc는 vino-server 다. (KDE는 안써봐서 모르겠다.) vino-server 의 기본포트는 5900 이다.
게다가 판단실수로 재부팅까지 해버렸다. 자동 로그인을 안해놔서 vino-server 까지 동작하지 않는다. 더욱 난감해졌다.
tightvnc 같은것을 설치할까 하다가... 생각해보니... 내 데스탑환경이 필요하다.

나와 같은 경우라면 다음과 같이 하자. 주의 할 점은 원격데스크탑으로 접속하고자 하는 사용자로 ssh 로그인한 상태에서 아래의 내용을 실행한다.

1. vino-server가 동작하게 하기 위해 자동로그인을 가능하게 한다.
   자동로그인을 수정하기 위해서는 /etc/gdm/custom.conf 를 수정한다.
   $ sudo vi /etc/gdm/custom.conf
   내용중 아래 두 부분을 수정한다.
 
   AutomaticLoginEnable=true
   AutomaticLogin=자동로그인할 사용자 ID

   재부팅하면 해당 사용자로 로그인이 되어있는 상태가 되고, vino-server도 동작한다.

2. vino-server의 세팅 즉, 그놈 원격데스크탑이 가능하도록 한다.
    포트도 열려있고, 이미 X상에서 원격데스크탑 설정을 지정해놓은 상태라면 이 부분은 필요없는 부분이다. 바로 vnc client로 접속하자.

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true   //원격접속을 가능하게 한다.
    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false   //데스크탑에서 승인받지 않아도 접속되도록한다.

    이제 얼른 vnc로 접속해서 그놈데스크탑에서 비밀번호를 등록해야 접속이 가능하도록 변경하자.
    궂이 ssh 콘솔상에서 비밀번호를 등록하고자 하면 아래와 같이 한다.

    $ gconftool-2 --type list --list-type string --set /desktop/gnome/remote_access/authentication_methods '[vnc]'  //비밀번호로 접속한다.
    $ PW=`echo '비밀번호' | base64`  //비밀번호를 base64 로 인코딩해 PW 변수에 임시 저장한다.
    $ gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password $PW  //비밀번호를 등록한다.

    만약 5900 포트가 막혀서 바꿔야 한다면, 아래와 같이 한다. 

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/use_alternative_port true  //포트변경을 허용한다.
    $ gconftool-2 -s -t int /desktop/gnome/remote_access/alternative_port 8080  //새로운 포트를 지정한다. 8080이 새로운 포트번호다.

    혹시, 원격 마우스/키보드 조작을 막아놨다면 아래와 같이 한다.

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/view_only false

3. vnc client로 서버로 접속할 일만 남았다. 포트를 변경했을경우 주소뒤에 :포트번호 적는것 잊지말자.
    필요하다면 재부팅을 하도록 하자.

4. 혹시나 또다른 설정사항이 필요하다면 /usr/share/gconf/schemas/vino-server.schemas 파일을 참고한다.
   이 파일은 내용만 참고하고 수정하지는 말자.

  그리고 VNC 접속은 엄청나게 느리다. 더더군다나 데스크탑 효과를 많이 줘놨다면 아무런 반응을 하지 않는것 처럼 보인다.
  그래도 분명 동작하고 있으니 마우스조작을 함부로 하다간 낭패를 본다. 조심하자. vnc를 쓸생각이라면 효과를 안주는게 최선이다.

- 이상 -

And