zoukankan      html  css  js  c++  java
  • 【树莓派】使用VNC远程登录树莓派的图形界面

    我自己本人使用树莓派,就是ssh连接操作;但是由于实施的部分同学不熟悉Linux命令行操作,虽然之前我给搞过teamviewer方式,但是对他们而言,还是有点复杂,他们也不喜欢不熟悉用ssh,所以我尝试了一下,给他们搞了一下vnc,以后他们可以图形化去操作,相对比较便捷。

    在前面先把相关命令写一下,有需要的直接复制一次性执行下去;

    #安装
    sudo
    apt-get install tightvncserver -y

    #设置密码 vncpasswd #设置开机启动
    sudo vi /etc/init.d/tightvncserver

    shell 脚本:

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          tightvncserver
    # Required-Start:    $local_fs
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start/stop tightvncserver
    ### END INIT INFO
     
    # More details see:
    # http://www.penguintutor.com/linux/tightvnc
     
    ### Customize this entry
    # Set the USER variable to the name of the user to start tightvncserver under
    export USER='pi'
    ### End customization required
     
    eval cd ~$USER
     
    case "$1" in
      start)
        # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
        su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
        echo "Starting TightVNC server for $USER "
        ;;
      stop)
        # 终止命令行。此处控制台号码与启动一致。
        su $USER -c '/usr/bin/tightvncserver -kill :1'
        echo "Tightvncserver stopped"
        ;;
      *)
        echo "Usage: /etc/init.d/tightvncserver {start|stop}"
        exit 1
        ;;
    esac
    exit 0
    sudo chmod 755 /etc/init.d/tightvncserver
    sudo update-rc.d tightvncserver defaults
    #启动vnc
    tightvncserver -geometry 800x600 :1
    
    #停止vnc
    tightvncserver -kill :1
    
    #查看vnc进程
    ps ax | grep Xtightvnc | grep -v grep

    --------------------------------------------------------------------

    下面文章分两部分来写,前一部分是安装配置vnc,后一部分简要的使用;

    一.安装配置VNC

    安装VNC需要使用命令行。如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。

    1.安装
    树莓派命令行:

    sudo apt-get install tightvncserver

    参考部分安装信息:

    lifeccp@raspberrypi:~/webapp/osprey/logs $ sudo apt-get install tightvncserver
    [sudo] password for lifeccp: 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
      xfonts-base
    Suggested packages:
      tightvnc-java
    The following packages will be REMOVED:
      realvnc-vnc-server
    The following NEW packages will be installed:
      tightvncserver xfonts-base
    upgraded, 2 newly installed, 1 to remove and 188 not upgraded.
    Need to get 6,736 kB of archives.
    After this operation, 18.4 MB disk space will be freed.
    Do you want to continue? [Y/n] Y
    Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main tightvncserver armhf 1.3.9-6.5 [555 kB]
    Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main xfonts-base all 1:1.0.3 [6,181 kB]
    Fetched 6,736 kB in 17s (378 kB/s)                                                                                                                                           
    (Reading database ... 121043 files and directories currently installed.)
    Removing realvnc-vnc-server (5.3.2.22164) ...
    
    (gconftool-2:5067): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
    /usr/bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.
    
    Processing triggers for hicolor-icon-theme (0.13-1) ...
    Processing triggers for shared-mime-info (1.3-1) ...
    Processing triggers for gnome-menus (3.13.3-6) ...
    Processing triggers for desktop-file-utils (0.22-1) ...
    Processing triggers for mime-support (3.58) ...
    Processing triggers for man-db (2.7.0.2-5) ...
    Processing triggers for gconf2 (3.2.6-3) ...
    Selecting previously unselected package tightvncserver.
    (Reading database ... 120970 files and directories currently installed.)
    Preparing to unpack .../tightvncserver_1.3.9-6.5_armhf.deb ...
    Unpacking tightvncserver (1.3.9-6.5) ...
    Selecting previously unselected package xfonts-base.
    Preparing to unpack .../xfonts-base_1%3a1.0.3_all.deb ...
    Unpacking xfonts-base (1:1.0.3) ...
    Processing triggers for man-db (2.7.0.2-5) ...
    Processing triggers for fontconfig (2.11.0-6.3+deb8u1) ...
    Setting up tightvncserver (1.3.9-6.5) ...
    update-alternatives: using /usr/bin/tightvncserver to provide /usr/bin/vncserver (vncserver) in auto mode
    update-alternatives: using /usr/bin/Xtightvnc to provide /usr/bin/Xvnc (Xvnc) in auto mode
    update-alternatives: using /usr/bin/tightvncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode
    Setting up xfonts-base (1:1.0.3) ...

    2.密码设置 

    安装好之后,这里需要先使用此命令设置一个VNC密码:

    vncpasswd

    参考部分安装信息:

    lifeccp@raspberrypi:~/webapp/osprey/logs $ vncpasswd
    Using password file /home/lifeccp/.vnc/passwd
    VNC directory /home/lifeccp/.vnc does not exist, creating.
    Password: 
    Verify:   
    Would you like to enter a view-only password (y/n)? y
    Password: 
    Verify:  
    (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。我自己设置了一个)

    2.配置开机自动启动

    安装vic之后,可以修改为开机启动;

    设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:
    (注:启动脚本的名称,有和程序名一致的习惯)

    sudo vi /etc/init.d/tightvncserver

    内容如下:(putty窗口中按右键=粘贴)

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          tightvncserver
    # Required-Start:    $local_fs
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start/stop tightvncserver
    ### END INIT INFO
     
    # More details see:
    # http://www.penguintutor.com/linux/tightvnc
    # http://www.cnblogs.com/haochuang/
    
     
    ### Customize this entry
    # Set the USER variable to the name of the user to start tightvncserver under
    export USER='pi'
    ### End customization required
     
    eval cd ~$USER
     
    case "$1" in
      start)
        # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
        su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
        echo "Starting TightVNC server for $USER "
        ;;
      stop)
        # 终止命令行。此处控制台号码与启动一致。
        su $USER -c '/usr/bin/tightvncserver -kill :1'
        echo "Tightvncserver stopped"
        ;;
      *)
        echo "Usage: /etc/init.d/tightvncserver {start|stop}"
        exit 1
        ;;
    esac
    exit 0

     

    注:如果用的不是vi,使用nano的话,请自行更改USER变量,按Ctrl+X,回答Y(存盘)退出nano编辑器。


    然后给tightvncserver文件加执行权限,并更新开机启动列表。

    sudo chmod 755 /etc/init.d/tightvncserver
    sudo update-rc.d tightvncserver defaults

     


    二.使用VNC进行远程连接
     

    1.电脑登录VNC
    下载Windows客户端RealVNC Viewer,参考百度云盘:
    登录地址输入“IP地址:控制台号码”,0号控制台可不加号码。
    也可使用Android版VNC客户端,下载地址:http://android.d.cn/software/19334.html

    打开之后如下:
    20130904220831991


    20130904220831544

    附:手工启动与参数(以下用处不大,没兴趣请略过)
    使用此命令手工启动VNC服务器程序:


    如果首次启动,并且未曾使用vncpasswd命令设置密码,程序会要求设置一个。
    开机启动很方便。如果不是处于重大型安全理由,那么不推荐手工启动。

    命令行参数说明:
    一、控制台:

    1、指定控制台的号码。

    启动多个控制台,可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)
    可以不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。
    加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。

    2、特殊的0号控制台
    0号控制台就是连接真实显示器真正输出图像的那个桌面。
    对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。
    但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。
    到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。

    二、-geometry 800×600,分辨率。可以不加。


    终止VNC控制台:

    tightvncserver -kill :1

    查看正在运行的控制台列表:

    ps ax | grep Xtightvnc | grep -v grep

     (本文部分内容摘自:树莓派实验室 有根据实践进行部分调整,也可参考:http://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html

  • 相关阅读:
    Feli的生日礼物
    session cookie
    ArcGIS FLEXnet Licensing error:96,491错误解决
    CSS块元素与内联元素(转)
    铝伯世
    netsh修改IP及DNS

    JAVA代码查错(转)
    windows7查看占用端口的进程
    php 中文字符串截取子串
  • 原文地址:https://www.cnblogs.com/haochuang/p/6743387.html
Copyright © 2011-2022 走看看