在Linux系统中,VNC(Virtual Network Computing)Server是一种常用的远程图形化管理工具,允许用户通过网络远程访问Linux桌面环境,尤其适合无图形界面的服务器或需要可视化操作的场景,本文将以主流发行版Ubuntu/Debian和CentOS/RHEL为例,详细讲解VNC Server的安装、配置及使用流程。
系统更新与依赖安装
在安装VNC Server前,需确保系统已更新至最新状态,避免因软件版本不兼容导致问题,以Ubuntu/Debian为例,执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
对于CentOS/RHEL系统,需先更新软件包列表并升级现有包:
sudo yum update -y # CentOS 7及以下 sudo dnf update -y # CentOS 8/RHEL 8及以上
VNC Server依赖图形桌面环境,若系统为纯服务器版,需先安装桌面环境,Ubuntu/Debian可安装轻量级的XFCE:
sudo apt install xfce4 xfce4-goodies -y
CentOS/RHEL则需安装GNOME Desktop(或其他桌面环境,如XFCE需额外配置EPEL源):
sudo yum groupinstall "GNOME Desktop" -y # CentOS 7/RHEL 7 sudo dnf groupinstall "GNOME Desktop" -y # CentOS 8/RHEL 8
安装VNC Server软件
目前主流VNC Server实现有TigerVNC、TightVNC等,本文以TigerVNC为例(稳定性较好,支持加密)。
Ubuntu/Debian系统
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension -y
CentOS/RHEL系统
sudo yum install tigervnc-server tigervnc-server-module -y # CentOS 7/RHEL 7 sudo dnf install tigervnc-server -y # CentOS 8/RHEL 8
配置VNC密码
VNC Server需通过密码验证访问,首次安装后需设置访问密码,执行以下命令(以当前用户为例,如root用户则直接执行,普通用户需加sudo
):
vncpasswd
根据提示输入密码(需4-8位,仅支持字母和数字),并确认密码,若需设置只读密码(可选,允许查看但不可操作),再次输入密码后选择n
跳过只读密码设置,设置完成后,密码文件将保存在用户主目录的.vnc/
下(如/home/user/.vnc/passwd
)。
配置VNC服务
创建VNC服务配置文件
TigerVNC可通过systemd
管理服务,需创建服务单元文件,以用户user
为例,创建配置文件:
sudo nano /etc/systemd/system/vncserver@:1.service
(1
表示VNC桌面号,对应端口5901,可修改为2
、3
等,端口依次为5902、5903)
编写服务配置内容
[Unit] Description=TigerVNC Server on Ubuntu After=syslog.target network.target [Service] Type=forking User=user Group=user WorkingDirectory=/home/user PIDFile=/home/user/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x720 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
User
和Group
:替换为实际用户名(如root
);WorkingDirectory
:用户主目录;ExecStart
参数:-depth 24
表示24位色深,-geometry 1280x720
为分辨率,可根据需求调整。
重载systemd并启动服务
sudo systemctl daemon-reload # 重载systemd配置 sudo systemctl start vncserver@:1.service # 启动VNC服务(:1为桌面号) sudo systemctl enable vncserver@:1.service # 设置开机自启
配置防火墙规则
若系统启用了防火墙,需开放VNC默认端口(5901对应1
桌面号)。
Ubuntu/Debian(UFW)
sudo ufw allow 5901/tcp # 开放5901端口 sudo ufw reload # 重载防火墙规则
CentOS/RHEL(firewalld)
sudo firewall-cmd --permanent --add-port=5901/tcp # 永久开放5901端口 sudo firewall-cmd --reload # 重载防火墙规则
VNC客户端连接
在本地设备安装VNC客户端(如TigerVNC Viewer、RealVNC Viewer、Windows远程连接工具等),输入服务器IP地址及端口号(格式为IP:1
,如168.1.100:1
),输入之前设置的VNC密码即可连接。
若连接失败,可通过以下命令检查服务状态:
sudo systemctl status vncserver@:1.service # 查看服务状态 journalctl -u vncserver@:1.service -f # 查看服务日志(排查错误)
不同发行版操作命令对比
为方便操作,以下表格汇总了主要发行版的关键命令:
| Ubuntu/Debian | CentOS/RHEL |
|————————|—————————————-|————————————–|
| 更新系统 | sudo apt update && sudo apt upgrade -y
| sudo yum update -y
/sudo dnf update -y
|
| 安装桌面环境(XFCE) | sudo apt install xfce4 xfce4-goodies -y
| 需先配置EPEL源后安装 |
| 安装TigerVNC | sudo apt install tigervnc-standalone-server -y
| sudo yum install tigervnc-server -y
|
| 设置VNC密码 | vncpasswd
| vncpasswd
|
| 启动VNC服务(:1桌面) | sudo systemctl start vncserver@:1.service
| 同左 |
| 开机自启VNC服务 | sudo systemctl enable vncserver@:1.service
| 同左 |
| 开放防火墙端口(5901) | sudo ufw allow 5901/tcp
| sudo firewall-cmd --permanent --add-port=5901/tcp
|
相关问答FAQs
Q1:VNC Server连接时提示“Authentication failed”怎么办?
A:可能原因及解决方案:
- 密码错误:重新确认VNC密码是否正确,可通过
vncpasswd
重新设置; - 密码文件权限问题:确保密码文件权限为600(
chmod 600 ~/.vnc/passwd
); - 服务未启动:检查服务状态(
systemctl status vncserver@:1.service
),若未启动则执行systemctl start vncserver@:1.service
。
Q2:如何修改VNC Server的桌面分辨率?
A:修改VNC服务配置文件中的ExecStart
参数,调整-geometry
后的分辨率值,以/etc/systemd/system/vncserver@:1.service
为例,将:
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x720 :%i
修改为所需分辨率(如1920x1080
),保存后重载systemd并重启服务:
sudo systemctl daemon-reload sudo systemctl restart vncserver@:1.service
重启后,VNC客户端将应用新的分辨率设置。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15926.html