Debian远程桌面(VNC)的安装及配置

注:操作有风险,请自行备份好数据,本教程仅供参考。

一.简介/参考

VNC, 全称(Virtual Network Console)虚拟网络控制台, 用于远程桌面控制, 本教程主要介绍两种用于Linux系统的VNC软件的安装及使用, 分别是 TightVNCRealVNC , 操作系统为 Debian10 , 桌面环境为 Xfce4

1. 官网-TightVNC
2. 官网-RealVNC
3. 官网-doc-RealVNC 脚本部署和启动
4. 官网-doc-安装和删除 VNC Connect

二.TightVNC的安装及配置

1.使用 Debian 系统内置的 tasksel 工具安装桌面环境

#选择一个桌面环境,如XFCE,
# 并确保也同时勾选了'Desktop Environment'。
# 选择“OK”开始安装软件。
#需要注意的是: GNOME桌面是一个例外,
# 我们常见的远程桌面服务,如XVNC 、TightVNC等它几乎都不兼容。
# 这里建议安装使用 xfce 桌面!!!
tasksel

2.安装TightVNC服务器

apt install tightvncserver

3.VNC服务器初始配置,设置安全密码并创建初始配置文件,密码长度必须介于六到八个字符之间

vncserver

4.使用 -kill 开关来关闭VNC服务(2为桌面号)

vncserver -kill :2

5.修改 ~/.vnc/xstartup 文件

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

#启动桌面环境
#exec startxfce4
startxfce4 &

#用于读取全局配置、用户桌面个性化配置等
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

6.添加可执行权限

chmod u+x ~/.vnc/xstartup

7.将VNC作为系统服务运行

#创建一个名为/etc/systemd/system/vncserver@.service的新单元文件
vim /etc/systemd/system/vncserver@.service

#请务必更改用户、组、WorkingDirectory以及PIDFILE值中的用户名以匹配您的用户名
# ExecStartPre命令在VNC已经运行时停止。
# ExecStart命令启动VNC并将颜色深度设置为24位颜色,分辨率为1280x800。
#您也可以修改这些启动选项以满足您的需求。 
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=***
Group=***
WorkingDirectory=/home/***

PIDFile=/home/***/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

8.让系统知道新的单元文件

systemctl daemon-reload

9.启用单元文件(如果系统启用了图形化界面,将占用1号屏幕,所以使用2)

systemctl enable vncserver@2.service

10.启动/停止VNC服务

#停止VNC服务器的当前实例(如果它仍在运行),
  #然后启动它,就像启动任何其他systemd服务一样
systemctl start vncserver@2

11.安全地连接VNC桌面

#连接时VNC本身不使用安全协议。
# 我们将使用SSH隧道安全地连接到我们的服务器,
# 然后告诉我们的VNC客户端使用该隧道而不是直接连接。 

# a.在本地计算机上创建SSH连接,以便安全地转发到VNC的localhost连接
# -C开关 启用压缩,
# -N开关 告诉ssh我们不想执行远程命令,
# -L开关 指定端口绑定
# 5901:localhost 目标端口 本地的端口:ip
# 5902 源端口 remoteServer的端口
ssh -C -N -L 5901:localhost:5902 user@remoteServer
	
# b.隧道运行后,使用VNC客户端连接到localhost:5901
localhost:5901

三. RealVNC的安装及配置

建议使用 xfce 桌面!!!针对服务器模式,即0号桌面

1.下载安装包

# 在与Debian兼容的64位系统上下载最新的二进制文件并解压缩
curl -L -o VNC https://www.realvnc.com/cn/connect/download/binary/latest/debian/64-bit/#

2.安装VNC服务器

# 在兼容Debian的系统上安装VNC服务器(假设下载文件名为上述名称)
sudo dpkg -i VNC

# 已安装的firewalld服务配置。要允许从公共区域访问VNC服务,请使用以下命令:
  # 对于处于服务模式的VNC服务器:
firewall-cmd --zone=public --permanent --add-service=vncserver-x11-serviced

3.允许root用户登陆桌面环境

# 家庭订阅VNC服务器,需要配置Debian允许root用户登陆桌面环境
 # a.普通用户登录
su - root

 # b.vi /etc/gdm3/daemon.conf,
# 在security下面添加 AllowRoot=true
vi /etc/gdm3/daemon.conf

 # c.vi /etc/pam.d/gdm-password,
# 注释掉这一行: auth required pam_succeed_if.so user != root quiet_success
vi /etc/pam.d/gdm-password

 # d.重新以root登录即可

4.许可VNC服务器

# 对于任何订阅,请在服务模式下启动VNC服务器(请参见下文)并登录到GUI。使用您的RealVNC帐户凭据。
# 对于家庭订阅,
 # a.以root登录,命令行启动VNC,
 # b.在GUI中使用您的RealVNC帐户凭据,设置访问密码,并更新授权
#---(可选,非root登录)---
 # c.给予本地用户(sf)->管理员权限,关闭root登录,以本地账户登入

5.启动VNC

# 在服务模式守护程序中为VNC服务器安装的systemd单元
# 通过以下方式启动或停止服务:
systemctl (start|stop) vncserver-x11-serviced.service

# 使用以下选项标记或取消标记要在启动时 启动的 服务:
systemctl (enable|disable) vncserver-x11-serviced.service

# 设置用户自动登录
如果您在浏览过程中,发现有侵权或者不合适的链接,请联系我们处理,谢谢
备案 域名访问错误!