树莓派2B架设vncserver

系统采用:raspbian

安装步骤:

  1. 安装vncserver
sudo apt-get install tightvncserver
  1. 为vncserver设置密码
vncpasswd

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

设置开机自动启动

  1. 新建一个启动脚本
    设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:
    (注:启动脚本的名称,有和程序名一致的习惯)
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编辑器。

  1. 给tightvncserver文件加执行权限,并更新开机启动列表。
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

附:手工启动与参数(以下用处不大,没兴趣请略过)

使用此命令手工启动VNC服务器程序:

tightvncserver -geometry 800x600 :1

如果首次启动,并且未曾使用vncpasswd命令设置密码,程序会要求设置一个。
开机启动很方便。如果没理由,真的不推荐手工启动。

命令行参数说明:

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

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

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

  • 终止VNC控制台:

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

修改VNC默认端口号并设置端口映射:

  • 查看该文件:/usr/bin/tightvncserver
  • 在里面找到该处:$vncPort = 5900 + $displayNumber;
  • 这里默认使用的是5900端口。如果将该端口修改后,客户端链接服务器的时候需要输入完整的端口号。例如:
    现在需要输入账号192.168.0.XXX目标端口+1,如果目标端口为7900,则为192.168.0.XXX:7901

常见的问题

错误提示:A VNC server is already running as :1

  • 手动运行tightvncserver :1的时候,提示如下:
    Warning: dietpi:1 is taken because of /tmp/.X1-lock
    Remove this file if there is no X server dietpi:1
    A VNC server is already running as :1
    
    ps ax |grep vnc却无:1的记录
  • 解决办法:
    按照提示删除/tmp/.X1-lock文件
    rm -f /tmp/.X1-lock
  • 再次运行tightvncserver :1的时候,提示如下:
    Warning: dietpi:1 is taken because of /tmp/.X11-unix/X1
    Remove this file if there is no X server dietpi:1
    A VNC server is already running as :1
    
  • 依旧再次删除提示中的文件
    rm -f /tmp/.X11-unix/X1
  • 再次运行tightvncserver :1的时候无错误提示,顺利通过。

删除vncview的访问记录

  • windows操作系统,依次点击【开始】-【运行】-输入regedit回车
  • 展开【HKEY_COURRENT_USER】-【Software】-【RealVNC】-【VNCViewer4】-【MRU】
  • 删除对应的记录。

转自树莓派实验室:
http://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html?variant=zh-cn

你可能感兴趣的:(树莓派2B架设vncserver)