美文网首页
我的Raspberry Pi 3B连接之旅(三)

我的Raspberry Pi 3B连接之旅(三)

作者: 懂时已不是当时 | 来源:发表于2017-04-05 23:40 被阅读0次

    Step Three 树莓派开机自动启动VNC

    参考帖子:树莓派3B远程VNC的设置(包括开机启动)

    什么是VNC?为什么要用VNC?VNC (Virtual Network Console)是虚拟网络控制台的缩写。简单说就是,我这台电脑没屏幕,但我这台电脑能通过网络连到那台有屏幕的电脑,那我就可以通过VNC从那台有屏幕的电脑上虚拟一个屏幕出来。

    再简单点,我不想再看字符界面了,我要看到树莓派的图形界面——

    闪亮登场--完成效果图

    打开VNC server

    正如上述教程中所言,最新官方系统中已自带VNC server,我们要做的是——开启它

    在Xshell中输入

    sudo raspi-config
    

    进入树莓派系统设置界面,参考教程中的设置界面和我的不大一样,可能我的也会和你的不大一样,耐心找找就好

    通过sudo raspi-config进入的系统设置界面

    方向键选择【9 Advanced Options】回车进入,

    VNC

    找到【A5 VNC】回车进入,

    <是> [Enter]

    选择【<是>】回车确认。

    然后重启树莓派,后重新连接ssh。事实上这个时候,如果前面的设置没错的话,你的树莓派已经可以开机自动连接WiFi了,你可以在WiFi中查到树莓派的IP地址,然后通过无线ssh来连接,方法和之前一样,输入IP地址,输入密码...

    成功连上无线的树莓派

    设置VNC sever开机自启

    前面说了,QQ上你想和对方聊天,首先对方要在线。对VNC也是如此,在笔记本上想通过VNC连接树莓派,树莓派要自己先启动VNC服务。

    我们当然可以每次通过ssh的方式先连上树莓派,然后手动运行树莓派上的VNC服务,但...这很麻烦啊...我们当然是希望直接就能用VNC,把ssh踹一边去。所以就需要树莓派自己每次开机时能启动VNC server。

    这部分整体的思路是:

    • 先在【/etc/init.d/】目录下新建一个脚本文件
    • 这个脚本文件可以在每次树莓派开机时被自动执行,打开VNC server

    树莓派(Linux)上的脚本文件就是一个软件,可以帮我们做一些工作...

    sudo nano /etc/init.d/vncserver
    

    用nano(类似记事本)在/etc/init.d/目录下创建一个名叫vncserver的文件

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          vncserver
    # Required-Start:    $local_fs
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start/stop vncserver
    ### END INIT INFO
    # 第一行是告诉系统这个脚本文件通过/bin/目录下的sh来执行
    # 后面几行是一些说明信息,说明这个脚本是干嘛的
    # 这脚本是用来开启和关闭vncserver的
     
    # More details see:
    # http://www.penguintutor.com/linux/vnc
     
    ### Customize this entry
    # Set the USER variable to the name of the user to start vncserver under
    export USER='pi'
    ### End customization required
    # 导出环境变量USER='pi'
     
    eval cd ~$USER
    # eval表示该句扫过两次,首先将cd ~$USER替换为cd ~pi
    # 接着执行cd ~pi
     
    # 如果sh执行这个脚本的时候传入的第一个参数是start,就...
    # 如果sh执行这个脚本的时候传入的第一个参数是stop,就...
    # 如果sh执行这个脚本的时候传入的第一个参数是其他,就...
    case "$1" in
      start)
        # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
        su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1024x768 :1'
        echo "Starting VNC server for $USER "
        ;;
      stop)
        # 终止命令行。此处控制台号码与启动一致。
        su $USER -c '/usr/bin/vncserver -kill :1'
        echo "vncserver stopped"
        ;;
      *)
        echo "Usage: /etc/init.d/vncserver {start|stop}"
        exit 1
        ;;
    esac
    
    exit 0
    

    将上述内容复制粘贴进去就好了(Xshell中使用右键)

    按nano的使用方式,CTRL+O [Enter] 保存文件
    CTRL+X 退出文本编辑器

    我们刚才保存的是文本,类似Windows上的txt文件,接下来要把它变成可执行文件...执行修改权限语句

    sudo chmod 755 /etc/init.d/vncserver
    

    到这里,可执行脚本文件制作完毕,接下来你要告诉系统,我希望你每次开机都执行这个文件,通过以下语句完成...

    sudo update-rc.d vncserver defaults
    

    重启树莓派,你在树莓派上的设置到此就大功告成了...

    sudo reboot
    

    笔记本上该做些什么呢?

    等等,好像还忘了什么事。对,和前面ssh时一样,你的笔记本上也要有一个支持VNC的软件。我这边用的是TightVNC Viewer。和ssh一样,只要支持VNC就能连,甚至于当你的手机和平板和树莓派处于同一WiFi下时,你也可以在手机或平板上装一个VNC软件来查看树莓派...

    连接VNC

    连接过程和ssh的连接类似,输入IP:1 点击Connect,成功~

    我的树莓派连接之旅到此结束,谢谢观看~

    拓展阅读

    • VNC远程登录树莓派的图形界面
      如果你想知道不设定自启,每次在ssh中手动启动树莓派的VNC server应该输入些什么,以及【-geometry 1024x768】和【:1】这两个参数的作用,那上面的帖子或许可以帮到你。

    相关文章

      网友评论

          本文标题:我的Raspberry Pi 3B连接之旅(三)

          本文链接:https://www.haomeiwen.com/subject/jzmxattx.html