在 Termux 上使用 Oh My Zsh

背景

之前有一段时间对 Zsh 的狂热到了极端痴迷的地步,恨不得在所有 *Unix 设备上装上 Oh My Zsh(甚至是路由器)。Termux 是运行在 Android 上的模拟 Linux 环境,偶尔会想到在 Linux 环境下做的事,掏出手机就可以马上开始。

但是在这个过程中踩了不少坑,还用过一些脚本来一键设置。但后果是,通常这些脚本都会更改字体(因为 Oh My Zsh 中的「agnoster」主题有一些特殊字符需要 powerline font 的支持),而且常常自作聪明地更改配色方案。

安装

首先是安装 git、wget 或者 curl,还有 zsh:

1
pkg install git curl zsh

我本人更喜欢 curl 多一些,所以就安装了 curl。

Termux 的包管理基于 apt,而 apt 又是依赖于 wget 的,所以 Termux 本身就带有 wget。但是默认带有的 wget 和 Debian 系的 Linux 一样,并不支持 https,所以直接执行会提示 wget: not an http or ftp url: https://example.com.,这个问题在有意克制储存占用的 *Unix 系统下很常见,通常需要额外安装一些包来解决。

在之前,Oh My Zsh 还没有针对 Termux 做优化,所以在 Termux 执行时,会报出许多 /usr/bin/<package name> not found. 的错误,因为 Termux 的实际可执行文件路径位于 /data/data/com.termux/files/usr 下。而后 Oh My Zsh 合并了一个 pr 才适配了 Termux注 1,所以直接按照 Oh My Zsh 的安装教程安装大致上就可以完成了注 2

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

同样,你也可以使用 wget,在此不再赘述。

就是有一点不完美,安装完成后会提示 /usr/bin/chsh not found.,这时再执行 chsh -s zsh 手动设置一下就可以了。

常规配置(个人向)

1
2
3
4
5
6
7
8
9
.zshrc
==========
ZSH_THEME="agnoster"
# Keep language enviorment is English
export LANG=en_US.UTF-8
# Set vim as default editor
export EDITOR='vim'
# Upgrade Oh My Zsh without asking
DISABLE_UPDATE_PROMPT=true

乱码(更换字体)

剩下就是不是特别影响操作的字体问题了,切换到「agnoster」就很难免地要遇到「豆腐块」(乱码)的问题。只需要安装一个售价 $2 的插件:Termux: Styling注 3,再回到终端中长按 > more > style > choose font 选择一个自己喜欢的字体。至此,配置已全部完成。
需要注意的是,这些插件必须要和本体的签名匹配,也就是说,你不能用 Play 商店上下载的 Termux 搭配 F-Droid 上下载的 Termux: Styling 使用。注 4

参考

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×