Barrier:多台电脑共享一套键盘和鼠标
公司上班会使用两台电脑:一台Ubuntu工作用主机和一台Macbook笔记本。经常需要在两套键盘和鼠标之间切换,加上Macbook的键盘很拉夸,Macbook 的键盘从2015年之后的款就非常拉;16年出的为了做轻薄,出了蝴蝶键盘,跟敲木板似的;M1芯片的mac增加了键程,但也赶不上2015款之前的版本;然后就有标题:能不能多台电脑共享一套鼠标和键盘?
方案:
- 远程控制
- KVM切换器(硬件)
- 软件实现
单从实现的角度讲有上面这些
远程控制
从体验的角度看,远程控制体验可定不太好,实现上需要传输屏幕画面+模拟硬件;体验不好的原因主要是传输屏幕画面;当然也可以去做优化,比如说:把屏幕界面切分成很多快,只传输变化了的部分界面;比如腾讯会议里面摄像头可以设置固定背景,这样只需要传输头像的部分数据;还有一个是功能是:在共享屏幕的时候只共享指定的窗口,都是为了减少数据的传输量,来增加用户体验;另外一个是对传输的图像数据进行压缩;那我们知道这些软件的工作原理之后,反过来我们就可以和它打配合,问题来了:怎么样去让这个传输的图像更利于压缩呢?一个简单的方式是:尽可能用纯色的背景,嗯,不要整些花里胡哨的。以上的底层逻辑是:像程序一样去思考
KVM切换器
KVM的全称是Keyboard Video Mouse
,淘宝搜索可以有一堆;使用这个需要额外的硬件和线材成本,在实际的使用过程中也可能需要手动的按键去切换,麻烦
软件实现
网上搜索一番相应的软件也不少:
ShareMouse不支持Linux平台;Synergy收费,而Barrier是基于Synergy开源的symless/synergy-core 1.9 代码,开源免费,最后选择了Barrie
Barrier安装:
# macOS
$ brew install barrier
# Linux:推荐用flatpak方式安装;安装flatpack:https://flatpak.org/setup/
$ flatpak install flathub com.github.debauchee.barrier # install
$ flatpak run com.github.debauchee.barrier # run
macOS遇到的问题,解决方案:去Finder中找到
Barrier.app
,按住ctrl + click
,然后菜单中点击open
即可
配置:
打开软件后界面如下:
- Server端:需要共享键盘和鼠标的这台电脑使用Server模式
- Client端:被控制的电脑端使用Client模式
Server端配置:
点击Configure Server
这个用来配置屏幕的多台电脑的布局:也就是多台电脑之间屏幕的关系。上图是的IMac.local标识自己当前的台电脑
添加Client端电脑屏幕:
- 拖动右上角的显示器图标到下面网格布局中
- 把新的显示器拖动到当前电脑屏幕的右边,表示当前鼠标可以通过右移,去操作控制另一台电脑
- 双击新添加的显示器图标,编辑
Screen name
;(这个不能乱写,使用Barrier选中client模式时,自动识别出的名字)
Client端配置:
可以选择Auto config
模式,或是自己手动填写Server端IP
使用:
上面配置完了之后分别启动Server端和Client端,这样就可以共享Server端的鼠标和键盘了
另一个特点是:鼠标所在的显示器,就表示键盘能输入到哪台电脑
Note:遇到问题开启log调试(软件菜单栏中)
体验
在公司用了两个月,mac使用linux的键盘:
- 支持剪切板跨电脑共享:在这台电脑上复制,在另一台电脑上粘贴,Nice。经测试:能共享复制的文本,共享不了复制的文件
- mac和linux的win键和alt键不一样,可以在设置中修改:把在mac下alt和win互换
- 共享键盘时,使用同时按多键时的快捷键,有时会生效。可能按键事件是一个个发过去的,没有真机那么灵敏