用VNC远程登录树莓派[转载+整理]

网上能找到很多这样的教程,我照着做,发现总会有一些小问题。有的教程漏写一行代码,有的教程的“自启动”部分并没用。于是我综合了几个教程,重新写在这里。

1.给树莓派安装VNC[1,2]

安装VNC需要使用命令行。如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。用SSH登陆树莓派可以在网上找到教程,比较容易。

用SSH执行树莓派命令行:

sudo apt-get install tightvncserver

安装好之后请一定先使用此命令设置一个VNC密码,输入:

vncpasswd

(先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

然后启动服务,输入:

vncserver :1

解释一下:“1” 指定控制台的号码。详细解释请看本文第4部分。

2.设置 VNC 为自启动[2]

注意:这个方法只适用于自启动到桌面的环境,参见第二课。

在没有重启之前,使用VNC进行远程连接都是没有问题的。但是一旦重启,你需要进入SSH重启VNC Server或者把VNC Server设置为重启时自启动。

有多种不同的方法能够使VNC Server自启动。下面介绍的方法应该是最简单的一种。你可以把它用到别的需要自启动的命令上。

步骤 1.

在小派上打开一个终端会话,或者使用SSH。终端会自动以home路径作为当前路径/home/pi。如果你没有在这个路径下,使用下面的命令:

cd /home/pi

然后cd 到.config目录下:

cd .config

注意文件夹开头的’.’,这使得这个文件夹是隐藏的,因此不会在你输入’ls’的时候显示。

步骤 2.

通过下面的命令在.config文件夹下建立一个’autostart’目录。

mkdir autostart

然后cd进去:

cd autostart

lesson7_9

步骤 3.

剩下的就是要编辑一个配置文件。输入下面的命令使用nano编辑器打开一个新文件:

nano tightvnc.desktop

然后输入下面的内容:

[Desktop Entry]
Type=Application
Name=TightVNC
Exec=vncserver :1
StartupNotify=false

按一下ctrl-X然后Y保存。就是这样啦,下次启动的时候它就会自动运行了。

3.电脑登录VNC

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

4.命令行参数说明

一、启动VNC服务时“vncserver :1”中“1”的含义

“1”是指定控制台的号码。输入 vncserver :1,vncserver :2,vncserver :3 等可以启动多个控制台,它们可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)

因此可以不加此参数,tightvncserver 会自动寻找从 1 开始的下一个空闲控制台。加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。

特殊的0号控制台

0号控制台就是连接真实显示器真正输出图像的那个桌面。对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。

但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。

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

三、终止VNC控制台命令:

tightvncserver -kill :1

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

ps ax | grep Xtightvnc | grep -v grep

五、重启服务

service vncserver restart

参考教程

参考教程1:http://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html?variant=zh-cn#comments  ,主要参考了前半部分,它漏写了一行运行代码。

参考教材2:http://www.geekfan.net/9284/ 这个写的比较好

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注