Deskflow 是一个开源的跨平台工具,用于在多台计算机之间共享鼠标和键盘。它允许用户通过一套键鼠控制多台电脑,就像操作单台机器一样流畅。源码:github.com
友情提醒,它需要多台计算机都有自己的显示器,它只是节省了鼠标、键盘的放置空间,以及不需要再来回换键盘、鼠标那么麻烦。
Deskflow介绍
核心功能
-
跨平台支持
支持 Windows、macOS、Linux 等主流操作系统,实现异构设备间的无缝控制。
-
局域网通信
通过局域网传输输入信号,无需额外硬件,延迟极低(通常 <1ms)。
-
屏幕边缘切换
鼠标移动到屏幕边缘时自动切换到相邻设备,操作体验接近单机多显示器。
-
剪贴板同步
支持文本、图像等剪贴板内容在设备间实时同步。
-
多显示器支持
每台设备可配置多个显示器,保持原有的多屏工作流。
技术架构
- 服务端/客户端模型
一台设备作为服务端(Server),其他设备作为客户端(Client),通过 TCP/IP 协议通信。 - 加密传输
支持 SSL/TLS 加密,保障数据安全(如密码输入)。 - 配置文件
通过deskflow.conf文件定义设备布局和连接参数。
使用场景
- 开发者工作站
同时操作 Windows(运行 IDE)和 Linux(运行服务器),共享键鼠提高效率。 - 设计工作流
macOS 上运行设计软件,Windows 上运行特定插件,通过 Deskflow 快速切换。 - 多任务处理
一台设备处理文档编辑,另一台运行虚拟机或容器,统一控制界面。
优势对比
| 特性 | Deskflow | 商业方案(如 Synergy) |
|---|---|---|
| 成本 | 完全免费 | 需付费订阅 |
| 源码透明度 | 开源可审计 | 闭源 |
| 社区支持 | 活跃社区维护 | 官方支持 |
| 功能完整性 | 核心功能齐全 | 高级功能更丰富 |
部署建议
- 网络环境
确保设备在同一局域网,推荐千兆网络以减少延迟。 - 安全配置
启用 SSL 加密,设置访问密码,避免未授权连接。 - 性能优化
关闭不必要的视觉效果(如 Windows Aero),降低输入延迟。
Deskflow 通过简化多设备操作,显著提升工作效率,是现代办公和开发环境的理想选择。
实践
FreeBSD下安装
直接pkg安装
sudo pkg install deskflow
然后deskflow启动,进行相应的设置即可。
Windows下安装
直接去下载msi安装包即可:Releases · deskflow/deskflow
https://github.com/deskflow/deskflow
MacOS安装
也是到github官网下载安装包,安装即可。
配置
MacOS下配置为被管理机器

windows做主控

这样在Windows的键盘鼠标,就能操作MacOS的机器了,不用换手操作,非常方便!
总结
经过实践,终于弄明白Deskflow这个软件了,它不是pcanywhere或者tightvnc 这样的远程登录控制软件,而是如果你有多台计算机设备,这些设备都放在了桌面上,不需要来回换鼠标和键盘,而是用一套鼠标、键盘,就可以在多个电脑(同时要配置多个显示器)进行操作了!
也就是一台机器配多台显示器的升级版,现在是多台机器配多个显示器,一套键盘、鼠标操作!想想尤其是几台机器放置在稍远的地方,以前需要起身过去,现在直接用Deskflow操作即可,前提条件是那台设备的显示器能看清楚就行。
非常适合需要来回在多台机器切换操作的人士使用!
调试
没连上failed to connect to server: Timed out
2025-12-21T23:17:05\] NOTE: peer fingerprint: (SHA1) 4F:0D:0F:28:55:A6:98:1D:84:E1:C8:6C:8A:4F:C9:C6:5A:30:39:07 (SHA256) 4C:01:21:17:D7:7F:04:CC:98:4E:AF:83:42:7F:C4:11:2A:A8:9C:8C:8D:91:99:8B:0A:A3:0E:09:D3:31:4D:81 \[2025-12-21T23:17:05\] INFO: connected to secure socket \[2025-12-21T23:17:05\] INFO: server tls certificate info: /CN=Deskflow \[2025-12-21T23:17:05\] INFO: network encryption protocol: TLSv1.3 \[2025-12-21T23:17:07\] WARNING: failed to connect to server: Timed out \[2025-12-21T23:17:08\] NOTE: connecting to '192.168.0.98': 192.168.0.98:24800 \[2025-12-21T23:17:08\] NOTE: peer fingerprint: (SHA1) 4F:0D:0F:28:55:A6:98:1D:84:E1:C8:6C:8A:4F:C9:C6:5A:30:39:07 (SHA256) 4C:01:21:17:D7:7F:04:CC:98:4E:AF:83:42:7F:C4:11:2A:A8:9C:8C:8D:91:99:8B:0A:A3:0E:09:D3:31:4D:81 \[2025-12-21T23:17:08\] INFO: connected to secure socket \[2025-12-21T23:17:08\] INFO: server tls certificate info: /CN=Deskflow \[2025-12-21T23:17:08\] INFO: network encryption protocol: TLSv1.3 \[2025-12-21T23:17:10\] WARNING: failed to connect to server: Timed out \[2025-12-21T23:17:11\] NOTE: connecting to '192.168.0.98': 192.168.0.98:24800 \[2025-12-21T23:17:11\] NOTE: peer fingerprint: (SHA1) 4F:0D:0F:28:55:A6:98:1D:84:E1:C8:6C:8A:4F:C9:C6:5A:30:39:07 (SHA256) 4C:01:21:17:D7:7F:04:CC:98:4E:AF:83:42:7F:C4:11:2A:A8:9C:8C:8D:91:99:8B:0A:A3:0E:09:D3:31:4D:81 \[2025-12-21T23:17:11\] INFO: connected to secure socket \[2025-12-21T23:17:11\] INFO: server tls certificate info: /CN=Deskflow \[2025-12-21T23:17:11\] INFO: network encryption protocol: TLSv1.3 把macos的ip地址改成跟windows 在同一个网段。 搞定了。