HCRM博客

在 CentOS 系统中快速搭建 VNC 服务指南

CentOS VNC 配置

VNC(Virtual Network Computing)是一种使用 RFB 协议的远程桌面系统,允许用户通过网络远程控制另一台计算机,本文将详细介绍如何在CentOS上安装和配置VNC Server,以实现远程桌面功能。

在 CentOS 系统中快速搭建 VNC 服务指南-图1
(图片来源网络,侵权删除)

一、安装桌面环境

1. 更新系统

  • sudo yum update y

2. 安装GNOME Desktop图形桌面服务

  • sudo yum groupinstall "GNOME Desktop" y

3. 查看当前运行级别

  • systemctl getdefault

4. 切换到图形界面模式

  • sudo systemctl setdefault graphical.target

5. 启动图形界面

  • sudo init 5

二、安装和配置VNC Server

1. 安装TigerVNC Server

在 CentOS 系统中快速搭建 VNC 服务指南-图2
(图片来源网络,侵权删除)
  • sudo yum install tigervncserver y

2. 启动VNC Server

使用vncserver命令启动VNC服务,命令格式为vncserver :桌面号,桌面号”用数字表示,每个用户连接需要占用一个桌面,例如启动编号为1的桌面:

  • vncserver :1

执行后会提示输入VNC访问密码及确认密码,同时会在用户主目录下生成.vnc子目录和相应的配置文件。

3. 配置VNC Server文件

编辑VNC服务器的xstartup文件,确保其内容如下:

  • vim ~/.vnc/xstartup

添加以下内容:

在 CentOS 系统中快速搭建 VNC 服务指南-图3
(图片来源网络,侵权删除)
  • #!/bin/sh
  • [ x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  • [ r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  • vncconfig iconic &
  • dbuslaunch exitwithsession gnomesession &

保存并退出编辑器。

4. 设置防火墙开放VNC端口

默认情况下,VNC使用TCP端口5900+桌面号,例如桌面号为1时,使用5901端口,因此需要开放相应端口:

  • sudo firewallcmd permanent addport=5901/tcp
  • sudo firewallcmd reload

三、配置VNC Server开机自启动

1. 创建Systemd Unit文件

创建一个新的Systemd单位文件:

  • sudo tee /etc/systemd/system/vncserver@:1.service > /dev/null

添加以下内容:

  • [Unit]
  • Description=Remote desktop service (VNC)
  • After=syslog.target network.target
  • [Service]
  • Type=forking
  • User=<USER>
  • PIDFile=/home/<USER>/.vnc/%H%i.pid
  • ExecStartPre=/bin/sh c '/usr/bin/vncserver kill %i > /dev/null 2>&1 || :'
  • ExecStart=/usr/bin/vncserver %i geometry 1280x720
  • ExecStop=/usr/bin/vncserver kill %i > /dev/null 2>&1 || :
  • [Install]
  • WantedBy=multiuser.target

注意将<USER>替换为实际用户名,例如oracle

2. 重新加载Systemd并启用VNC服务

  • sudo systemctl daemonreload
  • sudo systemctl enable vncserver@:1.service

3. 启动VNC服务

  • sudo systemctl start vncserver@:1.service

4. 检查服务状态

  • sudo systemctl status vncserver@:1.service

四、常见问题及解答(FAQs)

Q1:如何更改VNC Server的分辨率?

A1:在/etc/systemd/system/vncserver@:1.service文件中修改ExecStart行,添加geometry参数,要设置为1280x720分辨率,可以修改为:

  • ExecStart=/usr/bin/vncserver %i geometry 1280x720

然后重新加载Systemd并重启VNC服务:

  • sudo systemctl daemonreload
  • sudo systemctl restart vncserver@:1.service

Q2:如何通过SSH隧道连接到VNC Server?

A2:可以通过SSH隧道转发端口,从而实现安全的VNC连接,假设本地机器为hostA,远程CentOS机器为hostB,可以使用以下命令:

  • ssh L 590N:localhost:590M user@hostB

其中590N是hostA上的本地端口,590M是hostB上的远程端口,然后在本地机器上使用VNC Viewer连接到localhost:590N即可。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/20356.html

分享:
扫描分享到社交APP
上一篇
下一篇