大数据时代,每个人都等同裸奔,那我们如何尽可能的保护自己的隐私?输入法就是一个关键点,云端大数据每时每刻都在分析你的行为,使用带云同步的输入法,天知道它们对你如何画像的。于是乎,有人走上了单机版输入法,如果macOS还有比较好的单机输入法的话,那一定是须管鼠了,开源,自编译,可以导入第三方词库,一起尝试下新的输入方式吧。
以下为本人编译的过程,整个编译相比官方文档,你需要注意几点:
1.安装好python,需要此依赖
2.修改/librime/install-boost.sh下载地址,官方源码里的地址已经失效
3.源码放在当前用户有权限写的目录下,不要用sudo,否则一堆错
4.尽量网络可以穿越长城,否则依赖包下不全,会乱报错
切换到/opt目录
cd /opt
创建homebrew目录
sudo mkdir homebrew
修改目录所属用户
sudo chown -R $(whoami) /opt/homebrew
安装Arm版Homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
配置环境变量
export PATH="/opt/homebrew/bin:$PATH"
alias brew='/opt/homebrew/bin/brew'
我配置完homebrew完事报错了:
/opt/homebrew/bin/brew: line 11:
cd: /usr/local/Homebrew/bin: No such file or directory,
运行下面指令就好了
sudo rm -rf /usr/local/bin/brew
brew install cmake
由于squirrel的源码引用了其他开源项目,因此如果直接手动下载的话引用的代码是不会被包含进去的。最好的办法还是使用git命令进行克隆:
git clone --recursive https://github.com/rime/squirrel.git
cd squirrel
下载根据网速,我走的穿越长城的网络,稍微快一些
获取rime插件(可选)
bash librime/install-plugins.sh rime/librime-sample
(bash可以替换为自己目前使用的shell,只要兼容就行)
官方文档后续写了一条捷径,可以直接获取librime的二进制文件,不过由于我们要编译的是适配M1的版本,所以可以直接忽略。
官方提供了三种获取boost路径,这里建议源码安装,少走坑
下载源码安装
直接使用make命令编译就可以了,编译之前会自动通过curl下载源码,执行前修改boost下载地址(github上的源码地址未更新):
vim /librime/install-boost.sh
download_url="https://dl.bintray.com/boostorg/release/{boost_tarball}"
修改为
download_url="https://boostorg.jfrog.io/artifactory/main/release/{boost_tarball}"
export BUILD_UNIVERSAL=1
make -C librime xcode/thirdparty/boost
export BOOST_ROOT="$(pwd)/librime/thirdparty/src/boost_1_75_0"
编译之前,官方文档再次强调如果要编译通用版本,请加入这条环境变量,不需要的话可以忽略。
export BUILD_UNIVERSAL=1
这个步骤会编译librime、依赖的第三方库以及一些数据文件。
brew install Python
make deps
其实编译命令很简单,直接输入make就可以了,因为我只编译ARM版所以命令如下:
#for Mac computers with Apple Silicon
make ARCHS='arm64'
编译完成以后就可以使用make install命令安装了:
#Squirrel as a Universal app
make ARCHS='arm64' install
关于导入搜狗词库,几更多详细配置可以参考三十年河东大佬的链接:https://ssnhd.com/2022/01/06/rime/ ,其github上还有定期更新的sougou词库可直接使用
编译好后如需复制给其他机器,直接复制编译/squirrel/build/Release目录下的app到其他系统的/Library/Input Methods,将Squirrel.app复制即可。个人设定在~/Library/Rime目录中
如果本机重新部署,则可以执行
nohup /Library/Input\ Methods/Squirrel.app/Contents/MacOS/Squirrel &/Library/Input\ Methods/Squi\nrrel.app/Contents/MacOS/Squirrel --reload