分类标签

日志 (78) 分享 (38) Dota2 (22) 3D 打印机 (21) 学习 (21) 网赚教学 (18) 树莓派 (17) 纸模型 (15) DIY (14) 影评 (13) 旅游 (13) Raspberry PI (12) 创作 (12) 游戏 (11) 3D Print (9) 搞笑 (9) 知识库 (8) 神魔之塔 (8) 评测 (8) vlog (4) 日誌 (4) 短篇故事 (4) 视频 (4) 激励 (3) quadcopter (2) 动物 (2) 黑苹果 (2) slo-mo (1) 开箱 (1)
Order Your 3D Print here.

【学习】树莓派 Raspberry Pi开机启动 VNC server

给我一个家里没电视 又没电脑屏幕的我
即使购买的时候给了我一条不错的hdmi cable 和vga converter 也是没用...
SSH 和 VNC 远程遥控的方式成为了我操控树莓的常用途径,
为了不每次都链接 SSH 来打开vnc server 的遥控页面
根据我自己脑中的观念
特地找了个教程给我自己学习

这次要达到的是

开机自动启动VNC server
请注意 在这之前必须设置了自动登入和启动startx 
否则即使自动启动VNCserver 

还是没办法直接进入遥控界面的。


以下教程原文转自 树莓爱好者论坛

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


安装

树莓派命令行:




  1. sudo apt-get install tightvncserver
复制代码


开机自动启动

安装好之后请一定先使用此命令设置一个VNC密码:
  1. vncpasswd
复制代码
(先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:

(注:启动脚本的名称,有和程序名一致的习惯)
  1. sudo nano /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

### 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

注:少数朋友默认用户不是pi的请自行更改USER变量

按Ctrl+X,回答Y(存盘)退出nano编辑器。
然后给tightvncserver文件加执行权限,并更新开机启动列表。
  1. sudo chmod 755 /etc/init.d/tightvncserver
  2. sudo update-rc.d tightvncserver defaults
复制代码

手工启动与参数

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

  1. tightvncserver -geometry 800x600 :1
复制代码
如果首次启动,并且未曾使用vncpasswd命令设置密码,程序会要求设置一个。

开机启动很方便。如果没理由,真的不推荐手工启动。

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

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


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

终止VNC控制台:

  1. tightvncserver -kill :1
复制代码
查看正在运行的控制台列表:
  1. ps ax | grep Xtightvnc | grep -v grep
复制代码