데스크톱 환경(GUI)으로 Raspberry Pi 3에 원격 접속하는 방법에 대해 소개합니다.


터미널 프로그램을 사용하여 Raspberry Pi에 SSH 접속을 해서도 원하는 웬만한 작업을 다 할 수 있지만 가끔 키보드,마우스,모니터등을 라즈베리파이에 붙이게 될 때가 있습니다.


바로 X 윈도우 때문인데 생각보다 쉽게 번거로 왔던 것들을 줄일 방법이 있더군요.

VNC를 이용하면  간단하게 해결이 됩니다.




1. VNC 서버 프로그램 설치 및 접속하는 방법


2. 한글 입력을 위해서 UIM 설치


3. 관련 포스팅

   Raspberry Pi 3 무선랜(WiFi) 설정 방법





마지막 업데이트  2018. 8. 26




1. VNC 서버 프로그램 설치 및 접속하는 방법


1-1. VNC Server 프로그램인 vncserver를 실행시킵니다.

-geometry 옵션값을 조정하여 VNC의 해상도를 변경할 수 있습니다.


$ vncserver -geometry 1280x1024



아래 처럼 메시지들을 출력됩니다.  맨 아래줄에 출력되는 빨간색 부분을 VNC 접속하는데 사용합니다.


pi@raspberrypi:~ $ vncserver -geometry 1280x1024
VNC(R) Server 6.3.0 (r36499) ARMv6 (Jun 21 2018 15:32:38)
Copyright (C) 2002-2018 RealVNC Ltd.
RealVNC and VNC are trademarks of RealVNC Ltd and are protected by trademark
registrations and/or pending trademark applications in the European Union,
United States of America and other jurisdictions.
Protected by UK patent 2481870; US patent 8760366; EU patent 2652951.
See https://www.realvnc.com for information on VNC.
For third party acknowledgements see:
https://www.realvnc.com/docs/6/foss.html
OS: Linux 4.14.50 armv7l

On some distributions (in particular Red Hat), you may get a better experience
by running vncserver-virtual in conjunction with the system Xorg server, rather
than the old version built-in to Xvnc. More desktop environments and
applications will likely be compatible. For more information on this alternative
implementation, please see: https://www.realvnc.com/doclink/kb-546

Running applications in /etc/vnc/xstartup

VNC Server catchphrase: "Monster salmon ford. Frank vodka unique."
            signature: 72-74-f9-2c-b4-0e-2b-c3

Log file is /home/pi/.vnc/raspberrypi:1.log
New desktop is raspberrypi:1 (192.168.0.10:1)




1-2. VNC 서버에 접속하기 위해서는 VNC 클라이언트 프로그램 또는 VNC 뷰어라고 불리는 프로그램을 PC 혹은 스마트폰에 설치해야 합니다.


VNC 프로그램 간에는 호환이 되기 때문에 어떤 VNC 클라이언트 프로그램을 쓰던 상관이 없습니다.  

저는 RealVNC의 VNC Viewer를 다운로드 받아 사용했습니다.  

RealVNC는 https://www.realvnc.com/download/viewer/ 에서 다운로드 가능합니다.



사용 중인 64비트 윈도우가 자동감지 되었는지 Windows 탭이 바로 보이고 콤보박스에 EXE x64가 선택되어 있습니다.

파란색 버튼 DOWNLOAD VNC VIEWER을 클릭하면 다운로드가 시작됩니다.




다운로드 받은 파일을 실행시키면 설치가 진행됩니다.




설치 완료후, VNC Viewer를 실행합니다.





1-3. 상단에 있는 입력란에  서버 실행시 마지막 라인에 출력된 값을 적어주고 엔터를 누릅니다.






1-4. 라즈베리파이 SSH 접속시 사용했던 아이디와 패스워드를 입력합니다.

체크박스를 클릭하면 다음 접속시 패스워드를 다시 안물어 보게 됩니다.





1-5. 연결 성공하면 X윈도우 데스크탑 환경이 보입니다.




1-6.  화면에서 툴바나 아이콘 같은 UI가 너무 작거나 너무 큰 경우 조정하는 방법입니다.


왼쪽 상단에 보이는 라즈베리 아이콘을 클릭하여 메뉴에서 Preferences > Appearance Settings를 선택합니다.

For small screens 또는 For large screens 옆에 있는 Set Defaults 버튼을 클릭하여 UI 크기를 조정할 수 있습니다.





2. 한글 입력을 위해서 UIM 설치


2-1. 픽셀 데스크탑 환경(X 윈도우)에서 Ctrl + Alt + T를 입력하여 터미널을 실행하고 uim과 벼루 패키지,한글 폰트를 설치해줍니다.


$ sudo apt-get install uim uim-byeoru fonts-unfonts-core




2-2.  아래 캡쳐화면처럼 메뉴에서 Preferences > Input Method 선택합니다.




현재 입력기 설정을 보여줍니다. OK 버튼을 클릭합니다.



 

입력기를 바꿔야 하므로 Yes버튼을 클릭합니다.





uim을 선택하고 OK 버튼을 클릭합니다.





설정이 uim으로 변경되었습니다. OK를 클릭합니다.





2-3.  아래 캡쳐화면처럼 메뉴에서 Preferences > Input Method 선택합니다.

앞에서 선택한 Input Method 바로 아래에 있습니다.





2-4. Specify default IM을 체크해주고  그 바로 아래 보이는 Default input methodByeoru로 변경합니다.

OK버튼을 클릭해주면 창이 닫히면서 바뀐 설정이 적용됩니다.




2-5.   Alt + Ctrl + T를 눌러서 터미널을 실행합니다. 초기에는 영어가 입력가능한 상태입니다.


이 상태에서 Shift + Space 를 누르면 한글 입력 모드가 되고 다시 Shift + Space를 누르면 영어 입력 모드가 됩니다.





2-6. 터미널의 글씨를 크기를 키우려면 터미널 메뉴에서 Edit > Preferences를 선택합니다.

폰트 및 폰트 크기를 변경하기 위해서 Terminal Font 항목을 클릭합니다.



원하는 폰트와 크기를 선택하고  OK를 클릭합니다.




Terminal Font 항목이 선택한 폰트와 크기로 변경됩니다. OK 버튼을 클릭하면 적용됩니다.





2-7. 터미널 상의 글씨가 보기좋게 커졌지만 창의 크기는 그대로입니다.

마우스로 창의 크기를 조정해줘야 합니다. 이후 변경된 크기로 계속 실행됩니다.






3. 관련 포스팅

Raspberry Pi 3 무선랜(WiFi) 설정 방법

Raspberry Pi 3부터 내장된  무선랜(WiFi)를 사용하기 위해 필요한  설정 방법에 대해서 다룹니다.

http://webnautes.tistory.com/903






해봤어요 www.facebook.com/webnautes/

  1. 지나가던객 2015.03.02 00:22 신고

    어떠한 입력기를 사용하더라도 VNC를 사용할때는 한글이 깨졌었는데 덕분에 도움 됫습니다.

  2. 금동일 2016.08.23 12:24 신고

    vnc viewer 이용시 the connection was refused by the host computer 이란 문구가 뜨는데 이건 어떤 문제인가요?
    ssh 설치가 제대로 되지 않앗다는 말인가요?

    • 명지대 2017.04.29 05:22 신고

      sudo raspi-config에서 인터페이스 설정으로 들어가시면 vnc 허용할 수 있어요. 저는 이 방법으로 문제해결했네요

  3. 뚜뚜뚜 2016.09.18 21:55 신고

    꼭 같은 네트워크상에 있어야하나요?
    같은 와이파이를 잡고있어야하나요?

  4. ABCD 2017.01.12 13:25 신고

    X11vnc 실행시 오류가 뜨는데 어떻게 해결하나요?
    일부 오류만 첨부하였습니다.

    12/01/2017 04:23:47 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 976
    12/01/2017 04:23:47 XOpenDisplay("") failed.
    12/01/2017 04:23:47 Trying again with XAUTHLOCALHOSTNAME=localhost ...
    12/01/2017 04:23:47
    12/01/2017 04:23:47 *** XOpenDisplay failed. No -display or DISPLAY.
    12/01/2017 04:23:47 *** Trying ":0" in 4 seconds. Press Ctrl-C to abort.
    12/01/2017 04:23:47 *** 1 2 3 4
    12/01/2017 04:23:51 XOpenDisplay(":0") failed.
    12/01/2017 04:23:51 Trying again with XAUTHLOCALHOSTNAME=localhost ...
    12/01/2017 04:23:51 XOpenDisplay(":0") failed.
    12/01/2017 04:23:51 Trying again with unset XAUTHLOCALHOSTNAME ..

    • webnautes webnautes 2017.04.29 08:43 신고

      아직 최근 라즈비안으로 확인 못해봤지만 ..

      혹시 에러가 난후 기다리면 다음과 같은 메시지들 보이지 않나요?
      첨에 에러나다가 이후 아래 메시지가 보였던거 같은데..

      The VNC desktop is: raspberrypi:0
      PORT=5900

      ******************************************************************************
      Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

      The scheme stores pixel data offscreen on the VNC viewer side for faster
      retrieval. It should work with any VNC viewer. Try it by running:

      x11vnc -ncache 10 ...

      One can also add -ncache_cr for smooth 'copyrect' window motion.
      More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

    • webnautes webnautes 2017.05.20 20:50 신고

      x11vnc 실행 방법이 변경되어 포스팅을 새로 작성했습니다.

  5. jedijaja 2017.09.22 10:23 신고

    내용 잘 보았습니다.

    그런데 자동 실행을 하려고 rc.local 파일에 위의 x11vnc -display :0 -auth ~/.Xauthority -usepw 그대로 써 주었는데 자동 실행이 안되네요. 데스크탑 환경으로 바로 들어가서 그런 것 같기도 하고 ..

    부팅시 자동 실행 하려면 어떻게 해야 할까요 ?

  6. 허리디스크 2017.11.10 23:00 신고

    2017.11, 도움 많이 되었습니다. 감사합니다 :)

  7. 제로윈코딩 2017.11.27 11:55 신고

    감사합니다!!!! 좋은 자료에요.

  8. 슈렉 2017.12.21 16:34 신고

    패스워드 설정까지 마무리 하고,
    x11vnc -display :0 -auth ~/.Xauthority -usepw 실행하면,
    아래와 같이 에러가 발생합니다.

    21/12/2017 16:32:47 -usepw: found /root/.vnc/passwd
    21/12/2017 16:32:47 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 586
    21/12/2017 16:32:47 XOpenDisplay(":0") failed.
    21/12/2017 16:32:47 Trying again with XAUTHLOCALHOSTNAME=localhost ...

    21/12/2017 16:32:47 ***************************************
    21/12/2017 16:32:47 *** XOpenDisplay failed (:0)

    *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
    *** There may be "Xlib:" error messages above with details about the failure.
    <일부만 발췌>

    다른 사전 설정이 필요할까요?

    • webnautes webnautes 2017.12.22 14:26 신고

      x11vnc -display :0 -auth /var/gdm/:0.Xauth 라고 입력해보세요..

      방법을 찾을 출처는 아래 링크입니다.
      http://www.karlrunge.com/x11vnc/faq.html#faq-xperms

  9. 섬아이 2018.02.03 22:01 신고

    올려주신 글 대로 셋업 잘 끝냈습니다. ^^
    감사합니다.
    그리고 댓글 중에 명지대님도 감사합니다.

  10. 섬아이 2018.02.03 22:20 신고

    sudo raspi-config 설정에서 VNC 허용하고, username 에 pi 입력, 패스워드 입력하면, VNC viewer에서 자동으로 접속되네요.

    • webnautes webnautes 2018.02.03 22:25 신고

      답변 감사합니다. 그렇게하면 라즈베리파이에 디폴트로 설치되는 vnc 패키지를 사용하게됩니다.. 저는 x11vnc를 따로 설치한거구요.. 테스트해보고 자기한테 맞는걸 사용하는게 맞는듯합니다..

  11. Marigold 2018.03.27 03:45 신고

    라즈베리파이에서 ifconfig로 ip주소를 찾아서 넣었고요
    username이랑 password를 입력하는 부분에서 계속 잘 안되어서....
    username이랑 password를 제가 변경했는데 변경한 것을 넣어도 둘중하나가 잘못되었다며 오류메시지만 뜹니다

    username이랑 password를 초기화하거나 변경된 값을 확인할 수 있는 방법이 없을까요?

  12. 이쿠 2018.03.28 16:29 신고

    28/03/2018 16:22:37 -usepw: found /home/pi/.vnc/passwd
    28/03/2018 16:22:37 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 606
    28/03/2018 16:22:38 XOpenDisplay(":0") failed.
    28/03/2018 16:22:38 Trying again with XAUTHLOCALHOSTNAME=localhost ...

    28/03/2018 16:22:38 ***************************************
    28/03/2018 16:22:38 *** XOpenDisplay failed (:0)

    *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
    *** There may be "Xlib:" error messages above with details about the failure.

    Some tips and guidelines:

    ** An X server (the one you wish to view) must be running before x11vnc is
    started: x11vnc does not start the X server. (however, see the -create
    option if that is what you really want).

    ** You must use -display <disp>, -OR- set and export your $DISPLAY
    environment variable to refer to the display of the desired X server.
    - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
    to specify it), but in some multi-user situations it could be ":1", ":2",
    or even ":137". Ask your administrator or a guru if you are having
    difficulty determining what your X DISPLAY is. ...등등등

    x11vnc -display :0 -auth ~/.Xauthority -usepw

    x11vnc -display :0 -auth /var/gdm/:0.Xauth
    이두개의 명령어를 쳐봐도 안되는데 혹시 이유를 알 수 있을까요..?

    • webnautes webnautes 2018.03.28 17:18 신고

      혹시 hdmi로 라즈베리파이에 모니터를 연결했나요??

      이 경우 아래처럼 해야 한다는 군요.

      출처는...
      https://jp.raspberrypi.org/forums/viewtopic.php?f=28&t=9380&start=25

      steps:
      install and set password
      - sudo apt-get install x11vnc
      - x11vnc -storepasswd

      create autostart entry

      - cd .config
      - mkdir autostart
      - cd autostart
      - nano x11vnc.desktop
      - paste following text:

      [Desktop Entry]
      Encoding=UTF-8
      Type=Application
      Name=X11VNC
      Comment=
      Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
      StartupNotify=false
      Terminal=false
      Hidden=false

      - save and exit (Ctrl-X, Y, <Enter>)

      This start x11vnc when lxde starts.

    • 이쿠 2018.03.28 17:26 신고

      아뇨그냥 랜선으로 pc에 연결했습니다.
      x11vnc -display :0 -auth /var/gdm/:0.Xauth
      을 치면###############################################################
      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
      #@ @#
      #@ ** WARNING ** WARNING ** WARNING ** WARNING ** @#
      #@ @#
      #@ YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!! @#
      #@ @#
      #@ This means anyone with network access to this computer @#
      #@ may be able to view and control your desktop. @#
      #@ @#
      #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
      #@ @#
      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
      #@ @#
      #@ You can create an x11vnc password file by running: @#
      #@ @#
      #@ x11vnc -storepasswd password /path/to/passfile @#
      #@ or x11vnc -storepasswd /path/to/passfile @#
      #@ or x11vnc -storepasswd @#
      #@ @#
      #@ (the last one will use ~/.vnc/passwd) @#
      #@ @#
      #@ and then starting x11vnc via: @#
      #@ @#
      #@ x11vnc -rfbauth /path/to/passfile @#
      #@ @#
      #@ an existing ~/.vnc/passwd file from another VNC @#
      #@ application will work fine too. @# 등등이 뜨네요.. 비밀번호도 설정해줬는데..

    • webnautes webnautes 2018.03.28 17:43 신고

      배포판 문제 일수도 있어서요..

      혹시 RASPBIAN STRETCH LITE 하고
      RASPBIAN STRETCH WITH DESKTOP 중에 어떤 것을 사용하셨나요?

      https://www.raspberrypi.org/downloads/raspbian/

    • 이쿠 2018.03.28 17:45 신고

      LITE로 깔았습니다!!@

    • webnautes webnautes 2018.03.28 17:58 신고

      그렇다면 /boot/config.txt 파일을 열어서 다음 한줄을 추가하고 재부팅해보세요..

      hdmi_force_hotplug=1

      그리고 x11vnc 실행할 때 추가로 다음 옵션을 더 적어야 한다고 하네요.

      -repeat


      출처는
      http://forum.tinycorelinux.net/index.php?topic=20557.0

    • 이쿠 2018.03.29 20:47 신고

      정말죄송합니다.. /boot/config.txt
      파일맨밑에 hdmi_force_hotplug=1추가해서 재부팅하고 x11vnc -display :0 -auth ~/.Xauthority -usepw -repeat 명령어를 쳐봐도 안되는군요.. 위에 댓글에 있는 해결방법들도 다 해보았습니다. 다시 새로깔아야할까요..

    • webnautes webnautes 2018.03.29 23:08 신고

      DESKTOP 버전으로 재설치하는게 좋을듯합니다.

+ Recent posts

티스토리 툴바