如何用 Barrier 一套键鼠控制多台电脑?免费开源 KVM 软件的完整上手
【免费下载链接】barrierOpen-source KVM software项目地址: https://gitcode.com/gh_mirrors/ba/barrier
周一早上九点,你坐在办公桌前,面前摆着三台电脑:一台 Windows 台式机处理工作邮件,一台 macOS 笔记本跑设计稿,还有一台 Linux 主机挂着编译任务。为了让它们各自工作,你不得不在桌面上塞进三套键鼠,桌面的空间被挤占,手在键盘之间来回切换,刚记住的快捷键换个系统就全部作废。这样的日子,你过了多久?
Barrier 就是为终结这种混乱而生的免费开源 KVM 软件。它用纯软件的方式复刻了硬件 KVM 切换器的全部能力:把键盘和鼠标插在其中一台电脑上,鼠标滑过屏幕边缘,焦点就平滑地切到隔壁那台电脑,键盘输入随之跟进,甚至剪贴板内容都能跨设备同步。本文将带你从零开始,用一套键鼠控制 Windows、macOS 与 Linux 多台电脑,并学会排查最常见的连接问题。
先搞清楚一件事:它和"多屏"不是一回事
很多人第一次接触 Barrier 时会问:我用一个带两个 HDMI 口的显示器,不也能同时看到两台电脑吗?能,但那只是"画面在一起",你的键盘和鼠标仍然归属其中一台电脑,想操作另一台,还是得换设备。
Barrier 解决的是输入设备的统一。它的工作模式是这样:
- 有一台电脑作为服务器,键盘和鼠标物理连接在它上面;
- 其他电脑作为客户端,通过网络接受服务器的输入;
- 鼠标移动到屏幕边缘,控制权随之移交,感觉就像所有电脑共用一块虚拟桌面。
这套思路在项目里被拆得很清楚:服务器与客户端各有独立的命令行程序(src/cmd/barriers与src/cmd/barrierc),共享同一套输入转发与剪贴板同步逻辑,核心代码位于 src/lib/barrier/ 目录,感兴趣可以慢慢研读。
从 0 到 1:让第一台电脑变身"控制中心"
初次部署只需要一台电脑,步骤如下。
第一步:安装并启动 Barrier。Windows 用户下载安装包后直接运行;macOS 用户可以用 Homebrew 执行brew install barrier;Linux 用户则用发行版自带的包管理器安装,例如 Ubuntu/Debian 下的sudo apt install barrier。记住,凡是参与共享的电脑都要装,因为 Barrier 的所有机器必须统一安装,它不支持混合连接其他同类软件。
第二步:选择"服务端"(Server)模式。键盘鼠标插在哪台机器上,哪台就是服务器。启动后界面简洁,左侧是软件标识与连接状态,右侧是配置区域,主内容区在你添加屏幕之前会保持空白。
第三步:点击"配置服务器"(Configure Server),在网格布局中为每台要控制的客户端拖入一个屏幕。屏幕名称必须与客户端 Barrier 窗口里显示的名称完全一致,区分大小写——这是新手最容易踩的坑。
小提示:如果你对图形界面不放心,也可以直接手写配置文件。仓库的 doc/barrier.conf.example-basic 提供了一个包含笔记本、台式机与 iMac 三台机器的最小示例,把里面屏幕名替换成你的主机名就能用。
服务器配置好后先别急着关窗口,因为接下来需要把客户端接进来。
让第二台电脑入网:客户端连接的 3 个关键点
在另一台电脑上启动 Barrier,选择"客户端"(Client)模式。接下来要做的事情非常简单:
- 如果网络环境支持自动发现(Bonjour/mDNS),客户端会直接列出服务器,点选即可;
- 自动发现失败时,手动填入服务器的 IP 地址;
- 点击"开始"(Start),等待双方状态都变为"Barrier 正在运行"。
当服务器和客户端都显示运行中,试着把鼠标滑向屏幕边缘——光标会像穿过同一块屏幕那样抵达另一台电脑,键盘输入也同步跟随。就这么简单,一套键鼠控制多台电脑的连接已经建立。
连接后的默认端口是 24800,这也是防火墙排查时首先需要放行的端口。如果客户端连接后"服务器 IP"一栏仍是空的,可以在配置文件的 options 段手动指定,例如:
section: options serverhostname=192.168.1.100 end一份配置文件的解剖:布局、别名与选项
当电脑数量变多,图形界面拖拽可能不够精确,这时候直接阅读配置文件反而更清晰。Barrier 的配置由三段组成,一个最小示例就能说明全部语法:
section: screens Laptop: Desktop1: iMac: end section: links Desktop1: right = iMac left = Laptop end section: aliases John-Smiths-iMac-3.local: iMac end- screens段声明所有参与共享的屏幕,使用便于记忆的短名;
- links段用
left / right / up / down定义各屏幕的相对方位,方向关系必须对称,否则移动会"撞墙"; - aliases段把真实主机名映射到短名,避免在配置文件里写一长串
xxx.local,同时为笔记本这种"时来时走"的设备留出弹性——参考 doc/barrier.conf.example-advanced 里的多屏场景。
配置文件被保存在哪、如何随系统自启,官方 FAQ 也给出了答案:启动时带上--config <路径>参数即可加载指定配置,配合--daemon参数就能在后台静默运行。
那些隐形却重要的细节:剪贴板与键盘同步
鼠标能跨屏移动只是开始,Barrier 真正的魅力藏在细节里。默认开启的剪贴板共享(clipboardSharing = true)让"在一台电脑复制、在另一台粘贴"变成理所当然的操作,这对跨设备整理资料、搬运代码片段来说简直是效率神器。
屏幕保护同步(screenSaverSync)也默认开启:你在服务器上触发了锁屏,所有客户端会同步进入屏保状态,出差回来再也不用挨台电脑解锁。若希望一切尽在掌握,可在 options 段做精细控制:
section: options relativeMouseMoves = false screenSaverSync = true clipboardSharing = true switchDelay = 250 end其中switchDelay(默认 250 毫秒)控制鼠标到达屏幕边缘后焦点切换的灵敏度,数值越大越不容易误触,追求极致响应可以调小。
注意:如果键盘的 Scroll Lock 被激活,鼠标将无法切换屏幕。遇到"怎么滑都过不去"的情况,先看一眼这个键。
连接失败?按这个顺序逐项排查
多机协同偶尔会掉链子,但绝大多数问题都可以按固定顺序快速定位:
- 检查网络连通性:两台电脑是否在同一局域网?先用 ping 确认服务器 IP 可达;
- 核对端口放行:确认防火墙允许 24800 端口的入站连接,这是客户端连不上的头号原因;
- 验证屏幕名称:服务器配置里的屏幕名与客户端实际名称是否完全一致(含大小写)?不一致时客户端会显示"未知屏幕"类错误;
- 确认版本一致:尽量让所有设备使用同一版本的 Barrier,跨大版本连接偶有不兼容;
- 查看日志:客户端加
--debug DEBUG参数运行可输出详细连接过程,配合日志文件(--log)能把问题定位到具体阶段。
如果剪贴板偶尔失灵,重启 Barrier 重新建立连接通常就能恢复;若仍异常,先测试纯文本复制,排除特殊格式不被支持的情况。完整已知限制可查阅项目根目录的 README.md 的 FAQ 部分。
让多机协同更顺手的 3 个优化技巧
连接稳定之后,这套系统还值得再打磨。
技巧一:优先有线网络。无线网络在输入转发这类低延迟场景下容易产生可感知的抖动,键鼠的即时响应更依赖稳定的连接质量。
技巧二:为屏幕规划"路径"。屏幕多的时候,把 links 段想成一张导航图,让任意两台相邻屏幕都能互通,避免出现必须"绕路"才能到达的屏幕。先用纸画一张布局草稿,再落到配置里,效率更高。
技巧三:让配置随系统启动。把 Barrier 服务器设为开机自启,配合--config加载固化配置,之后每次开机,整个控制网络自动就绪,无需任何手动操作。
别忘了安全:局域网不等于安全区
Barrier 默认不对流量加密,虽然它也内置了 SSL 加密与指纹校验机制(客户端首次连接时会提示核对服务端指纹,信任信息存储在本地指纹数据库中),但请务必记住两条底线:只在可信的局域网内使用,不要让 Barrier 暴露在公网。一旦误把 24800 端口映射到公网,等于把键盘鼠标的控制权交到了陌生人手里。
对安全有更高要求的场景,建议开启加密插件并定期更新版本——项目历史中已经出现过通过端口利用的安全漏洞,保持版本最新是最廉价的安全投资。
从今天开始,告别多套键鼠
回看开头那个混乱的周一早晨,现在你知道了解法:安装 Barrier、设置服务器、接上客户端,十分钟内就能让三台电脑共用一套键鼠,剪贴板互通,屏幕同步锁屏。免费、开源、跨 Windows/macOS/Linux,几乎零成本换来桌面整洁与专注力的回归。
想立刻上手,先做这一步:在键盘鼠标所在的主机上安装 Barrier 并切到"服务端"模式,然后克隆项目仓库git clone https://gitcode.com/gh_mirrors/ba/barrier,结合 doc/ 目录下的多份示例配置熟悉语法,再把第二台电脑作为客户端接进来试试滑过屏幕边缘的感觉。
如果遇到问题或发现了可以改进的地方,欢迎到项目的问题追踪区提交反馈。多设备协同的整洁桌面,值得你拥有。
【免费下载链接】barrierOpen-source KVM software项目地址: https://gitcode.com/gh_mirrors/ba/barrier
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考