背景
目前在使用的是 Ubuntu + Win 的两套主机,日常开发主要是 Ubunut,但部分工作不得不用到 Win,所以通过一套键鼠来控制两台主机的需求(KVM)就很强烈了。
关于具体的 KVM 方案选择过程,可以点击方案评估来选择具体的方案,本篇文章主要是给那些决定使用 Barrier 的同学提供一个较为完善的安装配置过程,避免踩我之前踩过的坑。
安装
Barrier 的安装在不同的平台上略有不同。
Win
直接通过 Github release页面 点击下载 exe 安装包,安装即可
Mac
同 Win
Ubuntu 24.04
sudo apt install barrier
其他 Linux 发行版
由于 Linux 发行版较多,并不是所有平台都提供包管理工具便捷的安装,可能就需要自己去 clone 源码进行编译打包了。这里暂时不扩展,有需要的话我再单独出个教程。
配置
Barrier 的配置是比较繁琐的,里面会有一些小坑。但只要思路理清,还是比较容易的。
整个配置的过程主要分为几个步骤:SSL 生成(客户端,服务端),客户端配置服务端 IP信息,服务端配置客户端的屏幕信息。
在我的场景里,Ubuntu 是客户端,Win 是服务端,你们也可以自己定义客户端和服务端,这个都没关系,可以随时调换。
SSL 生成
假如此时直接启动的话,此时你会发现 Barrier 提示已运行,但没有任何效果
这个时候,通过查看日志,可以看到一些错误信息:
Win 下看到的可能是:
ERROR: ssl certificate doesn't exist: C:\Users\你的用户名\AppData\Local\Barrier\SSL\Barrier.pem
Ubuntu & Mac 下看到的则为:
ERROR: ssl certificate doesn't exist: /home/你的用户名/.local/share/barrier/SSL/
注:通过查看日志,可以看到具体的错误运行原因,这个操作很有用,后续有什么其他的问题排查, 也是这个思路。
目前 Barrier 是通过 SSL 对数据传输进行加密的,所以配置的第一步是生成相关的 pem 配置。
Ubuntu & Mac
在 Ubuntu 和 Mac 下,生成 pem 是比较简单的,只要进入到对应目录之后,执行命令:
openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
即可生成 Barrier.pem 文件
Win
由于 Win 默认没有 openssl 命令,所以这边是通过 git bash 环境来实现的。(其他方式也可以,但 git bash 自带 openssl 工具)
文件管理器进入对应目录之后,右键点击空白:
选择 Open Git Bash Here
随后,执行:
openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
此时,可能会提醒你
... name is expected to be in the format ...
此时有两个解决方式:
- setting the MSYS_NO_PATHCONV environment variable to 1
- 使用双斜杠,也就是 //CN=Barrier
我的环境下,起作用的是方法 2 :
openssl req -x509 -nodes -days 365 -subj //CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
具体原因,跳转了解
屏幕配置
SSL 配置完成之后,再次启动的话,发现可以正常加载 SSL 文件了,但此时新的错误又出现了,在客户端的日志里发现:
server refused client with name
出现这个问题的原因,是在服务端当中,没有将客户端的屏幕配置为信任列表,接下来开始配置屏幕。
服务端日志:
unrecognised client name "BJI118-LF4EKCPY", check server config
在服务端的 Barrier 页面,点击 Configure Server
随后在弹出的页面当中,你可以看到服务端自己的屏幕信息,在你想要的位置,双击后弹出一个窗口,在屏幕名称里面,输入客户端的屏幕名称,点击保存即可。
客户端的名称怎么来呢:
把这部分数据填进去即可。
最后,客户端和服务端都重启一下,就可以愉快的玩耍了。
标签:Barrier,SSL,Win,配置,pem,安装,服务端,客户端 From: https://www.cnblogs.com/gonzo/p/18258239