为什么需要Synergy?
Synergy是一个跨平台的鼠标、键盘、剪切板共享软件,支持Windows,MacOS,Linux主流桌面平台。你可以用Macbook的触控板和键盘操作旁边的Windows电脑。
官网:https://symless.com/synergy
开源地址:https://github.com/symless/synergy-core
为什么要自己编译?
- 官网下载要钱
- 用别人编译好的怕有后门
Reference
官方wiki:https://github.com/symless/synergy-core/wiki/Compiling
民间教程:https://segmentfault.com/a/1190000023512582
我主要用的是民间教程,并参考着官方的wiki整的。官方wiki需要你去下载一个qt5的安装程序去安装,那个安装程序要填什么账号什么的,非常让人无语。于是我更喜欢民间教程。
步骤
1. clone synergy-core
clone一下synergy的开源仓库。
1 2 |
git clone https://github.com/symless/synergy-core.git |
2. 安装Homebrew
Homebrew的官网。复制一下官网的安装命令即可。
1 2 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
3. 安装相关编译软件
民间教程就是只装这俩就行。
1 2 3 |
brew install cmake brew install openssh |
但是官方wiki还提到了另外两个。
1 2 3 |
brew install libsodium brew install openssl |
以防万一可以都装上。
4. 安装qt5
现在最新版是qt6了,但是实测用qt6是编译不了的。所以要制定qt的版本安装。
搜索qt的相关包
1 2 |
brew search qt |
在Formulae
里面可以找到qt@5
,装它
1 2 |
brew search qt@5 |
找到qt@5
的安装位置,非常重要!
1 2 |
brew info qt@5 |
我的装在这里/opt/homebrew/Cellar/qt@5/5.15.6
5. 编译
5.1 新建环境变量
1 2 |
export CMAKE_PREFIX_PATH="/opt/homebrew/Cellar/qt@5/5.15.6/lib/cmake/Qt5" |
注意一下这一步跟其他教程可能会有不一样的地方,也是我踩过的坑。民间教程路径是到Frameworks
文件夹结尾的,实测不行。官方wiki更是无法参考。
5.2 安装Xcode
App store安装即可,可能需要更新系统。
5.3 查询一些东西
- Xcode SDK
大致是在这里:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk
不过不同系统最后的系统版本号可能不是12.3,去对应的文件夹下找一下即可。 -
系统版本和架构
左上角的苹果标志–>About This Mac 里面Version xx.x就是系统版本。如果是Intel的cpu那架构就是x64,如果是Apple M1/M2 那就是arm64。 -
openssl
大致是在这里:
/opt/homebrew/opt/openssl@1.1/
同样不同系统可能不同,去对应的文件夹下找一下。
5.4 cmake&make
进入synergy-core
文件夹,
1 2 3 4 5 |
mkdir build cd build cmake -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=12.6 -DCMAKE_OSX_ARCHITECTURES=arm64 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@1.1/ -DOPENSSL_LIBRARIES=/opt/homebrew/opt/openssl@1.1/lib ../ make |
上面cmake用到的东西你应该都在上面查到了,替换即可。
6. APP
编译完成之后synergy-core/build/bin/
里面会有很多可执行文件。
官方wiki的原话是这样的:
Go to build folder > bin copy all execs and place in bundler > Synergy.app (click left and Show package contents) > Contents and make a folder called MacOS and paste the execs there
意思就是把synergy-core/build/bin/
里面的可执行文件复制到synergy-core/build/bundler/Synergy.app/Contents/MacOS
文件夹里面。其中进入Synergy.app
需要右键+Show package contents,MacOS
文件夹需要自己创建。
这样APP就打包好啦!可以把打包好的APP复制到Applications里面。
7. 权限
不设置权限的话,主要问题是打开软件发现它INFO里main会出ERROR,瞄了一眼大概是什么网络什么的问题。
主要需要设置的权限是
System Preferences… -> Security & Privacy -> Privacy -> Accessibility
把Synergy添加进去,并Allow the apps below to control your computer底下给Synergy打勾。
如果不行,尝试重启。
再不行,在上面的权限里面把Terminal或者你的iTerm加进去,然后在命令行中
1 2 |
/Applications/Synergy.app/Contents/MacOS/Synergy & exit |
即可。
记录一下,怕忘了。
牛逼