synergy最佳解决方案——barrier

​ 不知道大家有没有一套键盘鼠标控制多台电脑的需求,主流的硬件或说软件有大神整理如下:

软件方案:

  • Windows 之间:Mouse Without Borders
  • Windows 和 macOS 之间:ShareMouse
  • Linux:Synergy 或者它的免费版本 Barrier

硬件方案:

  • 对拷线:JUC500、Smart KM Link 等

  • KVM 切换器:Aten

  • USB 切换器

  • Logitech Flow

    我的需求到倒还好,一台win11主力机,一台ubuntu desktop,文件需求已经解决了,采用常见的 NFS 方案,当输入需求有 kvm , 但我觉得有点麻烦,需要按键才能切换,用了好几天的 synergy,出现本来还正常的用着,莫名其妙除了好多问题,刚开始用 win做 server,用了几天报错“……无效句柄”

只好放弃选择 ubuntu作为server,正常用了半天,win 这又出问题来了,一直 连接失败,反复尝试反复失败,试过重装试过大佬总结的各种解决方案,最终选择放弃(当然用的 synergy 是网友编译的版本【盗版】)

实在 没办法,选择试一下另一条路线:barrier

众所周知 synergy 是开源软件,但官编的正版是需要付费的,而 barrier 是 synergy fork出的另一个版本,有热心网友便以维护,分支上开放了 win 和 mac 的下载,可以直接使用,而linux版本需要知己动手编译一下。

win 下载安装就不多说,附上 github 地址:

Barrier

主流的 linux 官方源应该有编译好的版本,如果没有需要自己变异,则具体操如下:

先下载解压源码包(建议先github网页中的Release里找到最新的版本),执行cmake:

$ wget https://github.com/debauchee/barrier/releases/download/v2.3.3/barrier-2.3.3-release.tar.gz
$ tar -xzvf barrier-2.3.3-release.tar.gz
$ cd barrier-2.3.3-release
$ mkdir build && cd build
$ cmake ..

执行cmake后,可能遇到的问题:



报错Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR),解决方法是安装libcurl4-openssl-dev
报错No package 'avahi-compat-libdns_sd' found,解决方法是安装libavahi-compat-libdnssd-dev
报错Missing library: Xtst,解决方法是安装libxtst-dev
报错By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH解决方法是安装qt5-default

一切顺利的话,输出会是这样的:

...
-- Full Barrier version string is '2.3.3-release-release'
-- Configuring directory /home/mpc/barrier/barrier-2.3.3-release/build/rpm
-- Configuring file barrier.spec
-- Configuring done
-- Generating done
-- Build files have been written to: /home/name/barrier/barrier-2.3.3-release/build

这就表示cmake执行成功了,根据当前环境生成了可用的Makefile,接下来执行编译:

$ make -j3

编译可能会失败ake可能遇到的问题:

报错fatal error: openssl/ssl.h: No such file or directory,解决方法是安装libssl-dev

编译成功后,执行安装,就可以算打完收工了:

$ sudo make install

启动后大致界面如下:

  • win端:

  • ubuntu 端:

    大同小异

    整完收工 !

synergy最佳解决方案——barrier的更多相关文章

  1. 精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章:针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了,然后获得属于你的黑带,这是成为分析忍者的 ...

  2. Maven WEB 项目使用ProGuard进行混淆,最佳解决方案

    Maven WEB 项目使用ProGuard进行混淆,最佳解决方案 近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保 ...

  3. radio中最佳解决方案

    radio中最佳解决方案 1.html中 <td> <input id="status" name="status" type="r ...

  4. php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理

    php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理 Joe PHP 2012-01-18 定时任务对于php来说一直都是很多朋友的一个难题,但却很多地方都遇到了.比如说:游戏 ...

  5. javascript 解决默认取整的坑(目前已知的最佳解决方案)

    javascript 解决默认取整的坑(目前已知的最佳解决方案) 复现该问题 js在数字操作时总会取更高精度的结果,例如1234/10结果就是123.4,但是在c或者java中整数除以10的结果还是整 ...

  6. PHP Ajax 跨域问题最佳解决方案 【摘自菜鸟教程】

    PHP Ajax 跨域问题最佳解决方案 分类 编程技术 http://www.runoob.com/w3cnote/php-ajax-cross-border.html 本文通过设置Access-Co ...

  7. mac安装conda后,终端的用户名前面有一个(base),最佳解决方案

    mac安装了conda后,前面会有一个(base),很烦人,终于找到最佳解决方案了: $ conda config --set auto_activate_base false 原因: 安装conda ...

  8. Android 旋转屏幕--处理Activity与AsyncTask的最佳解决方案

    一.概述 运行时变更就是设备在运行时发生变化(例如屏幕旋转.键盘可用性及语言).发生这些变化,Android会重启Activity,这时就需要保存activity的状态及与activity相关的任务, ...

  9. 生产环境中,数据库升级维护的最佳解决方案flyway

    官网:https://flywaydb.org/ 转载:http://casheen.iteye.com/blog/1749916 1.  引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的 ...

随机推荐

  1. Hibernate 批量update数据时,怎么样做可以回滚,

    Hibernate 批量update数据时,怎么样做可以回滚, 1.serviceManagerDaoImpl代码里对异常不进行try,catch抛出, 2.或者抛出throw new Runtime ...

  2. 当页面是本地页面时,通过ajax访问tomcat里的action,传递的参数在action里并不能识别

    当页面是本地页面时,通过ajax访问tomcat里的action,传递的参数在action里并不能识别,这个问题困扰了我不少时间. 在测试时发现此问题

  3. Mysql中不能update自身的解决方法

    不能执行:update bi_data.order_all_detailset err_msg='同时存在于wx,zfb平台',proc_time=now()where order_no in( se ...

  4. 交通运输类文档下载——JT/T 808-2019、JT/T 809-2019文档分享

    JT/T 808-2019.JT/T 809-2019文档分享 网盘:https://pan.baidu.com/s/1vfgenani8WR3in2lua3qWQ提取码:fktd 官网下载808协议 ...

  5. JAVA获取当前年份,月份、日期、小时、分钟、秒等

    import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar cal ...

  6. js(JQuery)引入select2

    官方项目地址:https://select2.org/ 引入css和js <link href="https://cdnjs.cloudflare.com/ajax/libs/sele ...

  7. nim_duilib(12)之menu(2)

    introduction 更多控件用法,请参考 here 和 源码. 本文将介绍menu的选项注册回调 before starting 本文的代码基于上一篇 stage1 回到项目demo_xml, ...

  8. 【LeetCode】437. Path Sum III 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS + DFS BFS + DFS 日期 题目地 ...

  9. 【LeetCode】671. Second Minimum Node In a Binary Tree 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找出所有值再求次小值 遍历时求次小值 日期 题目地址 ...

  10. 「Codeforces 724F」Uniformly Branched Trees

    题目大意 如果两棵树可以通过重标号后变为完全相同,那么它们就是同构的. 将中间节点定义为度数大于 \(1\) 的节点.计算由 \(n\) 个节点,其中所有的中间节点度数都为 \(d\) 的互不同构的树 ...