安装VNC服务器端是哪个包?答案很直接:Debian/Ubuntu系安装tigervnc-standalone-server,RHEL/CentOS系安装tigervnc-server,这也是目前绝大多数Linux发行版的默认选择。
很多朋友第一次配置远程桌面时,都会卡在第一步:打开终端,输入apt install vnc,结果提示找不到软件包,原因很简单,VNC的服务器端软件不叫“vnc”,而是以TigerVNC、TightVNC、RealVNC等具体实现来命名,这篇文章就把这个事儿彻底讲清楚,顺便把安装、配置、排错一条龙说完。
搞清楚vnc服务器端和客户端有什么区别
在动手安装之前,花30秒理清这个概念,能帮你省掉后面一堆麻烦,VNC是远程桌面协议,它分两端:
- 服务器端:跑在被控电脑上,负责抓取屏幕画面并发送给连接者,你要远程控制哪台电脑,就在哪台电脑上装服务器端。
- 客户端:跑在你本地电脑上,负责显示远程画面并发送键盘鼠标操作,你用来发起连接的那台电脑,装的是客户端。
vnc服务器端和客户端有什么区别这个问题,核心就是:服务器端被动等待连接,客户端主动发起连接,两者不能混用,也不存在“一个包全搞定”的情况,下面要说的都是服务器端的安装。
安装vnc服务器端是哪个包?按系统对号入座
不同Linux发行版的包管理器不一样,包名也有差异,下面这个表格是最新且经过验证的对照表,你直接照着抄就行:
| 操作系统 | 包名 | 安装命令 |
|---|---|---|
| Ubuntu 20.04/22.04/24.04 | tigervnc-standalone-server |
sudo apt install tigervnc-standalone-server |
| Debian 11/12 | tigervnc-standalone-server |
sudo apt install tigervnc-standalone-server |
| CentOS 7 | tigervnc-server |
sudo yum install tigervnc-server |
| CentOS 8/RHEL 8/9 | tigervnc-server |
sudo dnf install tigervnc-server |
| Fedora | tigervnc-server |
sudo dnf install tigervnc-server |
| openSUSE | tigervnc-server |
sudo zypper install tigervnc-server |
| Arch Linux | tigervnc |
sudo pacman -S tigervnc |
为什么是TigerVNC? 行业共识认为它是目前维护最活跃、兼容性最好的开源VNC实现,支持TLS加密和SASL认证,比老牌的TightVNC更安全,RealVNC虽然功能多,但商业版收费,开源版功能受限,个人用起来不够痛快。
有个常见坑需要提醒:千万别装vnc4server,这个包在Ubuntu 18.04之后就从软件源里移除了,就算装上了,也是老掉牙的版本,不支持现代加密协议,存在明显安全隐患。
VNC服务器端安装包怎么选?三个维度帮你判断
如果你在纠结“VNC服务器端安装包怎么选”,不用迷茫,按下面三个维度来想就清楚了:
看操作系统版本
Ubuntu用户直接选tigervnc-standalone-server,这是系统默认源里自带的最佳选择,CentOS用户选tigervnc-server,注意CentOS 7和CentOS 8的命令略有差别,上面表格里已经写清楚了。
看是否需要桌面环境
VNC服务器端只是个“画面传输工具”,它本身不提供桌面,如果你的服务器是纯命令行系统,需要先装一个桌面环境(比如xfce4或gnome),否则连上VNC只能看到黑屏,这就是为什么很多教程里会让你先执行sudo apt install xfce4再配置VNC。
看安全性需求
内网使用可以不考虑加密,但公网访问就必须重视,TigerVNC支持TLS加密,配置方法后面会讲到,如果你要远程连接家里的Linux电脑,建议配合SSH隧道使用,这是最稳妥的方案。
vnc服务器端安装教程:从零到能连上
下面以Ubuntu 22.04为例,完整走一遍流程,CentOS用户只需把包名和命令换成对应的即可。
第一步:更新软件源并安装
sudo apt update sudo apt install tigervnc-standalone-server tigervnc-common
tigervnc-common是辅助工具包,包含vncpasswd等命令,建议一起装上。
第二步:设置VNC密码
vncpasswd
执行后会提示输入密码,这个密码是VNC连接专用的,可以跟系统登录密码不同,输入两次后自动保存到~/.vnc/passwd文件里。
第三步:首次启动生成配置文件
vncserver :1
1是显示编号,默认从1开始,首次启动会创建~/.vnc/xstartup启动脚本,并提示你配置文件不存在,自动生成一个默认的,启动成功后终端会显示类似New Xtigervnc server ':1' is running的提示。
第四步:修改xstartup启动脚本
默认的xstartup脚本启动的是系统默认桌面,但很多服务器上没装桌面,连上去会黑屏,编辑配置文件:
nano ~/.vnc/xstartup
改为:
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
如果你装的是GNOME,把最后一行换成exec gnome-session即可,保存后重启VNC服务:
vncserver -kill :1 vncserver :1
第五步:防火墙放行端口
VNC默认端口是5900+显示编号,即1对应5901,2对应5902,Ubuntu需要执行:
sudo ufw allow 5901/tcp
CentOS则用:
sudo firewall-cmd --permanent --add-port=5901/tcp sudo firewall-cmd --reload
第六步:客户端连接
下载TigerVNC客户端(Windows版和macOS版都有),输入服务器IP:1,回车后输入VNC密码就进去了,注意IP后面是冒号加显示编号,不是端口号。
配置systemd服务让VNC开机自启
手动启动的VNC进程在系统重启后就没了,配置成systemd服务才能一劳永逸。
创建服务单元文件
sudo nano /etc/systemd/system/vncserver@.service
[Unit] Description=TigerVNC Server After=syslog.target network.target [Service] Type=forking User=你的用户名 Group=你的用户组 WorkingDirectory=/home/你的用户名 ExecStart=/usr/bin/vncserver %i -geometry 1920x1080 -depth 24 ExecStop=/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target
启用服务
sudo systemctl daemon-reload sudo systemctl enable vncserver@:1.service sudo systemctl start vncserver@:1.service
这里%i会替换成1,对应端口还是5901,以后重启系统,VNC会自动运行,不用再手动敲命令。
连接不上?排查这几个地方
实际操作中,连接失败的概率相当高,按以下顺序排查,多数问题能解决:

- Ping不通IP:检查两台机器是否在同一局域网,云服务器的话看安全组是否放行了5901端口。
- 能Ping通但连不上:检查防火墙,上面第五步的命令要确保执行了。
- 连上但黑屏:99%是xstartup脚本的问题,确认脚本有执行权限:
chmod +x ~/.vnc/xstartup,然后检查exec那行的桌面环境是否真的安装了。 - 密码错误:重新执行
vncpasswd重置密码,注意VNC密码最长8位,超过部分会被截断。 - 端口被占用:
ss -tlnp | grep 5901查看端口占用情况,如果被占用,用2启动另一个实例。
安装vnc服务器端是哪个包?常见问题汇总
Q1:Ubuntu上能不能用yum安装VNC?
不能,yum是RHEL系列(CentOS、Fedora)的包管理器,Ubuntu用的是apt,在Ubuntu上装VNC服务器端,正确命令是sudo apt install tigervnc-standalone-server,不需要也不应该用yum。
Q2:VNC服务器端和向日葵、TeamViewer有什么区别?
VNC是开源协议,服务器端免费,但需要自己配置网络环境(端口映射、防火墙),且公网访问需要额外做内网穿透或SSH隧道,向日葵、TeamViewer是商业软件,自带NAT穿透和账号体系,开箱即用,但服务器端受商业授权限制,免费版在功能和并发数上有限制,如果你有公网IP或内网环境,VNC是完全够用的;如果需要在复杂的NAT网络下远程,商业软件体验更好。
Q3:TigerVNC和TightVNC服务器端哪个更稳定?
TigerVNC在功能完整度、加密支持、维护活跃度上都优于TightVNC,TightVNC最后一次大版本更新是2017年,而TigerVNC一直保持迭代,现在不管是Ubuntu还是CentOS,软件源里默认的VNC服务器端都是TigerVNC,这就是最有力的背书。
市面上的VNC教程很多,但很多都停留在Ubuntu 16.04时代,推荐的包名要么失效要么有安全漏洞,写这篇文章时,我特意在Ubuntu 22.04和CentOS 8上各验证了一遍安装流程,确保每个命令都是能直接跑的。记住一个核心结论就够了:Ubuntu/Debian系装tigervnc-standalone-server,CentOS/RHEL系装tigervnc-server。 按这个思路去寻找适用于你当前系统的安装vnc服务器端是哪个包的答案,就不会再走弯路。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/669157.html


评论列表(3条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于安装的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
@幻狼5598:这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于安装的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是安装部分,给了我很多新的思路。感谢分享这么好的内容!