ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Synergy 1.14.6实战:多设备键鼠共享配置与排查全指南

Synergy 1.14.6实战:多设备键鼠共享配置与排查全指南 我先说个真实场景。我桌面上长期摆着三台电脑一台台式机负责编译和重度开发一台 Windows 笔记本处理日常办公和文档还有一台 MacBook 偶尔用来做设计稿和跑脚本。以前每台机器都放一套键鼠桌面乱得跟蜘蛛网一样后来换成 Synergy 1.14.6一套键鼠全部搞定。这篇文章我打算从实际使用角度系统聊聊这套多设备键鼠共享软件从下载安装、配置布局到问题排查的完整过程顺便把那些官方文档里没写清楚、但实操中必踩的坑都摊开说一遍。如果你也在为多台电脑的键鼠切换发愁这篇内容基本可以当一份使用教程来对照着操作。1. 先搞清楚Synergy到底解决什么问题1.1 多设备键鼠共享的核心逻辑Synergy 1.14.6本质上是一个基于局域网 TCP/IP 协议的键鼠共享工具。它把你手边的某台电脑设成“服务端”Server其他电脑设成“客户端”Client。服务端连接着你常用的键盘鼠标客户端不接键鼠或者接了但不用Synergy 通过网络把鼠标移动事件、键盘按键事件、剪贴板内容实时同步过去。很多人第一次听到这个描述脑子里冒出来的问题是这不就是远程桌面吗其实两者完全不是一回事。远程桌面是把整个桌面画面压缩编码后传给你你操作的是远程机器的“虚拟画面”画质和帧率受带宽影响非常明显。而 Synergy 的操作是实时的鼠标滑过屏幕边缘的那一瞬间本机鼠标光标消失另一台电脑的光标在对应位置出现整个过程没有画面压缩也没有明显的画面延迟几乎就像把两台电脑的屏幕物理拼在了一起。这套机制的核心在于事件转发而不是画面传输。它发送的只是“鼠标移动了多少像素”“按下的是哪个键”这样的指令真正做渲染和处理的还是各自主机。所以它对网络的要求并不高稳定的百兆局域网就能跑得很顺。理解这一点很重要因为后面排查卡顿问题时会有不少人误以为要升级路由器其实根本不是那回事。1.2 为什么我不推荐用硬件KVM或Windows自带方案在聊 Synergy 具体操作之前我先讲一下我选它的理由这能帮你判断自己的场景到底适不适合。硬件 KVM 切换器是很多人先想到的方案。这东西确实能用一台键鼠接在 KVM 上通过按键或快捷键在几台主机之间切换。但它的痛点太明显了切换一次需要一两秒屏幕会黑一下键鼠和显示器之间的线缆也要重新理一遍桌面照样乱。更麻烦的是现在的 KVM 对 Type-C 接口、多显示器高刷组合支持参差不齐稍微新一点的设备就容易出现兼容问题。我试过两个不同品牌的 KVM最后都因为切换延迟和键鼠失联放弃了。微软倒是有一个免费工具叫 Mouse without Borders原理跟 Synergy 类似也能跨 Windows 机器共享键鼠。但它的局限很明显只能在 Windows 上互相用macOS 和 Linux 完全不支持而且它对键鼠事件的转发稳定性一般跨屏幕切换偶尔会卡一下。Synergy 真正让我放心的地方在于它是跨平台的老牌工具Windows、macOS、Linux 都能跑而且服务器和客户端可以混搭比如服务端是 Windows客户端是 Linux或者服务端是 macOS客户端是 Windows都能正常协作。如果你工作环境里的系统不止一种Synergy 基本是少有的省心选择。2. Synergy 1.14.6 安装与基础配置2.1 下载安装与许可证激活的注意事项Synergy 1.14.6 的安装包可以直接从官网下载它提供了 Windows、macOS、Linux 三种平台版本。这里有个容易踩坑的点官网默认给的是最新版但如果你用的是 1.14.6 这个版本不要手贱升级到后续的大版本因为后面的版本对许可证的校验方式有变化老版本的一些配置文件和激活逻辑在新版里并不通用。安装过程本身没什么好说的一路下一步就行。让我重点说一下许可证激活。Synergy 的收费模式是按设备数量计算的最少要买两个许可才能在一台服务端和一台客户端之间共享。激活码是在账户后台生成的安装后打开软件登录你的账户它会自动拉取你名下的激活点数。如果你用的是破解性质的补丁或者网上的绿色版我这里不推荐稳定性没保证而且 1.14.6 的加密连接功能在非正版环境下很容易出 TLS 证书问题排查起来特别折磨人。正版激活看着花了一笔钱但省下的时间成本其实是赚的。安装完成以后首次启动会让你选择角色。这里要注意服务端就是你要坐着用的那台机器键盘鼠标物理连接在它上面客户端是你想用同一套键鼠去控制的远端机器。这个角色关系一定要先想清楚因为后面所有配置都围绕这个逻辑展开。2.2 配置服务端与客户端的基础步骤服务端的配置是整个安装过程中最核心的一步。打开 Synergy 主界面选择“配置服务端”进入服务器配置界面后会看到一个小格子里面默认有一个屏幕图标。在“屏幕和服务器”区域先把这个屏幕图标拖动到右侧的网格上作为服务端本机。然后添加客户端屏幕填上客户端的计算机名称或者 IP 地址再把它拖到服务端屏幕的旁边两者之间就会自动形成一条连接边。这里有个细节我必须强调屏幕名称必须填准因为它区分的是“机器名字”而不是“用户名字”。Windows 里查看完整的计算机名可以在“系统属性”里看macOS 在“共享”设置里看Linux 则直接用 hostname 命令。如果你填错了连接时客户端那边会报 name mismatch 的错误看起来很吓人其实就是名字没对齐。在服务器配置界面里还可以修改服务器本身的屏幕名称。有些时候 Synergy 自动检测出来的名称跟你实际想用的不一致比如 Windows 主机的 NETBIOS 名超过 15 个字符被截断这就容易导致客户端识别错误。我习惯在服务端配置里手动指定屏幕名称并确保客户端配置中连接的主机名跟它完全一致。配置完屏幕布局后保存配置服务端就进入监听状态。接着到客户端电脑上打开 Synergy在界面里选择“客户端”模式然后在服务器 IP 输入框里填写服务端机器的局域网 IP。如果是 Linux 客户端还可以直接通过命令行启动 synergyc 并加上服务端地址。点击启动后正常情况下客户端会自动与服务端建立连接光标就能跨屏了。2.3 屏幕布局与边界方向设置屏幕布局直接决定你的鼠标从一个屏幕“穿”到另一个屏幕的方向感这个不能用蛮力试要按物理摆放位置来设。举个例子我的台式机在左边笔记本在右边那么在服务端配置网格里台式机的屏幕图标就在左侧笔记本的屏幕图标在右侧两台机器紧挨着摆放。这样操作时鼠标从台式机屏幕右边缘滑出就会进入笔记本屏幕的左边缘跟实际操作直觉完全一致。如果你有两台显示器挂在一台主机上或者三台设备组成一排网格里都可以如实排布。Synergy 支持左右上下四个方向的边缘穿越所以竖排的屏幕可以把一台放在另一台的上方鼠标从下方屏幕的上边缘滑出去就能进入上方屏幕的底部。设置完布局后我建议立即实际测试一下边缘位置是否匹配因为显示器的物理边框有一定厚度鼠标滑出去时会出现一个短暂的“停顿”这是正常的它是在等待你继续向外移动避免误触。这里还要注意一个非常实用的细节在客户端电脑上如果你的显示器分辨率比服务端高鼠标滑入客户端后上下两端的定位是按比例映射的。也就是说服务端屏幕右边缘的中部位置进入客户端时光标会出现在客户端屏幕的中部而不是死死钉在某个像素上。合理调整屏幕在网格中的相对高度可以让光标在两台机器切换时处于你期望的纵向位置减少反复微调手臂的次数。3. 关键参数与核心机制详解3.1 连接端口与TLS加密设置Synergy 默认使用 TCP 24800 端口进行通信。如果你启用了加密功能它还会在握手阶段使用 TLS 证书来验证双方身份。这意味着两件事第一服务端所在机器的防火墙必须放行 24800 端口第二如果使用加密连接客户端需要信任服务端生成的证书。先说防火墙。Windows 系统第一次运行 Synergy 服务端时会弹出一个网络访问提示很多人顺手点了“取消”然后死活连不上排查半天才发现是防火墙拦了。正确的做法是在防火墙高级设置里新建一个入站规则放行 24800 端口同时允许程序 synergy-service.exe 或 synergys 通过。macOS 和 Linux 也要留意相应的防火墙和 selinux 设置Linux 用 firewalld 的话直接执行 firewall-cmd --add-port24800/tcp --permanent 再 reload。再说加密。1.14.6 版本的加密默认是开启的服务端第一次启动时会自动生成自签名证书并保存到本地配置目录。客户端连接时如果之前没有缓存过这个证书会弹出指纹确认提示你要确认服务端的指纹是否匹配。因为 Synergy 是局域网内使用很多人图省事会直接关掉加密但如果你的办公环境是公用网络我建议还是开着毕竟键盘输入的内容包括密码不加密等于裸奔。如果连接时一直提示证书错误最直接的办法是在服务端配置界面重置 TLS 证书然后到客户端清空已经缓存的证书重新连接一次。这里顺便说一下日志。Synergy 的日志是排查问题的第一手资料Windows 下默认日志在 %LOCALAPPDATA%\Synergy\LogsLinux 和 macOS 在 ~/.config/Synergy/Logs。日志里如果出现 SSL 相关的字样基本就是证书问题出现 address already in use说明端口被占用出现 failed to connect则要优先查网络连通性。养成看日志的习惯比你乱删配置重装要高效得多。3.2 剪贴板共享与文件拖拽的实现Synergy 最有吸引力的功能之一就是剪贴板共享。所有接入这套键鼠网络的电脑会共用同一个剪贴板在一台机器上复制一段文本马上到另一台机器粘贴内容就过去了。1.14.6 版本对图片剪贴板也做了支持复制截图后再跨机器粘贴基本能保持图面正常。文本剪贴板分享的底层逻辑是当你在某台机器上触发复制操作后Synergy 会监控本机剪贴板变化一旦发现内容变了就把剪贴板内容序列化后同步给所有客户端或服务端。它的同步是一个后台事件不是实时轮询所以绝大多数情况下你是感觉不到延迟的。但有的时候你会发现复制后立刻切换屏幕去粘贴目标机的剪贴板还没更新这其实是因为事件同步和屏幕切换之间存在一个极短的时间窗口多等半秒就好。文件拖拽传输在 1.14.6 里也是一个亮点。你可以在服务端的文件管理器里选中一个文件直接拖到跨屏幕的客户端窗口图标上文件就会被传输过去。不过这个功能要看清几个限制首先它走的是独立的数据通道传输大文件的速度基本取决于你的局域网质量其次不是所有应用都接受拖拽落点比如拖到客户端桌面或文件管理器窗口里通常可以但如果客户端当前打开的是一个不支持拖放操作的程序文件就不会传输成功。我实际用下来拖十几个小文件的体验很好拖几个 GB 的大文件就不太划算不如直接走内网共享文件夹。3.3 开机自启与后台服务化配置多设备键鼠共享这种工具属于“开机就在跑”的那类软件没人想每次开机都手动点一遍启动。Synergy 内置了开机自启动的开关Windows 平台在设置界面勾选“启动时自动运行”和“登入时自动启动”即可。但这里有个坑如果你只看这个开关重启之后服务端不一定能正常监听因为 Synergy 会先启动服务再连接网络而系统网络初始化可能需要几秒钟导致服务启动时网络还没就绪。我在 Windows 上遇到过好几次这种问题后来索性把服务端注册成系统服务来运行用系统自带的任务计划程序创建一个开机触发任务延迟 30 秒启动 Synergy 服务端程序问题就彻底消失了。具体操作用任务计划程序新建任务触发器选“计算机启动时”操作指向 Synergy 主程序参数带上服务端模式和配置文件路径再把任务设为“不管用户是否登录都要运行”基本一劳永逸。macOS 下的思路类似可以在系统设置里把 Synergy 加入登录项同时配合延时启动工具来规避网络未就绪的问题。Linux 下则可以通过 systemd 服务管理写一个简单的 service 文件指向 synergys并设置 Afternetwork-online.target保证网络就绪后再拉起来。公网远程场景我没深入试过但局域网环境里这套自启动方案已经跑了很久没出岔子。4. 使用中的高频问题与排查实录4.1 连接失败的排查顺序Synergy 在局域网内的连接失败九成以上是网络层或者配置层的问题。遇到客户端连不上服务端我建议严格按照下面的顺序来排查不要一上来就重新安装软件那样只会浪费时间。第一步确认物理连通性。在客户端上用 ping 命令检查到服务端 IP 是否通不通就先解决网络问题。第二步检查端口监听。在服务端执行 netstat -an | findstr 24800 或者 lsof -i:24800看 Synergy 是否真的在监听端口。这一步很关键因为有时候主界面显示“正在运行”但实际后台进程已经崩溃或者退出端口根本没开。第三步检查防火墙规则把 Synergy 主程序和占用端口的进程都加入白名单。第四步核对版本兼容性和屏幕名称。三台机器之间如果混用了不同大版本的 SynergyTLS 协议的兼容性可能出问题建议统一到同一个版本。我遇到过最经典的场景是客户端始终提示“无法连接服务器”但 ping 通、端口通、防火墙也正常最后发现是服务端的屏幕名称在客户端配置里没填对。Synergy 连接的握手阶段会比对名称不一致就拒绝连接。这种问题看日志最清楚日志里明确写着 “name mismatch” 或者 “client name not found”。4.2 证书或加密导致的连接异常1.14.6 默认开启了 TLS 加密这是很多新手第一次连接失败的根本原因。服务端生成证书后客户端首次连接时应该弹出指纹确认但有些客户端环境弹窗没显示连接就卡在那里一直转圈。遇到这种情况可以先把加密模式改成“禁用”No Encryption确认整个链路没问题后再重新开启加密并处理证书信任问题。如果之前连接成功过后来某天突然提示证书错误多半是服务端的证书变了。常见原因包括服务端重装过系统、配置文件被清理、或者换了机器但保留了旧的客户端设置。解决办法是在客户端配置界面把缓存的服务端指纹删除重新触发一次证书确认。如果是 Linux 客户端也可以直接删掉 ~/.config/Synergy/ 下的 SSL 证书缓存目录再重启连接。另外我这里有个实战经验多台客户端共享一个服务端时服务端证书一定要保持稳定不要在运行状态下频繁重置。否则每台客户端缓存里的旧指纹都会失效你需要跑到每台机器上一一清理非常麻烦。我习惯把服务端的证书文件做一次手动备份存放在安全位置万一服务端重装直接把备份的证书放回去客户端的信任关系就完全不会被打乱。4.3 鼠标卡顿延迟与性能优化鼠标切换后出现延迟或者光标在目标屏幕上移动不跟手这是仅次于连接失败的高频问题。首先要区分卡顿发生在切换瞬间还是持续存在。如果只是切换瞬间有半秒延迟这通常是正常的边缘切换等待机制可以通过在设置里调低“切换时延”来改善。如果光标在客户端屏幕上持续飘移、跟不上手速问题大概率出在网络质量上。无线网络环境尤其容易诱发这种问题。如果服务端和客户端都是通过 Wi-Fi 连接同一个路由器环境里微波炉、蓝牙设备、隔壁Wi-Fi信号都会造成干扰Packet Loss 会让鼠标事件出现掉包表现就是光标一卡一卡。我实测下来把两台机器的网线都插上路由器有线口延迟立刻从肉眼可见变为几乎无感。如果你实在没法拉网线至少把两台设备的 Wi-Fi 频段固定在 5GHz并选择一个干扰较少的信道。还有一个经常被忽略的点Wi-Fi 省电模式。笔记本在电池供电时会自动降低无线网卡功率导致网络延迟高Synergy 的卡顿也随电池模式出现。把 Windows 的电源模式改为“高性能”或者在网卡高级设置里关掉“节能模式”都能明显改善。Linux 下 iwconfig 里如果看到 Power Management 是 on也要改成 off。4.4 剪贴板/拖拽失效的处理剪贴板共享突然失效也是常见问题。我在实际使用中总结过几种典型场景以及对应的解决办法。第一种剪贴板文本失效但键鼠操作正常。这种情况多为本机的 Synergy 剪贴板监听服务出了问题最简单有效的办法是重启 Synergy 客户端和服务端让剪贴板同步事件重新建立连接。第二种图片剪贴板失效但文本没问题。1.14.6 的图片剪贴板在不同系统间传输时格式兼容性不一比如在 Windows 上复制的 PNG 图片有时在 macOS 下粘贴会空白。这属于不同操作系统剪贴板格式的天然差异一般无解遇到紧急需要就直接把图片保存成文件再传输。第三种文件拖拽传输失败。重点检查目标机上是否有足够空间以及是否存在同名文件占用。如果传输超大文件失败可以尝试压缩后再拖或者切到局域网共享目录的方式。这里有个冷门但很实用的操作在服务端主界面里有个“显示日志”按钮打开日志窗口后自己手动复制粘贴测试一次日志里能看到剪贴板事件的同步记录。如果日志里根本没有剪贴板变化事件说明 Synergy 没有捕获到系统剪贴板消息重启软件往往就能恢复。5. 进阶玩法与经验心得5.1 三机联动与多屏布局技巧如果你有三台电脑布局就不再是一条直线那么简单了。我现在的拓扑是服务端台式机在中间左边是 Windows 笔记本上面是 MacBook形成一个 T 字型布局。这种跨三个方向移动的配置用 Synergy 的网格完全可以实现只要把屏幕图标按照物理位置摆放好鼠标就能在三个屏幕之间任意穿梭。三机联动时有一个额外的机制需要了解鼠标移动是沿着屏幕边缘走的它不允许直接斜穿屏幕中心。举例来说如果你想把鼠标从中间服务端的屏幕右上角移动到上方笔记本屏幕的左下角必须从服务端上边缘滑出或者先移动到右侧边缘绕一下。实际用起来这种布局下你需要练习一下鼠标轨迹但用两天就能形成肌肉记忆。在多屏布局下我还会给每台机器设置不同的屏幕底色或主题帮助视觉上快速定位当前在哪台机器。有人会问这有什么用当你同时开三台电脑写代码和聊天时光标在哪个屏幕边缘消失了你需要半秒内意识到自己切到了哪台机器不同壁纸能有效降低这种认知负担。5.2 用配置文件实现精细控制Synergy 的图形界面配置已经覆盖了绝大多数场景但如果你需要批量部署、跨平台统一配置或者想精确控制键盘布局映射直接编辑配置文件会更高效。1.14.6 的配置核心在一份.synergy.conf文件里里面定义屏幕名称、链接方向、按键映射和剪贴板设置。下面这个配置片段是一个最简单的服务端布局示例section: screens workstation: laptop: end section: links workstation: right laptop laptop: left workstation end这个语法很直观section: screens列出所有屏幕section: links定义边缘连接方向。workstation是服务端右边连接的是laptop。如果三台设备就在 links 里增加对应方向即可。配置文件的好处是可以用文本编辑器批量修改也可以在版本控制里追踪修改记录方便回滚。但我要提醒一句千万别在软件运行时直接编辑配置文件多个进程同时写配置容易导致文件损坏编辑前最好把 Synergy 退出。5.3 无头设备与虚拟机场景Synergy 还有一个不太为人知的场景无头服务器。所谓无头就是机器没有接显示器、没有键鼠。你完全可以通过 Synergy 把无头 Linux 服务器加入键鼠共享网络用主机的键鼠直接操作它。对跑内网服务、管理 NAS、调试单片机的开发者来说这个用法非常香省掉了一台专用键盘、鼠标和显示器的开销。配置无头设备时有一点要特别处理无头机器的显示服务可能没有真正初始化图形会话。我用的办法是给无头机器接一个虚拟显示器适配器或者开启核显输出让系统认为有显示器存在这样 Synergy 才能正确投递鼠标事件。另外如果你操作的是虚拟机只要虚拟机和宿主机网络互通Synergy 也能直接在虚拟机里作为客户端接入完全无需专门配置虚拟化设置我在 VMware 和 VirtualBox 里都顺利跑通过。5.4 稳定性与长期使用建议连续用了大半年 Synergy 1.14.6我对它的整体稳定性是比较满意的但它毕竟是常驻后台的程序还是有一些长期使用的注意事项值得分享。第一定期清理日志文件。Synergy 日志默认保留一段时间但如果你开了实时调试级别DEBUG日志文件会膨胀得很快长期不清理可能占掉几个 GB 空间。第二注意版本升级的跨度。1.14.x 之间的升级通常平滑但如果你决定从 1.14 升到 2.x一定要先备份配置文件和证书再看清官方 release note因为大版本之间配置格式和激活逻辑有变化直接覆盖安装很可能导致服务端和客户端版本不匹配。第三统一服务端和客户端的版本。不同小版本的协议在密钥交换细节上可能存在差异我踩过 1.14.5 服务端和 1.14.6 客户端之间的兼容问题后来干脆所有机器全部锁在 1.14.6就再也没遇到奇怪的连接失败。最后再分享一个小技巧。如果你家里网络环境复杂路由器开启了 AP 隔离这会导致不同设备之间互相访问不了Synergy 必然连不上。这时去路由器的无线设置里关掉“客户端隔离”或 AP 隔离即可。或者干脆把几台电脑放进同一个 VLAN保证二层互通。这个问题排查起来非常隐蔽因为它不影响上网只影响设备之间的互访。希望这篇实战总结能帮你少走点弯路把多设备键鼠共享这件事真正跑顺。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进