우리의 책상은 항상 좁고, 해야 될 것은 항상 많다. 

     

      최근 임베디드 시스템은 기본적으로 LCD와 모니터 연결을 지원하고 있고, 이러한 대부분의 시스템은 GUI 환경을 지원한다. 그래서 세부적인 설정을 위해서 최소한 한번 정도의 모니터 연결이 필요할 수 있다. 아쉽게도 사용자의 능력에 따라 지속적으로 모니터를 사용하여야 할 수도 있다. 라즈베리파이의 경우 MicroSD의 설정과 일부 장치를 통해서 모니터 없이 시작시 부터 터미널 부팅이 가능하여, 리눅스 시스템에 능숙한 사용자는 모니터 없이 설정과 개발을 진행할 수 있지만, Jetson은 반드시 한번은 모니터를 연결하여 직접 설정을 해야 한다.  앞서 설치에서 소프트웨어 동의등 기본 설정을 위해서이다. 

     

      어쨋거나 우리는 책상이 좁기 때문에 혹은 모니터가 하나밖에 없으므로 또는 불편하니 Jetson은 모니터를 연결하지 않아도 원격으로 제어하고 싶다는 충동이 든다면, 이번 게시물을 통해서 VNC를 설정하도록 하자. 

     

      라즈베리파이에도 VNC가 내장되어있어 raspi-config에서 바로 설정하면, 윈도우에서 realvnc를 통해 원격제어와 같은 효과를 낼 수 있다. jetson의 경우에도 vnc는 내장되어있지만 상대적으로 설정이 라즈베리파이에 비해서 편하진 않은 것 같다. 어쨋든 한번 해보자.

     

    1. 서버 설정

      앞서 이야기 했듯 Ketson에는 Vino VNC 서버가 설치도어있다. 그렇다고 바로 사용할 수 있는 것은 아니다. 사용을 위해서 몇가지 설정을 해주어야 한다. 

     

    1.1. 터미널 시작 후 에디터 설치

      nano 또는 vim과 같은 에디터가 없다면 독자가 가장 잘 사용할 수 있는 텍스트 에디터를 먼저 설치 해주자.

     

     ~$ sudo apt-get nano 

    또는

     ~$ sudo apt-get vim

     

    1.2. vino 설정 수정

    Vino 설정파일인 org.gnome.Vino.gschema.xml을 텍스트 에디터로 열어서 설정 내용을 추가한다. 

    1) 설정파일 열기

      ~$ sudo vim /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

     

    2) 내용추가

      추가할 내용은 remote access 활성화와 관련된 설정이다. 해당 텍스트는 key이름 view-only 앞에 입력하거나 긁어서 붙히면 된다. 


    <key name=’enabled’ type=’b’>
    <summary>Enable remote access to the desktop</summary>
    <description>
    If true, allows remote access to the desktop via the RFB
    protocol. Users on remote machines may then connect to the
    desktop using a VNC viewer.
    </description>
    <default>true</default>
    </key>

    <key name='view-only' type='b'>
    ... 생략 ...

    그림. 추가할 내용

     

     

    1.3. 변경된 설정 적용

    다음은 앞서 변경한 설정을 시스템에 적용하여야 한다. 

     ~$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas

     

     

    1.4. 서버 ip확인

      서버의 ip를 미리 확인해 두도록 하자. 

    ~$ ifconfig

    그림. ifconfig를 통해 서버ip 설정

     

    1.5. VNC서버 설정 

    1) Desktop shareing 실행

      Jetson Nano의 메뉴에서 share를 입력하여 Desktop sharing을 실행한다. 

    그림. Desktop sharing 실행

    2) 설정 

    아래와 같시 설정한다. Security에 Require the user to enter this password에 패스워드를 입력한다. 그리고 x를 눌러 창을 닫아주자. 

    그림. vino server 설정

     

    1.6. 재부팅시 마다 실행하도록 설정 

      다음은 시스템이 부팅 될 때 마다 실행되도록 하기 위해서 startup application에 등록 해 준다. 

    1) Startup Applications 실행

      우분투 메뉴에서 "start"를 입력하고 Startup Applications를 실행한다.

    그림. Startup Applications

     

    2) 시작 프로그램 등록

      ADD 버튼을 클릭하여 부팅후 시작할 프로그램을 등록한다. 그리고 Save를 눌러 저장하고 Close를 눌러서 종료한다. 

    그림. 시작프로그램 설정

     

    1.7. 편의를 위해서 일부 설정 제외

      접속시 편의를 위해서 아래의 명령을 입력하여 vnc 서버 설정을 변경하고, 설정이 완료되면 리부팅을 진행한다.

     ~$ gsettings set org.gnome.Vino require-encryption false
     ~$ gsettings set org.gnome.Vino prompt-enabled false

     

     ~$ sudo reboot

     

     

    2. 클라이언트 설정

    클라이언트는 PC에서 realvnc를 다운로드 받아 설치하고 Server의 ip를 확인후 접속하면된다. 

    2.1. Client realvnc 다운로드

      아래의 경로에서 realvnc를 다운로드 한다. 

      https://www.realvnc.com/en/connect/download/viewer/

    그림. VNC Viewer 다운로드


    2.2. 클라이언트 연결

      realvnc를 이용하여 서버에 접속한다. 정상적으로 접속이 되었다면 이제 모니터를 제거하여도 좋다. 하지만 jetson nano의 ip는 hdcp를 통해서 동적으로 받아왔으므로 고정으로 사용할 수 있도록 설정해두도록 하자. 

    1) VNC Viewer로 Server 접속

    그림. VNC Connect 주소입력

     

    2) 보안설정 확인

      편의를 위해서 보안설정을 해제 하였으므로 경고 메시지가 출력된다. 가볍게 무시하고 continue를 눌러서 계속 진행하도록 하자. 그리고 향후에 보고 싶지 않으면 체크박스를 눌러주고 continue를 클릭한다. 

    그림. 암호화 설정을 해제하였으므로 경고 메시지 출력

    3) Authentication 

    앞서 지정한 패스워드를 입력하고 OK를 눌른다.

     

     

    정상적으로 입력되었다면, 다음과 같이 Jetson의 화면이 vnc client 화면을 통해서 출력되고 제어할 수 이다. 

    그림. vnc 클라이언트 실행 확인

     

      마지막으로 필요시 ip를 고정하여 향후 ip를 직접확인하지 않아도 되도록 설정해두면 더 편리하게 사용할 수 있다. 그런데 버그가 있는지 좀 화면이..;;;

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기