李白

要隐私?快和我一起用自己编译的输入法吧

要隐私?快和我一起用自己编译的输入法吧

大数据时代,每个人都等同裸奔,那我们如何尽可能的保护自己的隐私?输入法就是一个关键点,云端大数据每时每刻都在分析你的行为,使用带云同步的输入法,天知道它们对你如何画像的。于是乎,有人走上了单机版输入法,如果macOS还有比较好的单机输入法的话,那一定是须管鼠了,开源,自编译,可以导入第三方词库,一起尝试下新的输入方式吧。

以下为本人编译的过程,整个编译相比官方文档,你需要注意几点:

1.安装好python,需要此依赖
2.修改/librime/install-boost.sh下载地址,官方源码里的地址已经失效
3.源码放在当前用户有权限写的目录下,不要用sudo,否则一堆错
4.尽量网络可以穿越长城,否则依赖包下不全,会乱报错

一、前置工作

安装homebrew

切换到/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

安装cmake

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

官方提供了三种获取boost路径,这里建议源码安装,少走坑
下载源码安装

直接使用make命令编译就可以了,编译之前会自动通过curl下载源码,执行前修改boost下载地址(github上的源码地址未更新):

vim /librime/install-boost.sh

download_url="https://dl.bintray.com/boostorg/release/boostversion/source/{boost_version}/source/{boost_tarball}"
修改为
download_url="https://boostorg.jfrog.io/artifactory/main/release/boostversion/source/{boost_version}/source/{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

千金散尽还复来