服务器VNC远程桌面从零搭建教程:新手也能轻松远程操作

很多新手买了云服务器后,习惯通过命令行操作。
但有些任务(比如安装图形化软件、调试浏览器截图)还是需要桌面环境。服务器 VNC 远程桌面 就是让你像操作本地电脑一样,远程控制服务器桌面。
本文从零开始,教你在一台 CentOS / Ubuntu 服务器上完整搭建 VNC 服务。

准备工作:一台干净的服务器和一颗耐心

你需要准备以下三样东西:

  • 一台 Linux 云服务器(本文以 CentOS 7 为例,Ubuntu 操作类似)。
  • 服务器的 root 密码 或一个有 sudo 权限的普通用户。
  • 本地电脑上安装好 VNC 客户端(推荐 RealVNC Viewer 或 TightVNC Viewer)。
提示:如果服务器还没装桌面环境,你需要先安装一个轻量级桌面,比如 Xfce 或 GNOME。这里以 Xfce 为例,占用资源少,适合服务器。

第一步:安装桌面环境与 VNC 服务端

先用 SSH 登录服务器,执行以下命令:

# CentOS 7
sudo yum groupinstall -y "X Window System" "Xfce"

# Ubuntu 20.04
sudo apt update
sudo apt install -y xfce4 xfce4-goodies

接着安装 TigerVNC 服务端(最常用的开源 VNC 服务器):

# CentOS 7
sudo yum install -y tigervnc-server

# Ubuntu
sudo apt install -y tigervnc-standalone-server

安装完成后,创建一个普通用户(例如 vncuser)用于 VNC 登录,不要直接用 root:

sudo useradd -m vncuser
sudo passwd vncuser

第二步:配置 VNC 服务并设置密码

切换到刚创建的用户,启动 VNC 服务并设置连接密码:

su - vncuser
vncserver

首次运行会提示你输入两次密码(至少6位),还会问你是否要创建仅查看密码,一般选 n 跳过。

执行完后会在用户目录下生成 .vnc 文件夹和一个默认的启动配置 xstartup
我们先停掉这个临时服务,修改配置文件:

vncserver -kill :1

然后编辑 ~/.vnc/xstartup,让它启动 Xfce 桌面:

nano ~/.vnc/xstartup

将里面的内容替换为:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

保存退出后,给脚本加执行权限:

chmod +x ~/.vnc/xstartup

第三步:重新启动 VNC 服务并设置开机自启

vncserver 再次启动,这会绑定到显示编号 :1(对应端口 5901):

vncserver -geometry 1280x720 -depth 24

参数解释:-geometry 设置分辨率,-depth 设置色彩深度。
你可以根据自己需求调整。

为了开机自启,我们需要创建系统服务文件。
以下命令使用 root 执行:

sudo bash -c 'cat > /etc/systemd/system/vncserver@.service < /dev/null 2>&1 || :"
ExecStart=/usr/bin/vncserver -geometry 1280x720 -depth 24 %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target
EOF'

重新加载 systemd 并启用服务:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1
sudo systemctl start vncserver@:1

检查状态是否正常:

sudo systemctl status vncserver@:1

第四步:配置服务器防火墙放行 VNC 端口

VNC 默认使用 5900 + 显示编号(:1 就是 5901)。
需要放行端口才能从外部连接。

如果使用 firewalld(CentOS 7 默认):

sudo firewall-cmd --add-port=5901/tcp --permanent
sudo firewall-cmd --reload

如果使用 ufw(Ubuntu):

sudo ufw allow 5901/tcp
sudo ufw reload
注意:有些云厂商还有安全组/防火墙,请登录控制台手动添加入站规则,放行 TCP 5901 端口。

第五步:本地客户端连接与验证

打开本地 VNC 客户端(例如 RealVNC Viewer),输入 服务器公网IP:1(冒号后的数字就是显示编号)。

  • 例如:123.123.123.123:1
  • 回车后,输入你刚才为 vncuser 设置的密码。

如果一切正常,你会看到 Xfce 桌面界面,可以像操作本地电脑一样操作远程服务器。

验证方法:在 VNC 桌面里打开终端,执行 hostnameip a,确认是这台服务器。
还可以创建个文件试试。

常见避坑指南

1. 连接超时或拒绝连接

  • 先检查 VNC 服务是否运行:ps aux | grep vnc
  • 检查端口是否监听:ss -tlnp | grep 5901
  • 确认防火墙和安全组都放行了 5901。

2. 连接后黑屏或只有灰色背景

  • 最常见原因是 xstartup 文件配置错误或没给执行权限。重新按第二步检查。
  • 尝试在 vncserver 启动前手动执行 startxfce4 & 看是否有错误提示。

3. 密码总是错误

  • VNC 密码是存储在用户主目录 .vnc/passwd 文件里的,密码最大 8 位,输入时注意大小写。
  • 如果忘了,可以删除该文件后重新运行 vncpasswd(在 vncuser 下执行)来设置新密码。

4. 多个用户同时使用

  • 每个用户启动自己的 VNC 服务,不同的显示编号对应不同端口(:1 => 5901,:2 => 5902)。
  • 启动第二个用户时,需要指定新的显示编号,例如 vncserver :2

总结

通过以上步骤,你已经成功在服务器上搭建了 服务器 VNC 远程桌面
以后需要图形界面操作时,直接打开客户端就能连上。
如果遇到异常,优先检查防火墙、服务状态和 xstartup 配置。
希望这篇教程能帮你省下折腾时间,专注在真正重要的事情上。

分享到:
上一篇
服务器FRP配置从零开始:完整操作与避坑指南
下一篇
新手建站技术:用宝塔面板从零搭建WordPress网站
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意