Linux中安装和配置VNC服务器

VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。

一些 VNC 服务器的优点:

  • 远程的图形管理方式让工作变得简单方便。
  • 剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。
  • CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。
  • 只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。
  • 比 ssh 图形转发和 RDP 连接更可靠。

那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。

首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。

注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)。

1. 安装 X-Window

首先我们需要安装X-Window,在终端中运行下面的命令,安装会花费一点时间。

# yum check-update# yum groupinstall "X Window System"

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

安装和配置VNC服务器的法则安装和配置VNC服务器的法则

### 设置默认启动图形界面# unlink /etc/systemd/system/default.target# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

# reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。

现在,我们要在服务器上安装 VNC 服务器了。

2. 安装 VNC 服务器

现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

# yum install tigervnc-server -y

3. 配置 VNC

然后,我们需要在 /etc/systemd/system/目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/[email protected]拷贝一份配置文件范例过来。

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

接着我们用自己最喜欢的编辑器(这儿我们用的 nano)打开/etc/systemd/system/vncserver@:1.service,找到下面这几行,用自己的用户名替换掉。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

ExecStart=/sbin/runuser -l 
  
    -c 
   "/usr/bin/vncserver %i" PIDFile=/home/
   
    /.vnc/%H%i.pid 
   
  

替换成

ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid

如果是 root 用户则

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

好了,下面重启 systemd 。

# systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

# su linoxide
$ sudo vncpasswd

备注:确保你输入的密码多于6个字符

4. 开启服务

用下面的命令(永久地)开启服务:

$ sudo systemctl enable vncserver@:1.service

启动服务。

$ sudo systemctl start vncserver@:1.service

5. 防火墙设置

我们需要配置防火墙来让 VNC 服务正常工作。

$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service

现在就可以用 IP 和端口号(LCTT 译注:例如 192.168.1.1:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。

6. 用 VNC 客户端连接服务器

好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。

你可以用像Tightvnc viewer和 Realvnc viewer的客户端来连接到服务器。

要用更多的用户连接,需要创建配置文件和端口,请回到第3步,添加一个新的用户和端口。你需要创建 vncserver@:2.service, 并替换配置文件里的用户名和之后步骤里相应的文件名、端口号。请确保你登录 VNC 服务器用的是你之前配置 VNC 密码的时候使用的那个用户名。

VNC 服务本身使用的是5900端口。鉴于有不同的用户使用 VNC ,每个人的连接都会获得不同的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在我们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,之后的依次增加,运行在5900 + x 号端口上。其中 x 是指之后用户的配置文件名vncserver@:x.service里面的 x 。

在建立连接之前,我们需要知道服务器的 IP 地址和端口。IP 地址是一台计算机在网络中的独特的识别号码。我的服务器的 IP 地址是96.126.120.92,VNC 用户端口是1。

执行下面的命令可以获得服务器的公网 IP 地址(LCTT 译注:如果你的服务器放在内网或使用动态地址的话,可以这样获得其公网 IP 地址)。

# curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.> 

其他命令:

关闭 VNC 服务。

# systemctl top vncserver@:1.service

禁止 VNC 服务开机启动。

# systemctl disable vncserver@:1.service

关闭防火墙。

# systemctl stop firewalld.service

总结

好了,现在我们已经在运行 CentOS 7 / RHEL 7 的服务器上安装配置好了 VNC 服务器。VNC 是自由开源软件中最简单的一种能实现远程控制服务器的工具,也是一款优秀的 Teamviewer Remote Access 替代品。VNC 允许一个安装了 VNC 客户端的用户远程控制一台安装了 VNC 服务的服务器。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/220937.html<

(0)
管理的头像管理
上一篇2025-04-14 19:29
下一篇 2025-04-14 19:31

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注