Windows系统内远程控制软件VNC安装使用教程

一、VNC简介

VNC (Virtual Network Console),即虚拟网络控制台,它是一款基于 UNIX 和 Linux 操作系统的优秀远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发,远程控制能力强大,高效实用,并且免费开源。

VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。在任何安装了客户端的应用程序(vncviewer)的计算机都能十分方便地与安装了服务器端的应用程序(vncserver)的计算机相互连接。

二、VNC运行的工作流程

(1)VNC客户端通过浏览器或VNC Viewer连接至VNC Server。

(2)VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。

(3)在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。

(4)若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。

(5)VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。

(6)VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。

三、VNC安装

3.1 系统环境

服务端:Centos7.6

客户端:Windows10

客户端VNC-Viewer 6.20下载地址:https://www.realvnc.com/en/connect/download/viewer/

3.2 安装桌面环境

本实验中安装的系统没有安装桌面环境,我们需要自己安装,如果已经安装桌面了清跳过这一步。Centos7提供了"Cinnamon Desktop","MATE Desktop","GNOME Desktop","KDE Plasma Workspaces","LXQt Desktop","Xfce"让我们安装。

下面的命令列出可用环境组:

[root@localhost ~]# yum grouplist
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Cinnamon Desktop
   MATE Desktop
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Cinnamon
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Educational Software
   Electronic Lab
   Fedora Packager
   General Purpose Desktop
   Graphical Administration Tools
   Haskell
   LXQt Desktop
   Legacy UNIX Compatibility
   MATE
   Milkymist
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
   TurboGears application framework
   Xfce
Done

我们可以选择自己喜欢的桌面环境,在这里选择安装Xfce桌面:

[root@localhost ~]# yum -y install epel-release && yum groupinstall Xfce

3.3 创建一个用户

[root@localhost ~]# useradd user1
[root@localhost ~]# echo '123456'|passwd --stdin user1
[root@localhost ~]# usermod -a -G wheel user1

3.4 安装 VNC

在Centos仓库默认提供的是TigerVNC安装包,我们就安装这个:

[root@localhost ~]# yum -y install tigervnc-server tigervnc-server-module

切换到user1用户,运行vncserver命令创建一个初始配置并设置密码:

[root@localhost ~]# su - user1
[user1@localhost ~]$ vncserver :2

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

New 'localhost.localdomain:2 (user1)' desktop is localhost.localdomain:2

Starting applications specified in /home/user1/.vnc/xstartup
Log file is /home/user1/.vnc/localhost.localdomain:2.log

然后停止vncserver服务,目的就是创建密码和.vnc下面的文件。

[user1@localhost ~]$ vncserver -kill :2

切换到user1用户,运行vncserver命令创建一个初始配置并设置密码:

[root@localhost ~]# su - user1
[user1@localhost ~]$ vncserver :2

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

New 'localhost.localdomain:2 (user1)' desktop is localhost.localdomain:2

Starting applications specified in /home/user1/.vnc/xstartup
Log file is /home/user1/.vnc/localhost.localdomain:2.log

 然后停止vncserver服务,目的就是创建密码和.vnc下面的文件。

[user1@localhost ~]$ vncserver -kill :2

3.5 配置VNC Server

编辑用户家目录下面的.vnc/xstartup文件

[user1@localhost ~]$ vim ~/.vnc/xstartup

#!/bin/sh

xrdb $HOME/.Xresources
#xsetroot -solid grey
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startxfce4 &

如果需要修改屏幕分辨率,可以修改~/.vnc/config文件,取消gemoetry前面的注释。

[user1@localhost ~]$ vim .vnc/config

## Supported server options to pass to vncserver upon invocation can be listed
## in this file. See the following manpages for more: vncserver(1) Xvnc(1).
## Several common ones are shown below. Uncomment and modify to your liking.
##
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared

3.6 创建 Systemd Unit文件

Unit文件方便快速的启动,停止,重启服务

[user1@localhost ~]$ sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service

编辑vncserver@:2.service,替换文件里面的<user>为user1用户, Type由默认的forking改为simple

[user1@localhost ~]$ vim /etc/systemd/system/vncserver\@\:2.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l user1 -c "/usr/bin/vncserver %i"
PIDFile=/home/user1/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

 启动vncserver服务

#重新加载管理器配置
[user1@localhost ~]$ sudo systemctl daemon-reload
#启动vncserver
[user1@localhost ~]$ sudo systemctl start vncserver@:2

3.7 客户端远程连接测试

在windows10客户端打开VNC Viewer,输入地址和会话端口号:

 总结:

 如果需要将VNC服务器配置为多个用户启动显示,请使用vncserver命令创建初始配置并设置密码,然后使用其他端口创建新的服务文件。

### 如何在 Linux 系统安装和配置 VNC 服务器 #### 安装 TigerVNC 服务器 为了在基于 Debian 的系统(如 Ubuntu)上安装 VNC 服务器,可以使用以下命令完成 TigerVNC 及其相关组件的安装。这包括 `tigervnc-standalone-server` 和 `tigervnc-common`[^3]。 ```bash sudo apt update sudo apt install -y tigervnc-standalone-server tigervnc-common ``` 对于 CentOS 或 RHEL 7 用户,则可以通过 yum 软件包管理工具来实现相同的目标[^1]: ```bash sudo yum groupinstall "Server with GUI" sudo yum install tigervnc-server ``` #### 设置密码与验证安装 一旦安装完成后,设置用于访问远程桌面环境的安全密码至关重要。执行如下命令以创建密码并确认安装成功: ```bash vncpasswd ``` 此操作会提示输入两次密码,并可选地询问是否启用只读模式下的查看权限。 #### 配置 VNC 服务 编辑 `/etc/tigervnc/vncserver.users` 文件或者按照传统方式修改 `/lib/systemd/system/vnc[email protected]` 来指定哪个用户能够启动特定编号的服务实例。例如,在该文件中加入下面的一行表示允许 user1 使用 display :1 提供图形界面支持: ```plaintext USER=1:user1 ``` 接着重新加载 systemd daemon 并开启对应的服务以便于开机自启[^2]: ```bash sudo systemctl daemon-reload sudo systemctl enable --now vncserver@:1.service ``` #### 修改显示管理器设置 (针对 GNOME) 如果目标主机正在运行 GNOME 桌面环境,默认情况下它可能采用的是 Wayland 协议而不是 Xorg。由于部分版本中的 VNC 不兼容前者,因此有必要调整 GDM 配置使其切换回后者处理请求[^4]。具体做法是在 `/etc/gdm/custom.conf` 中找到 `[daemon]` 小节并将其中一行改为如下所示后保存退出再重启机器生效即可: ```ini WaylandEnable=false ``` 最后记得开放防火墙规则放通相应端口号(默认为5900加上display number),比如这里就是 port 5901 对应 display :1 : ```bash firewall-cmd --permanent --add-port=5901/tcp firewall-cmd --reload ``` 至此整个流程结束,现在可以从任意客户端尝试连接至新搭建好的虚拟网络计算平台啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

84岁带头冲锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值