Termux 从入门到精通:把安卓手机变成一台真正的 Linux 工作站
Termux 是一个安卓平台上的开源终端模拟器,支持 apt 包管理、SSH 连接,以及 Python、Node.js、C/C++ 等完整的开发环境搭建,被开发者誉为“手机上的 Linux 系统”。它的核心优势在于零 ROOT 权限——通过 proot 模拟完整的 Linux 文件系统,同时拥有超过 3000 个可自由安装的软件包。这意味着你不需要解锁 Bootloader,也不需要刷机,就能在一部普通安卓手机上获得接近桌面级的命令行体验。
这篇文章按照“入门 → 进阶 → 精通”的路径来组织,每一层都有可以直接执行的命令和配置。
一、入门:安装与基本操作
1.1 安装渠道
不要从 Google Play 安装 Termux。Play 商店的版本长期未更新,很多核心功能已经失效。推荐两个渠道:
- F-Droid:开源安卓应用商店,搜索 Termux 即可安装。
- GitHub Releases:访问
termux/termux-app仓库,下载最新的 APK 直接安装。
安装完成后首次打开,Termux 会自动初始化软件包源和基础环境。设备最低要求为 Android 7.0、500 MB 存储和 1 GB 内存,推荐 Android 12+、2 GB+ 存储和 4 GB+ 内存以获得流畅体验。
1.2 第一件事:更新系统
bash
pkg update && pkg upgrade
这是每次安装新软件包之前都应该执行的习惯操作。如果下载速度慢,可以切换到国内镜像源:
bash
termux-change-repo
在交互菜单中选择 Tuna (清华大学),用空格键选中、回车确认。
1.3 必须掌握的触摸操作
Termux 是一个纯终端界面,没有按钮和菜单。你需要记住几个关键手势:
- 长按屏幕:弹出菜单,包含 COPY、PASTE、More 等选项,以及 Kill process、Style 配色等。
- 从左向右滑动:显示隐藏导航栏,可以新建、切换、重命名会话。
- 双指缩放:调整字号。
音量键在 Termux 中充当了 PC 键盘上缺失的修饰键。音量减模拟 Ctrl 键:音量减 + C 相当于 Ctrl+C(中止进程),音量减 + D 相当于 Ctrl+D(注销会话),音量减 + L 清屏。音量加则提供其他特殊按键:音量加 + E 是 Esc,音量加 + T 是 Tab,音量加 + W/A/S/D 分别是方向键。
二、基础:软件包管理与常用工具
Termux 使用 pkg 作为包管理前端,它本质上是对 apt 的封装。安装软件的语法与 Debian/Ubuntu 完全一致:
bash
pkg install python nodejs clang git vim openssh
这一行命令就安装了 Python 解释器、Node.js 运行时、Clang 编译器、Git 版本控制和 OpenSSH 客户端。
pkg search <关键词> 可以搜索包,pkg list-installed 查看已安装的包,pkg uninstall <包名> 卸载。
存储权限方面,执行 termux-setup-storage 后,Termux 会在家目录下创建 storage 目录,其中 ~/storage/downloads 指向手机的内部存储下载目录,~/storage/shared 指向整个 /sdcard。这样你就可以在终端和手机文件管理器之间自由搬运文件。
三、进阶:搭建完整的开发环境
3.1 Python 与 Jupyter
bash
pkg install python
pip install jupyterlab
jupyter lab --ip=0.0.0.0 --port=8888
启动后,在手机浏览器访问 localhost:8888,就得到了一个完整的交互式 Python 编程环境。
如果需要科学计算栈,可以直接用 pkg 安装预编译版本:
bash
pkg install python-numpy python-scipy matplotlib
Termux 的包仓库中已经包含了 NumPy、SciPy、Pandas、Matplotlib、Scikit-learn 等科学计算库的预编译包,避免了在 ARM 架构上从源码编译的漫长等待。
3.2 Node.js 与 Web 服务
bash
pkg install nodejs
node -e "require('http').createServer((q,s)=>s.end('OK')).listen(3000)"
一行命令就能在手机上跑起一个 HTTP 服务器。配合 ngrok 或 termux-apt-repo,还可以将本地端口暴露到公网,把手机变成一个临时的 Web 服务节点。
3.3 SSH 远程访问:把手机变成服务器
Termux 可以同时充当 SSH 客户端和服务端。
作为客户端连接远程服务器:
bash
pkg install openssh
ssh user@remote-host
作为服务端,让电脑通过 SSH 连接到手机:
bash
pkg install openssh
passwd # 设置密码
sshd # 启动 SSH 服务
ifconfig # 查看手机局域网 IP
关键点:Termux 的 SSH 服务默认监听 8022 端口,而不是标准的 22。从电脑连接时:
bash
ssh -p 8022 u0_a42@192.168.x.x
用户名可以通过 whoami 获取,通常是 u0_a 开头的字符串。如果需要更安全的免密登录,在电脑上生成密钥对后将公钥追加到 ~/.ssh/authorized_keys 即可。
3.4 tmux:会话保持
手机锁屏或切后台时,前台进程可能被系统终止。tmux 解决的就是“状态不丢”的问题。
bash
pkg install tmux
tmux new -s work
在 tmux 会话中运行的任何进程,即使 Termux 被切到后台甚至被系统短暂冻结,回到前台后 tmux attach -t work 就能恢复现场。配合 mosh(替代 SSH 的连接层)可以实现弱网环境下的无感续传——mosh 使用 UDP 协议,网络切换时自动恢复连接,本地回显让打字不卡顿。
如果希望每次打开 Termux 自动进入 tmux,可以在 ~/.bashrc 末尾添加:
bash
if [ -z "$TMUX" ]; then
exec tmux
fi
四、深入:图形界面与硬件交互
4.1 Termux:X11 桌面环境
Termux 默认只有命令行。通过 Termux:X11 应用(一个独立的 APK),可以在安卓上运行完整的 X11 桌面环境。
首先从 GitHub 的 termux/termux-x11 仓库下载 APK 安装。然后在 Termux 中安装桌面环境:
bash
pkg install x11-repo
pkg install xfce4
启动 X11 服务并运行桌面:
bash
termux-x11 :1 &
export DISPLAY=:1
startxfce4
支持 XFCE、LXQt 和 MATE 三种桌面环境,其中 XFCE 是官方推荐的入门选择。这让你可以在手机上获得一个带窗口管理器的图形化 Linux 桌面,运行 GIMP、Firefox 等 GUI 程序。
4.2 Termux:API:让命令行控制手机
Termux:API 是另一个独立 APK,安装后配合 pkg install termux-api,就能从命令行调用手机的硬件能力。
bash
termux-battery-status # 查看电池状态
termux-camera-photo out.jpg # 拍照
termux-location # 获取 GPS 位置
termux-notification -t "标题" -c "内容" # 发送通知
termux-sms-list # 读取短信
API 覆盖了电池、摄像头、位置、通知、短信、联系人、传感器、剪贴板、震动等几乎所有手机硬件功能。在 Android 7 上,可能需要将 Termux:API 加入“受保护应用”列表,否则某些调用会无限挂起。
五、精通:性能调优与工程化
5.1 解除 Android 后台限制
Android 的电池优化机制会主动冻结后台进程,导致 Termux 中的长时任务被中断。解决方法是进入手机的 设置 → 应用 → Termux → 电池,将其设为“不受限制”或关闭电池优化。部分厂商还需要在“应用智能省电”中允许 Termux 后台运行。
更彻底的做法是使用 fix-termux-limits 脚本,它会提高 max_phantom_processes 限制、移除 Doze 模式对 Termux 的约束,并允许 wakelock。
5.2 完整的备份与迁移方案
Termux 的环境完全存储在 /data/data/com.termux/files/ 下。换手机或重装时,用 tar 打包迁移:
bash
termux-setup-storage
tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr
在新设备上安装 Termux 后,恢复:
bash
tar -zxf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissions
这个备份包含了家目录下的所有配置文件、已安装的软件包和用户数据。对于更自动化的方案,termux-sync 工具支持将备份推送到 Google Drive 或私有 GitHub 仓库,实现跨设备的增量同步。
5.3 一个“不会断”的移动开发工作流
将前面的组件组合起来,可以得到一套在手机上稳定运行的开发环境。核心链路是:Termux + mosh + tmux + vim。mosh 处理弱网下的连接保持,tmux 保持会话状态,vim/neovim 作为编辑器,配合 LSP(如 pyright、clangd)提供智能补全。
这套方案的本质是把手机定位为“键盘和屏幕”,把计算现场放在远端服务器或通过 tmux 在本机持久化。如果只是偶尔在手机上写几行代码,可能有些过度工程;但如果你希望在通勤、排队、等人的碎片时间里有一个随时可用的开发环境,它确实值得投入时间搭建一次。
5.4 终端美化与效率
最后,终端本身也可以高度定制。安装 Oh My Zsh 替换默认的 bash:
bash
pkg install zsh
sh -c "$(curl -fsSL <https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
编辑 ~/.termux/termux.properties 可以调整主题、全屏模式、快捷键绑定和终端边距。例如启用暗色 UI 和全屏:
text
use-black-ui=true
fullscreen=true
修改后执行 termux-reload-settings 生效。
从安装到精通,Termux 的能力边界取决于你愿意探索的深度。入门只需要几行命令,但真正让它成为生产力工具的关键,在于理解安卓系统的限制(后台冻结、存储隔离、端口限制),并围绕这些限制构建稳定的工作流。一旦这套环境搭建完成,你口袋里那部手机的“可用性”,就和一台轻量 Linux 工作站没有什么本质区别了。
- 点赞
- 收藏
- 关注作者
评论(0)