这三个都是源自 synergy 的多电脑共享键盘鼠标的 KVM 类开源软件。Barrier 最早从 synergy 分叉出来,但是到 2.4 版就停止开发了。Input Leap 则继承 barrier 的精神继续开发维护。而 Deskflow 则作为 synergy 的社区上游而存在,与 Input Leap 理念稍有不同。至少目前它们三者之间的协议是兼容的,用的都是 1.6 版的协议。
$ barriers --version
barriers 2.4.0-release
Protocol version 1.6
Copyright (C) 2018 Debauchee Open Source Group
Copyright (C) 2012-2016 Symless Ltd.
Copyright (C) 2008-2014 Nick Bolton
Copyright (C) 2002-2014 Chris Schoeneman
$ input-leaps --version
input-leaps 3.0.3-git-2025-06-13-aac3e88
Protocol version 1.6
Copyright (C) 2021-2023 InputLeap contributors
Copyright (C) 2018 Debauchee Open Source Group
Copyright (C) 2012-2016 Symless Ltd.
Copyright (C) 2008-2014 Nick Bolton
Copyright (C) 2002-2014 Chris Schoeneman
近年来用的是 barrier 2.4,linux 为服务端,windows 为客户端,平时可以正常使用,但时不时的会出现剪贴板无法共享的情况,只能重启服务端才行。此外,有时还会键鼠共享失败,甚至有时会引起 x11 卡死致使本地的键盘鼠标都没有响应。鉴于此,想尝试下 Input Leap 或 Deskflow 看是否能解决问题。
一、Ubuntu 22.04 上安装 Input Leap
Github 上下载的目前最新的 3.0.3 版的 input-leap-ubuntu-22-04-v3.0.3.tar.gz 解压出来后发现图形界面 input-leap 无法运行,因为需要 qt6 而 ubuntu 22.04 默认装的是 qt5,即使可安装 qt6 但支持不完整,依然无法运行。不过,命令行的服务及客户端程序 input-leaps 和 input-leapc 可以正常运行。又试了下 InputLeap_3.0.2_ubuntu_22-04_amd64.deb 结果同样是依赖 qt6 从而无法正常运行。或许作者的 ubuntu 22.04 自己编译安装了完整的 qt6 支持才能运行。由于 Input Leap 与 Barrier 一脉相承,所以使用方式是一样的,所以可以将 barrier 的配置文件导出直接使用,并仿照 barriers 的命令行直接如下运行 input-leaps 启动服务,事实证明是可以的。
input-leaps -f --no-tray --debug INFO --name myUbuntuHostName --disable-crypto --disable-client-cert-checking -c myInputLeap.conf --address :24800
既然可以这样,那么一个变通的方法是直接用 input-leaps 覆盖掉 /usr/bin/barriers,假装它是 barriers,这样 barrier 的图形界面调用的 barriers 其实是 input-leaps。不过,input-leap 的图形界面多了一个 reload 重新加载或重启服务的功能,这样当共享剪切板失败时可方便的点一下就行,于是还是想用 input-leap 的图形界面。那么只能通过 flatpak install input-leap 来安装了!
Github 上下载的最新版 Deskflow 同样因为使用 qt6 无法再 ubuntu 22.04 上正常使用。不过同样可以通过 flatpak 来安装。
二、Windows 上安装 Input Leap
本来以为在 windows 上安装会简单些,结果下载的 windows-2022-Debug-v3.0.3.tar.gz 解压后运行时提示缺少好多 DLL,都是带有 d 后缀的版本,对应的是 debug 版的 dll 库,然而程序中却没有带这些库,带的是 release 版的库。好在 v3.0.2 不是 debug 版,装上后可以使用。但却存在一个问题,即 win 上的鼠标速度变慢,有明显发飘的感觉!然而之前用 barrier 时却正常。这是因为 input leap 经 qt6 重构后为支持 DPI 虚拟化、多显示器缩放以及高 DPI 支持对鼠标位移进行了一次 “平滑 / 修正 / 限速” 从而影响了性能,这都是发生在 windows 平台上。而 barrier 则更“粗暴”,但对鼠标来说反而是优点,它不走 Qt 抽象,不考虑高 DPI,不试图“帮你修正轨迹”,反而更快!经测试 windows 上的 deskflow 有同样问题!无奈,最终解决方案是 win 上用 barrier 2.4 做客户端,linux 上用 input leap 3.0.3 做服务端。