Barrier 的安裝和配置
背景
目前在使用的是 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 "*****-***PY", check server config
在服務端的 Barrier 頁面,點擊 Configure Server

隨后在彈出的頁面當中,你可以看到服務端自己的屏幕信息,在你想要的位置,雙擊后彈出一個窗口,在屏幕名稱里面,輸入客戶端的屏幕名稱,點擊保存即可。
客戶端的名稱怎么來呢:

把這部分數據填進去即可。
最后,客戶端和服務端都重啟一下,就可以愉快的玩耍了。

浙公網安備 33010602011771號