Skip to content
Published at:

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安装:

bash
# 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互换
  • 共享键盘时,使用同时按多键时的快捷键,有时会生效。可能按键事件是一个个发过去的,没有真机那么灵敏

Ref:

Updated at: