前言
这是绝对是一个令人兴奋的神器!
如果你有两个或者以上的电脑,比如一个笔记本背着, 一个台式机在工位,那么必将面临一个头疼的问题,那就是你需要准备两套鼠标和键盘,或者拿着无线接收器插来插去!
听说有那种可以适应多设备的键鼠套装,但是也需要按钮进行切换!
今天这个软件,使用非常的丝滑,就像你用了两个屏幕一样,只需要鼠标划出屏幕,就会自动切换,而且非常的流畅,同时会共享粘!贴!板!
而且同时支持三大系统:Windows / MAC / Linux
你是不是已经垂涎三尺了????
来来来,马上开始带你研究!
(如果是计算机小白,可直接跳转到最后)
项目
此项目的源码地址:https://github.com/debauchee/barriergithub.com/debauchee/barrier
根据作者的描述,这是一个“Open-source KVM software”,而且此项目是基于另一个开源项目synergy-core:https://github.com/symless/synergy-coregithub.com/symless/synergy-core
其原理[1]大致是:
选择其中一台设备做服务端server,其它设备做客户端client。服务端首先设定了一个画布,不同的客户端处在画布的某个坐标上。当鼠标移出到坐标的边缘后,将进入下一个设备,此时服务端解析鼠标的移动轨迹,将其还原到客户端所在的设备上,客户端负责将具体的鼠标移动路径模拟为真实的鼠标移动
软件安装
Windows/Mac
只要下载安装即可,最新的下载地址可以访问barrier-releases
截至笔者键入,软件更新至2.4.0,可直接点击如下对应系统链接下载:
其中Windows下安装时会推荐安装Bonjour,这里推荐自己手动安装:
Ubuntu
1) clone 项目源码
git clone https://github.com/debauchee/barrier.git
cd barrier
git submodule update --init
2) 安装依赖
mkdir build && cd build
sudo apt-get install libcurl4-openssl-dev libavahi-compat-libdnssd-dev libxtst-dev qtbase5-dev
3) 编译
make -j 4
最终的软件将会在 build/bin 中:

运行&&配置
双击运行或者在Linux中执行./barrier后启动,选择连接键鼠设备为服务端,其他选择客户端。
比如我的配置中,我有一个win10和一个ubuntu,同在一个wifi下。
Windows的配置

记住这里的屏幕名,我们需要在服务端用这个名称进行配置。
对于服务端IP,如果两台设备在同一个局域网段,比如同一个wifi是可以选择自动配置的,否则需要手动指定。
Ubuntu中配置

点击设置服务器:

其中Kingdo就是我的Windows 10的屏幕名,我们可以将设备任意的放置,如上的放置表示,从Ubuntu鼠标向上到边缘就会进入Windows 10 ,从Windows 10向下滑动到边缘就会进入Ubuntu!
最终点击软件右下角的开始,当显示“Barrier正在运行”即配置成功。
如果失败,那就要去查看日志文件,检查问题出哪里,比如端口占用等。

小提示
- 在Ubuntu中,可以直接杀死Terminal,而不是直接从Barrier退出,这样就会保持Barrier在后台运行
- 目前貌似还不支持文件的粘贴共享
补充一
今天在两个Windows 10下操作, 服务器端出现如下错误提示:
ssl certificate doesn't exist: C:\Users\Admin\AppData\Local\Barrier\SSL\Barrier.pem
此时需要我们在此目录下手动生成Barrier.pem, 以Windows为例:
1) 安装openssl
2) 在“C:\Users\Admin\AppData\Local\Barrier\SSL“中打开powershell, 执行[2]:
openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
3) 首次连接时, 客户端需要接受服务端的签名, 即在弹出的窗口点击”yes”