【Termux】高级终端安装使用配置教程 2

1 更换国内源

使用 pkg update 更新一下的时候发现默认的官方源网速有点慢,在这个喧嚣浮躁的时代,我们难以静下心等待,这个时候就得更换成国内的 Termux 清华大学源了,加快软件包下载速度。

1.1 方法一:自动替换(推荐)

可以使用如下命令自动替换官方源为 TUNA 清华镜像源

pkg update 卡住的话多按几次回车 不要傻乎乎的等

1
2
3
4
5
6
7
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list

sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list

sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

pkg update && pkg upgrade

更换源几秒钟就可以执行完 pkg update 了,心里顿时乐开了花。

1.2 方法二:图形界面(TUI)替换

在较新版的 Termux 中,官方提供了图形界面(TUI)来半自动替换镜像,推荐使用该种方式以规避其他风险。 在 Termux 中执行如下命令

1
termux-change-repo

在图形界面引导下,使用自带方向键可上下移动。
第一步使用空格选择需要更换的仓库,之后在第二步选择 TUNA/BFSU 镜像源。确认无误后回车,镜像源会自动完成更换。

1.3 方法三:手动修改

请使用内置或安装在 Termux 里的文本编辑器,例如 vi / vim / nano 等直接编辑源文件,不要使用 RE 管理器等其他具有 ROOT 权限的外部 APP 来修改 Termux 的文件

编辑 $PREFIX/etc/apt/sources.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main

编辑 $PREFIX/etc/apt/sources.list.d/science.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable

编辑 $PREFIX/etc/apt/sources.list.d/game.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable

安装基础工具

更换源之后来赶紧来下载安装一些基本工具吧,这些工具基本上是 Linux 系统自带的,因为 Termux 为了体积不过大,默认是没有带这些工具的,执行下面的命令来安装:

1
2
pkg update
pkg install vim curl wget git tree -y

2 终端配色方案

脚本项目地址https://github.com/Cabbagec/termux-ohmyzsh/

该脚本主要使用了 zsh 来替代 bash 作为默认 shell,并且支持色彩和字体样式,同时也激活了外置存储,可以直接访问 SD 卡下的目录。主题默认为 agnoster,颜色样式默认为 Tango,字体默认为 Ubuntu。

执行下面这个命令确保已经安装好了 curl 命令

1
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"

如果因为不可抗力的原因,出现 port 443: Connection refused 网络超时的情况,那么执行下面国光迁移到国内的地址的命令即可:

1
sh -c "$(curl -fsSL https://html.sqlsec.com/termux-install.sh)"  

Android6.0 以上会弹框确认是否授权访问文件,点击始终允许授权后 Termux 可以方便的访问 SD 卡文件。

img

手机 App 默认只能访问自己的数据,如果要访问手机的存储,需要请求权限,如果你刚刚不小心点了拒绝的话,那么可以执行以下命令来重新获取访问权限:

1
termux-setup-storage

脚本允许后先后有如下两个选项:

1
2
Enter a number, leave blank to not to change: 14
Enter a number, leave blank to not to change: 6

分别选择色彩样式字体样式,重启 Termux app 后生效配置。不满意刚刚的效果,想要继续更改配色方案的话,可以根据下面命令来更改对应的色彩配色方案:

设置色彩样式

输入 chcolor 命令更换色彩样式,或者执行 ~/.termux/colors.sh 命令

设置字体

运行 chfont 命令更换字体,或者执行 ~/.termux/fonts.sh 命令

3 创建目录软连接

执行过上面的一键配置脚本后,并且授予 Termux 文件访问权限的话,会在家目录生成 storage 目录,并且生成若干目录,软连接都指向外置存储卡的相应目录:

img

创建 QQ 文件夹软连接

手机上一般经常使用手机 QQ 来接收文件,这里为了方便文件传输,直接在 storage 目录下创建软链接.
QQ

1
ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ

TIM

1
ln -s /data/data/com.termux/files/home/storage/shared/tencent/TIMfile_recv TIM

img

这样可以直接在 home 目录下去访问 QQ 文件夹,大大提升了文件操作的工作效率。

4 定制常用按键

在 Termux v0.66 的版本之后我们可以通过 ~/.termux/termux.properties 文件来定制我们的常用功能按键,默认是不存在这个文件的,我们得自己配置创建一下这个文件。

下面做尝试简单配置一下这个文件:

1
2
# 新建并编辑配置文件
vim ~/.termux/termux.properties

内容为:

1
2
3
4
extra-keys = [ \
['ESC','|','/','HOME','UP','END','PGUP','DEL'], \
['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','BKSP'] \
]

如果无法创建这个文件,那么得首先新建一下这个目录 mkdir ~/.termux

修改完成保存文件后,重启 Termux app 生效配置:

img

可以直接输入特殊的字符串,例如上面的例子中的 | 就是一个字符串,此外 Termux 还有封装了一些特殊按键,入上面例子中的 ESC 就是 Termux 自带的按键,完整的特殊按键表如下:

按键 说明
CTRL 特殊按键
ALT 特殊按键
FN 特殊按键
ESC 退出键
TAB 表格键
HOME 原位键
END 结尾键
PGUP 上翻页键
PGDN 下翻页键
INS 插入键
DEL 删除键
BKSP 退格键
UP 方向键 上
LEFT 方向键 左
RIGHT 方向键 右
DOWN 方向键 下
ENTER 回车键
BACKSLASH 反斜杠 \
QUOTE 双引号键
APOSTROPHE 单引号键
F1~F12 F1-F12 按键

上面列出的三个特殊键中的每一个最多只能在附加键定义中列出一次,超过次数将会报错。

下面是国光我自用的按键表:

1
2
3
4
extra-keys = [ \
['ESC','|','/','`','UP','QUOTE','APOSTROPHE'], \
['TAB','CTRL','~','LEFT','DOWN','RIGHT','ENTER'] \
]

实际效果如下:

img

5 zsh 主题配色

编辑家目录下的.zshrc 配置文件

1
$ vim .zshrc

第一行可以看到,默认的主题是 agnoster 主题:

img

实际上这个主题也蛮酷的,如果你还想更换其他主题的话,那么在.oh-my-zsh/themes 目录下放着 oh-my-zsh 所有的主题配置文件,只要将默认的 agnoster 更换为其他的主题文件名即可。
下面是国光认为还不错的几款主题

agnoster

ys

robbyrussell

主题比较多,国光这里就不列举了,感兴趣大家可以一个个尝试去看看。 当然如果你是个变态的话,可以尝试 random 主题,每打开一个会话配色主题都是随机的。

1
ZSH_THEME="random"

如果 oh-my-zsh 主题满足不了你们的话,Github 上还有很多高度定制的主题,感兴趣的朋友可以自己去折腾研究看看。

6 zsh 插件推荐

zsh 之所以受欢迎除了好看的配色以为,另一个原因就是强大的插件了。下面国光列举一款比较实用的插件的安装方法,更多强大的插件等待大家自己去探索。

6.1 autosuggestions

根据用户的平时使用习惯,终端会自动提示接下来可能要输入的命令,这个实际使用效率还是比较高的:

1
2
# 拷贝到 plugins 目录下
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

~/.zshrc 中配置:

1
plugins=(其他的插件 zsh-autosuggestions)

img

输入 zsh 命令生效配置:

效果图

可以看到国光我只敲了一个 v 后面的命令就自动提示补全了,这时候只要按右方向键,在 Termux 里面的快捷键是 音量加 + D,就可以直接补全命令了。

7 修改启动问候语

默认的启动问候语如下:

img

这个启动问候语在前期对于初学者有一定的帮助,但是随着你们 Termux 的熟悉,这个默认的问候语就会显得比较臃肿。编辑问候语文件可以直接修改启动显示的问候语:

1
vim $PREFIX/etc/motd

修改完的效果如下:

本文版本归国光所有 转载注明出处哦

这样启动新的会话的时候看上去就会简洁很多。什么你也想要这个效果? 呐~下面是国光自己生成的,可以直接复制粘贴:

1
2
3
4
5
 _____                              
|_ _|__ _ __ _ __ ___ _ ___ __
| |/ _ \ '__| '_ ` _ \| | | \ \/ /
| | __/ | | | | | | | |_| |> <
|_|\___|_| |_| |_| |_|\__,_/_/\_\

8 超级管理员身份

实际上 Termux 不需要 root 权限也可以折腾各种各样的操作的,大家不必对 root 抱有啥幻想,本文的操作基本上没有涉及到手机要用到 root 的地步。

8.1 手机没有 root

利用 proot 可以为手机没有 root 的用户来模拟一个 root 的环境,这里主要是经典的 Linux 文件系统布局上的模拟。

1
pkg install proot -y

然后终端下面输入:

1
termux-chroot

即可模拟 root 环境,该环境模仿 Termux 中的常规 Linux 文件系统,但是不是真正的 root。

img

输入 exit 可回到普通用户的文件系统。

8.2 手机已经 root

安装 tsu,这是一个 su 的 Termux 版本,是一个真正的 root 权限,用来在 Termux 上替代 su,操作不慎可能对手机有安全风险,因为官方封装了,所以安装也很简单:

1
pkg install tsu -y

然后终端下面输入:

1
tsu

即可切换 root 用户,这个时候会弹出 root 授权提示,给予其 root 权限,效果图如下:

18年的老图了 将就着看吧

在管理员身份下,输入 exit 可回到普通用户身份。不过本文没有设计到 root 权限的操作,一些底层的工具可能才会需要,考虑到 root 的不安全性 和 那些工具的冷门性,国光这里就没有继续拓展。

9 备份与恢复

评论区有网友提问 Termux 有办法打个镜像或者快照吗?😂 怕折腾坏了。也有网友分享了官方 WiKi 已经更新了备份和恢复的方法了,原文是:https://wiki.termux.com/wiki/Backing_up_Termux

下面国光简单搬运过来:

强烈建议在复制粘贴之前了解对应命令的作用。误操作可能会不可挽回地损坏您的数据,数据无价,谨慎操作。

9.1 备份

确保已经获取了存储访问的权限,如果没有获取的话,执行以下命令来重新获取访问权限:

1
termux-setup-storage

然后去 Termux 根目录下:

1
cd /data/data/com.termux/files

备份配置文件为 termux-backup.tar.gz:

1
tar -zcf /sdcard/termux-backup.tar.gz home usr

备份应该完成,没有任何错误。除非用户滥用 root 权限,否则不应有任何权限拒绝。

警告:不要将备份文件存储在 Termux 私有目录中,因为从设置中清除 Termux 数据后,这些目录也将被删除。(类似于 Windows 准备重新安装系统,却把资料备份存储在 C 盘一个道理)

这些私有目录看上去类似如下的目录:

1
2
3
4
/data/data/com.termux 
/sdcard/Android/data/com.termux
/storage/XXXX-XXXX/Android/data/com.termux
${HOME}/storage/external-1

珍爱数据,远离私有目录。

9.2 恢复

这里假设您已将 Termu 之前备份的 home 和 usr 目录备份到同一个备份文件中。请注意,在此过程中所有文件都将被覆盖现有的配置:

确保已经获取了存储访问的权限,如果没有获取的话,执行以下命令来重新获取访问权限:

1
termux-setup-storage

然后去 Termux 根目录下:

1
cd /data/data/com.termux/files

解压提取之前备份的内容,覆盖现存的文件并删除之前的备份文件:

1
tar -zxf /sdcard/termux-backup.tar.gz --recursive-unlink --preserve-permissions

操作完成重启 Termux 即可恢复数据。