Termux 从入门到精通:把安卓手机变成一台真正的 Linux 工作站

举报
暮山紫 发表于 2026/10/03 15:29:23 2026/10/03
【摘要】 Termux 是一个安卓平台上的开源终端模拟器,支持 apt 包管理、SSH 连接,以及 Python、Node.js、C/C++ 等完整的开发环境搭建,被开发者誉为“手机上的 Linux 系统”。它的核心优势在于零 ROOT 权限——通过 proot 模拟完整的 Linux 文件系统,同时拥有超过 3000 个可自由安装的软件包。这意味着你不需要解锁 Bootloader,也不需要刷机,就...

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 工作站没有什么本质区别了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。