使用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://www.cnblogs.com/haochuang/p/6743387.html,如需转载请自行联系原作者
相关文章
|
存储 NoSQL Unix
【Core dump】关于core的相关配置:关于核心转储文件core dump的显示和设置位置
【Core dump】关于core的相关配置:关于核心转储文件core dump的显示和设置位置
1619 11
|
10月前
|
测试技术 Shell
MindIE LLM场景快速上手实验
MindIE是昇腾自研推理框架,本实验手册可指导小白用户快速掌握MindIE在LLM(large language model)场景的基本功能,包括:大模型推理功能测试、大模型性能测试、大模型精度测试、服务化推理部署、benchmark测试等。
643 3
|
7月前
|
存储 Ubuntu 安全
如何在服务器上快速安装 ERPNext 最新版本?
ERPNext 是一款开源且功能全面的企业资源规划软件,在企业信息化管理中广泛应用。本文介绍如何通过 Websoft9 控制台安装其最新版本,以提升部署效率。内容涵盖安装前的服务器准备、Websoft9 控制台登录,到通过应用市场安装 ERPNext 的详细步骤,以及安装后的验证与基础配置。帮助企业快速搭建稳定高效的信息化管理平台,满足财务、采购、销售、库存等多方面业务需求,助力企业降本增效,实现可持续发展。
|
存储 安全 Java
Spring Security Oauth2 之 密码模式请求/oauth/token 解析
前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger 种一棵树最好的时间是十年前,其次是现在
2348 0
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
监控 算法 自动驾驶
目标检测算法:从理论到实践的深度探索
【7月更文第18天】目标检测,作为计算机视觉领域的核心任务之一,旨在识别图像或视频中特定对象的位置及其类别。这一技术在自动驾驶、视频监控、医疗影像分析等多个领域发挥着至关重要的作用。本文将深入浅出地介绍目标检测的基本概念、主流算法,并通过一个实际的代码示例,带您领略YOLOv5这一高效目标检测模型的魅力。
1366 11
|
监控 Ubuntu Linux
在Linux中,如何在Linux中配置高可用性(HA)?
在Linux中,如何在Linux中配置高可用性(HA)?
|
机器学习/深度学习 计算机视觉
【机器学习】YOLOv10与YOLOv8分析
【机器学习】YOLOv10与YOLOv8分析
2437 6