Termux 使用记录
在 Android 手机上安装和使用 Termux,包括软件源、root 环境、SSH、proot Ubuntu 和证书配置。
Termux 使用记录
本文记录我在 Android 手机上使用 Termux 的基础配置。命令会随着 Termux 和 Android 版本变化,执行前请先确认当前环境。
Termux 是什么
Termux 是运行在 Android 上的终端模拟器和 Linux 软件包环境。它不等同于完整的 Linux 虚拟机,但可以通过包管理器安装常用命令行工具,也可以借助 proot-distro 运行 Ubuntu 等用户态发行版。
项目主页:termux/termux-app
安装 Termux
- 从官方发布渠道获取 APK:
- 安装 Termux 主程序。
- 如果需要插件,只从同一个发布渠道安装对应插件。
不要混用不同来源的 Termux 主程序和插件,否则可能遇到签名不一致或插件无法使用的问题。
配置软件包
更新软件包
- 更新软件包索引并升级已安装的软件:
bash
pkg update pkg upgrade
更换软件源
如果默认软件源访问速度较慢,优先使用 Termux 自带的工具选择镜像:
- 启动软件源选择工具:
bash
termux-change-repo - 选择主软件源。
- 选择合适的镜像并确认。
- 更新软件包索引:
bash
pkg update pkg upgrade
如果 termux-change-repo 不可用,再根据当前 Termux 文档手动调整软件源。不要直接照抄旧版本的 sources.list 修改命令。
使用 root 环境
Termux 本身不会自动获得 Android 的 root 权限。根据手机是否已经 root,使用不同方案。
未 root:使用 proot 模拟 root
- 安装
proot并进入模拟环境:bashpkg install proot termux-chroot - 退出模拟环境:
bash
exit
proot 只是用户态模拟,不会获得真正的 Android 系统权限。
已 root:使用 tsu
- 安装
tsu:bashpkg install tsu - 进入 root shell:
bash
tsu
执行 tsu 后会进入 root shell。请谨慎执行会修改系统分区、删除文件或改变系统配置的命令。
配置 SSH
按以下顺序配置 Termux 的 SSH 服务端:
-
安装 OpenSSH:
bashpkg install openssh -
启动 SSH 服务端:
bashsshd -
为当前 Termux 用户设置密码:
bashpasswd -
查看当前用户名:
bashwhoami -
从其他设备连接。Termux 的 SSH 服务端默认监听
8022端口:bashssh -p 8022 <user>@<phone-ip>
如果需要长期运行 SSH 服务,还需要考虑 Android 的后台限制、电池优化和 Wi-Fi 网络变化。
安装 Ubuntu
使用 proot-distro 可以在 Termux 中安装并运行 Ubuntu 用户态环境:
-
安装
proot-distro:bashpkg install proot-distro -
查看可安装的发行版:
bashproot-distro list -
安装 Ubuntu:
bashproot-distro install ubuntu -
登录 Ubuntu:
bashproot-distro login ubuntu -
进入 Ubuntu 后查看发行版信息:
bashcat /etc/issue -
退出 Ubuntu:
bashexit
如果希望每次进入 Termux 时自动登录 Ubuntu:
- 编辑 Termux 的
~/.bashrc。 - 加入以下命令:
bash
proot-distro login ubuntu
自动登录会改变 Termux 的默认启动行为,建议确认自己确实需要后再配置。
安装证书
如果 HTTPS 请求出现证书错误,根据当前所在的环境安装 CA 证书:
-
Termux 环境:
bashpkg install ca-certificates -
Ubuntu 用户态环境:
bashapt update apt install ca-certificates update-ca-certificates
常见注意事项
- Termux 主程序和插件应来自同一个发布渠道;
pkg是 Termux 对apt的便捷封装,进入 Ubuntu 后应使用 Ubuntu 环境自己的apt;proot和proot-distro不提供真正的内核级虚拟化或 root 权限;- SSH 服务端默认端口是
8022,不是传统的22; - Android 可能会在后台回收 Termux 进程,长期运行服务时需要调整电池优化设置;
- 运行涉及 root、文件删除或系统配置的命令前,先确认当前 shell 是否位于 Termux 还是 Ubuntu 环境。