TightVNC:局域网直连的免费开源远控
- 分类
- 远程运维
- 平台
- Windows
- 许可证
- GPL-2.0
- 许可证说明
- Windows 版服务端与查看端按 GPL v2 免费开源,源码由官网直接发布、没有公开代码仓库,因此不纳入本站的版本自动同步;官方另售商业源码授权供闭源产品集成,macOS/Linux 版「服务端」仅走该商业授权、不对外公开下载,与本文讲的免费版是不同产品线。
- 是否开源
- 开源
- 收费模式
- 免费
- 适用工序
- 运维与商业
- 支持协议
- RFB、TCP
TightVNC 官网给自己的定性很直白:一款免费开源的远程桌面软件,让你通过网络访问和控制另一台电脑。这句话本身没什么特别的,值得说道的是它走的路子——跟本站已经写过的 RustDesk 不是一回事。RustDesk 的核心卖点是能把"这台设备是谁""画面从哪条线走"整套身份与中继服务器都搬到自己机房;TightVNC 走的是更老派的思路:不认账号、不用注册、不需要任何中继服务器,只要连接双方处在同一个网络里(或者路由能互通),装好软件、知道对方地址和密码,直接握手连过去。
这个区别决定了它在展厅项目里该出现在什么位置。它不是拿来替代 RustDesk 的,而是补一块 RustDesk 用不着、甚至有点"杀鸡用牛刀"的场景:现场就是一台局域网内的机器,你也不打算给这台机器专门配一套自建服务器,这时候 TightVNC 比"先搭中继再连"要省一道工序。
展厅哪道工序会用到它
第一种,布展和调试期的现场互连。 一个展厅的弱电间里,播控机、中控主机、拼接控制器往往接在同一台交换机下。你带着笔记本坐在弱电间门口,想连进机柜里那台没有显示器的工程机看它的桌面——这就是最典型的同网段场景,装完就能连,不用考虑中继、不用考虑账号。
第二种,运维网段能直接打到现场网段的日常巡检。 有些项目里,集成商的运维网络通过专线或者 VPN 跟甲方内网打通了,运维人员坐在办公室,但网络层面跟现场是同一片可路由的地址空间。这种情况下 TightVNC 的点对点连接一样顺畅,不需要 RustDesk 那种额外的中继链路。
第三种,甲方明确不接受第三方账号体系的项目。 有的甲方 IT 审核会问一句"这个软件要不要注册账号、数据经不经过厂商的服务器"。TightVNC 的回答很干脆:不需要账号,不经过任何第三方——因为它压根没有这个环节。前提是你的连接双方本来就在同一个网络里,这条答案才成立;跨网段之后答案会变,后面"什么时候别用它"会展开讲。
怎么获取,该下哪个包
官网下载入口只给一样东西:Windows 安装包,分 64 位和 32 位两个版本,另外还挂着一份 GPL 协议的 C++ 源码包。别的平台版本官网没有公开下载:官方 FAQ 里明确写着目前不提供 Mac OS X 版本;Unix/Linux 和 macOS 上也有名字叫"TightVNC 服务端"的产品,但那是走商业源码授权、专供软件厂商往自己产品里集成用的,官网原文写明"不对外公开下载",跟你在展厅工程机上装的免费版不是一回事。官网另有一个很老的历史版本,说明写着能在老版 Windows 和类 Unix 系统上跑,但那是十几年前的产物,官方自己也承认已经停止维护,新项目不建议碰它。
记住一句话,别在报价单上搞混:展厅工程机能免费、合法用的 TightVNC,就只有官网那个 Windows 安装包。
这个安装包里打包了两个身份角色——Server(服务端)和Viewer(查看端),装的时候会让你勾选装哪个或者都装。展厅工程机上装的是 Server,负责把桌面"交出去";运维人员的笔记本上装 Viewer,负责"连进去看"。两个角色装在同一台机器上也没问题,调试期经常需要互相连,都装上更方便。
第三方下载站打包的同名软件不要用,官网和 GPL 源码包是唯一干净的来源。
最短可用路径
装完首次启动,软件会主动问你要密码。如果你嫌麻烦直接跳过不设密码,它会明确弹出提示告诉你这样不安全——这是软件自己在提醒你,不是可选项,展厅工程机务必设。
先别急着上无人值守。装完在应用模式下测一次:这台机器上有人登录着,服务随着这次登录启动,退出登录服务也跟着停。这个模式最大的意义是先验证密码对不对、键鼠画面跟不跟手,跟你测试网线通不通是一个道理。测通了再往下走——现场机柜里的机器不可能一直有人登录着,接下来这一步才是真正要交付的状态。
展厅工程里真正要弄明白的那几件事
这一节是这篇文章的重点,不需要记住每个开关叫什么名字,但下面几条判断,现场和售前都用得上。
两种运行模式,只有一种适合塞进机柜。 TightVNC Server 有应用模式和服务模式两种跑法。应用模式跟着当前登录的用户走,人一退出登录它就停,每个用户还有各自独立的一份密码设置,互不相通。服务模式则是作为系统级的后台服务运行,不依赖任何人登录、开机自动跟着系统起来,密码等设置是全局唯一的一份。展厅工程机要的是服务模式,不是应用模式——机柜里的机器长期没人登录,只有服务模式才能保证你随时连得进去。安装时通常有个"注册为系统服务"的选项,默认是勾上的;但交付前不能只在界面上看一眼"服务已启动"就签字,务必真的断一次电,等它自己重启完,再实测能不能连进去,亲眼看到才算数。
它的安全边界要老实告诉甲方,别含糊。 官方 FAQ 自己写得很直接:TightVNC 只对登录密码这一段做了加密处理,而且用的是一套年代比较久的加密方案(密码长度和加密强度都有明确上限);除了密码之外,画面和键鼠操作这部分数据在网络上是明文传输的。这意味着什么:在自己人管得住的局域网里用,风险可控;直接扔到公网上,或者甲方网络里有陌生人能摸到这条链路,风险就实打实存在。这条售前答标、甲方 IT 安全审核时大概率会被问到,答案就是官方这句原话——不要含糊说"有密码保护就是安全的",密码保护的只是登录这一下。真要在不完全可信的网络里用,官方建议叠一层 SSH 隧道或者 VPN,把整条连接包起来,这跟本站 VNC 使用方法 里讲的安全加固思路是一致的,那篇讲得更细,这里不重复。
全控密码和"只看"密码是两把不同的钥匙。 TightVNC Server 支持分别设一个全控密码(能操作)和一个只看密码(能看画面但操作不了)。这个功能在展厅场景里挺实用:甲方 IT 想旁看巡检状态,但你不想给对方能动手改配置的权限,发一把只看密码就够了,不用把全控密码到处发。
批量装机不是要自己摸索的难题。 十几台展厅工程机同时交付,一台台点安装界面太慢。TightVNC 支持通过安装命令一次性把"装哪个组件、要不要注册成服务、密码定死是多少、监听端口要不要改、要不要顺手把防火墙例外也加上"这些参数一起写进去,跑一条命令就装完一台,官方文档把每个参数都列得很细。这部分交给负责装机脚本的同事去查文档、按参数表填就行,不是现场人员要弄懂的事。
它看到的是"当前桌面",机柜里没有真实显示器,画面就是保底分辨率。 这一点跟 CRU、ParsecVDisplay 那两篇里讲的坑是同一个坑:TightVNC 只负责把系统当前的桌面画面传出去,它不负责"变出"一块桌面。如果机柜里那台工程机压根没插显示器,Windows 会退回一个很小的保底分辨率,你远程连上去看到的就是一小块挤在一起的画面,这不是 TightVNC 的问题。这种情况要先解决"有没有一块可用的桌面",参见 CRU 软件页 和 ParsecVDisplay 软件页。
内置的网页查看方式,已经是个过时的技术选择,交付方案里别指望它。 TightVNC Server 自带一个小型网页服务,理论上打开浏览器输入地址就能看远程桌面,不用装 Viewer。但它依赖的是网页里嵌入一个 Java 小程序来渲染画面——这是很早期的网页技术方案,现在主流浏览器普遍已经不再支持这类插件式内容(这一条是工程判断,不是官方公告,官网文档本身并未标注该功能已弃用,但实际能否用起来,得看现场浏览器版本,别拿它当卖点写进标书)。真要给甲方一个"打开浏览器就能看"的体验,还是老老实实装 Viewer 客户端更稳妥。
连不进去时,还有一条"反向连接"的路可以走。 如果现场网络只能出不能进(比如现场在某个 NAT 或防火墙后面,运维这头主动连不过去),TightVNC 支持反过来:先让运维这边的 Viewer 进入等待状态,再从现场的 Server 主动"连"过来。这条路用得不算多,但遇上只出不进的网络环境时能救急,知道有这个选项就行,具体操作官方文档里有现成步骤。
踩坑与排错清单
| 现象 | 原因 | 处置 |
|---|---|---|
| 白天调试时连得上,现场没人后就连不上了 | 服务其实跑在应用模式,跟着登录会话走,没人登录服务就停了 | 检查是不是真的切到了服务模式,装机和验收都按前一节的"断电重启实测"来一遍 |
| 打开软件提示未设密码 / 存在未授权连接风险 | 装机时跳过了密码设置这一步 | 批量装机命令里直接把密码写进去,不要留空,交付前逐台核对 |
| 断电重启后连不上,重启前明明能连 | 没有真正注册为系统服务,或者服务没设成随系统自动启动 | 重新走一遍服务注册步骤,再断电实测一次,不能只看界面提示 |
| 远程连上去只看到锁屏或者一片壁纸 | 应用模式和服务模式是两套完全独立的配置,你改的那份密码/设置可能配在了没在跑的那个模式上 | 确认当前跑的是哪个模式,配置也对应改到那个模式下 |
| 甲方网管说只放行少数几个端口 | 默认端口是固定的一个数字,很多政企网络的防火墙策略比较严格 | TightVNC 支持改成别的端口,批量装机时可以一起改掉,报防火墙审批时把最终端口报清楚 |
| 远程画面很小、桌面元素挤成一团 | 机柜里没接真实显示器,系统用了保底分辨率 | 参见前一节,先解决"有没有可用桌面"的问题,指路 CRU / ParsecVDisplay |
| 画面卡顿、键鼠不跟手 | 颜色深度设太高、桌面特效开着、网络本身延迟大 | 降低颜色深度、关掉桌面特效,参考 VNC 使用方法 里的通用调优思路 |
| 想直接用浏览器打开看看,结果打不开或者一片空白 | 内置网页查看依赖的老技术在现代浏览器里普遍用不了 | 别指望这条路,改用正式的 Viewer 客户端连接 |
什么时候别用它
要跨城、跨公网维护,又不想自己另外搭一层通道时。 TightVNC 没有中继服务器这个概念,出了局域网就得靠你自己开 VPN、做端口转发或者内网穿透,而且这几件事都不是它管的范围。这种场景本站已经写过更合适的方案,见 RustDesk 软件页——它能把中继服务器一并自建,专门解决跨网段这件事。
甲方 IT 明确要求画面数据全程加密时。 前面已经说清楚,TightVNC 只加密登录密码,画面和键鼠数据本身是明文。达不到"全程加密"这条要求,就必须自己叠 VPN 或 SSH 隧道,如果项目里没人愿意长期维护这一层,直接换一个自带加密能力的方案更省心。
需要远程连 Mac 或者较新的 Linux 工程机时。 官方免费公开版目前就只有 Windows 一个平台,Mac 官方明确没有对应版本,Linux 上能公开下载的还是那个多年未更新的老版本。展厅里如果播控机用的是 Mac mini 或者较新的 Linux 发行版,TightVNC 不是合适的选择。
只是想临时救一次火、连装都懒得装的时候。 这种一次性场合,先问清楚对方愿不愿意配合装软件、改系统设置,很多时候用别的免安装远控工具应急一次反而更省事,不用为一次性需求走完整套服务模式部署。
与本站的衔接
TightVNC 只是远程运维这条链路上的一个环节。想看这条链路上不同工具各自解决什么问题、内网外网怎么分工,从 远程运维专题 进去看全貌。
如果你的项目需要跨网段、需要自建中继服务器,或者甲方要求画面加密达到更高标准,RustDesk 软件页 讲的是另一条路子,跟本文讲的内网直连是两种思路的两种落法,可以对照着看该选哪个。
VNC 协议本身怎么部署、怎么做安全加固、开机自启怎么配,这些通用内容都在 VNC 远程控制部署与安全 里讲过,本文不重复。
远程连上机柜里的工程机,如果发现画面变成一小块,这不是 TightVNC 的问题,是机器没有可用的显示桌面导致的,根治路子见 CRU 软件页 与 ParsecVDisplay 软件页。
要把远程运维方案写进投标文档,可以参考 行业方案 里各类展厅的运维章节,把连接方式、密码管理、安全边界这几件事提前跟甲方谈清楚。
从「能连进去」到「先于甲方知道」
远程接入解决的是「我要看到那台机器」,它的价值上限取决于你多快知道该看。展厅出故障到集成商知晓之间,往往隔着甲方发现、内部反馈、打电话这几个环节,延迟以天计。
企服君的运维体系是主动上报模式:设备状态、异常事件由系统推给你,远程接入只是最后的处置手段。集成商如果想把运维从售后成本变成可以向甲方收费的服务,见集成商年费方案。
出处
本文所述的功能、限制与操作方法,均来自 TightVNC 的官方渠道:官网首页与下载页、FAQ、许可与授权说明(含 Windows 服务端商业授权页、macOS 服务端授权页、Unix/Linux/X11 服务端授权页)、版本更新日志,以及官方文档中心提供的三份 PDF(Windows 安装与入门指南、MSI 静默安装参数说明、服务端命令行选项说明)。具体地址见本页出处栏。文中标注"工程判断"的内容为展厅工程经验总结,非官方原文表述;软件版本迭代可能带来能力边界变化,以官方最新文档为准。
本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。
- tightvnc.com · 首页 ↗
- tightvnc.com · download ↗
- tightvnc.com · faq ↗
- tightvnc.com · licensing ↗
- tightvnc.com · licensing-server-macos ↗
- tightvnc.com · licensing-server-x11 ↗
- tightvnc.com · licensing-tvnserver ↗
- tightvnc.com · whatsnew ↗
- tightvnc.com · docs ↗
- tightvnc.com · TightVNC_for_Windows-I… ↗
- tightvnc.com · TightVNC_2.7_for_Windo… ↗
- tightvnc.com · win / TightVNC_2.7_for_Windo… ↗
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。