§1. General Purposes: Why I wrote this?
最近开发中会有一些时候需要使用其他设备,比如 RK3399 的开发板。正常情况下,可以通过 ssh
命令登上去在 Terminal 上进行操作;但如果有一些复杂的操作的话,还是在可视化界面进行操作比较方便。然后你就发现,你得频繁地拔你的键鼠去板子上开发,或者有钱的话干脆买一套配给板子的键鼠。好麻烦有没有!所以有没有办法能够让一套键鼠无违和地共享给两台设备呢?就像屏幕扩展那样?
§2. Installation: How I install Synergy?
Synergy 是同事推荐给我的,知道的时候仿佛发现了新大陆。下面进入如何安装的正题,先备注一下我电脑的系统版本和边缘设备的系统版本(好像同时包含16.04和18.04,非常好):
chenzhou@chenzhou:~$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
firefly@firefly:~$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
a. 电脑端(服务端)安装
首先在电脑上安装一些必要的库:
sudo apt-get install synergy sni-qt libcanberra-gtk-module
打开 Synergy 的 config 文件进行配置:
sudo gedit /home/xxx/.config/Synergy/Synergy.conf #xxx:user
修改如下选项:
[General]
cryptoEnabled=false #将true改为false
重启电脑让一些模块生效。
b. 边缘端(客户端)安装
sudo apt-get install synergy
好了至此你的安装过程就结束了。运行起来如何使用大概都能看的懂吧,唯一要注意的是,屏幕名称不要设置错了,这个名称应该是用户名名称——假如你没有修改过的话。至于 IP 地址的话 ifconfig
命令根据具体连接情况查询一下就好,我就不赘述了。界面如何使用请参考网上其他教程。
§3. Configuration: How I autostart Synergy?
安装是完成了,功能也实现了。但是如何才能完全不依赖键鼠,比如下次我又重启了设备,是否可以让它们俩在开机之后自动连接呢?
网上许多教程都叫我们修改 rc.local
之类的,我试了一圈都没啥效果。事实上,Ubuntu 给我们提供了多好的自启动 app 呀!无论是 16.04 还是 18.04 ,都可以配置自启动应用,可以用命令行的形式启动,具体可以参考这个界面:
具体在服务端的命令行是:
/usr/bin/synergys -f --config /home/usr/.synergy.conf --daemon
这里你可能需要配置一个 config 文件,具体格式可以上网搜索。以下是我的配置:
section:screens
chen:
firefly:
end
section:links
chen:
right=firefly
firefly:
left=chen
end
section:options
heartbeat=5000
switchDelay=500
clipboardSharing=true
clipboardSharingSize=512
end
配置的书写方法可以参考:Synergy Text Configuration Manual
在客户端的命令格式是:
synergyc Server_IP_Address
这里特别声明一点: 若读者想要使用 Synergy 实现剪贴板的共享,建议使用 Synergy 1.10.3 以上版本(亲测稳定可用)。服务端和客户端尽量使用同一个版本,可以采用源码编译,这里是GitHub链接:Symless/Synergy。我的PC上使用的版本是在网上下载的,因为 Ubuntu18.04 编译安装 Synergy Core 实在是太费精力了,而且我并不需要前端界面因此也没有完整安装 Qt5;边缘端是通过编译安装的,具体可以参考 GitHub 代码库中的 Wiki 来进行编译。
§4. Summary: What I have done?
这大概就是,把一些网上的知识整合整合,然后把一些能随便搜到的东西略去的一个文档吧。