更新时间:2026-09-04 13:11:59 | 阅读:35 | 收藏:0 收藏 # Android 上用 Termux 安装 Linux Ubuntu > **读者**:需要在安卓手机/平板上跑 Linux(Ubuntu)环境的客户与运维。 > 本文只讲:安装 Termux → 换源 → 可选 SSH → 用 proot-distro 装 Ubuntu → 换国内镜像 → **wake-lock 保活与开机自启**。 > **不包含** NodeLio 安装包打包、发版或源码编译。 适用场景:无电脑或仅有手机时,先在 Termux 里搭好 Ubuntu,再按《Linux 安装指南》等文档部署服务端(arm64)。 --- ## GitHub 相关资源 直连 GitHub 较慢或失败时,可用第三方加速站 [gh-proxy.com](https://gh-proxy.com/):把完整的 GitHub 下载地址贴进页面,会生成加速链接;也可自己在原链接前加上 `https://gh-proxy.com/`。 ### 用法说明 1. 打开 [https://gh-proxy.com/](https://gh-proxy.com/)。 2. 粘贴原始 GitHub 链接(Release 附件、raw、archive 等均可)。 3. 点击转换,复制生成的加速链接再下载;也可在手机浏览器直接打开加速链接。 4. 命令行示例(`wget` / `curl`): ```bash # 格式:https://gh-proxy.com/ + 原始 https://github.com/... 完整 URL wget -O termux.apk "https://gh-proxy.com/https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_arm64-v8a.apk" ``` 注意事项: - 仅把 **https://github.com/...**(或 raw / api 等站点支持的地址)整段拼在代理域名后面,中间不要多空格。 - 加速节点可能变更;若某一节点失败,回 [gh-proxy.com](https://gh-proxy.com/) 换节点,或过几分钟再试。 - 第三方代理仅作访问辅助,下载后请核对文件来源与完整性。 - **插件签名必须一致**:Termux 主程序与 Termux:API / Termux:Boot 须来自**同一安装源**(本文统一用 GitHub debug 包)。混用 F-Droid 与 GitHub 包会导致插件无法调用主程序。 ### 官方原链 | 用途 | 原链 | |------|------| | Termux(Android arm64) | https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_arm64-v8a.apk | | Termux:API(wake-lock 等) | https://github.com/termux/termux-api/releases/download/v0.53.0/termux-api-app_v0.53.0+github.debug.apk | | Termux:Boot(开机自启) | https://github.com/termux/termux-boot/releases/download/v0.8.0/termux-boot_v0.8.0+github.debug.apk | | 1Remote(电脑端远程,Windows x64 Nightly) | https://github.com/1Remote/1Remote/releases/download/Nightly/1Remote-1.3.0.0-beta-net9-x64-nightly-20260714-5b9d84-self-contained.zip | | Ubuntu noble aarch64(proot-distro 发行包) | https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz | ### 国内加速下载(gh-proxy) | 用途 | 加速链接 | |------|----------| | Termux APK | https://gh-proxy.com/https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_arm64-v8a.apk | | Termux:API | https://gh-proxy.com/https://github.com/termux/termux-api/releases/download/v0.53.0/termux-api-app_v0.53.0+github.debug.apk | | Termux:Boot | https://gh-proxy.com/https://github.com/termux/termux-boot/releases/download/v0.8.0/termux-boot_v0.8.0+github.debug.apk | | 1Remote Nightly | https://gh-proxy.com/https://github.com/1Remote/1Remote/releases/download/Nightly/1Remote-1.3.0.0-beta-net9-x64-nightly-20260714-5b9d84-self-contained.zip | | Ubuntu noble aarch64 发行包 | https://gh-proxy.com/https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz | 也可点开: - [Termux APK(原链)](https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_arm64-v8a.apk) · [加速](https://gh-proxy.com/https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_arm64-v8a.apk) - [Termux:API(原链)](https://github.com/termux/termux-api/releases/download/v0.53.0/termux-api-app_v0.53.0+github.debug.apk) · [加速](https://gh-proxy.com/https://github.com/termux/termux-api/releases/download/v0.53.0/termux-api-app_v0.53.0+github.debug.apk) - [Termux:Boot(原链)](https://github.com/termux/termux-boot/releases/download/v0.8.0/termux-boot_v0.8.0+github.debug.apk) · [加速](https://gh-proxy.com/https://github.com/termux/termux-boot/releases/download/v0.8.0/termux-boot_v0.8.0+github.debug.apk) - [1Remote Nightly(原链)](https://github.com/1Remote/1Remote/releases/download/Nightly/1Remote-1.3.0.0-beta-net9-x64-nightly-20260714-5b9d84-self-contained.zip) · [加速](https://gh-proxy.com/https://github.com/1Remote/1Remote/releases/download/Nightly/1Remote-1.3.0.0-beta-net9-x64-nightly-20260714-5b9d84-self-contained.zip) - [Ubuntu 发行包(原链)](https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz) · [加速](https://gh-proxy.com/https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz) > 1Remote 装在电脑上,用于 SSH/远程连入手中的 Termux 或 Ubuntu;版本为 Nightly,链接可能随上游发布更新。Ubuntu 发行包用于后文「本地安装 proot-distro」步骤。Termux:API / Termux:Boot 用于第 8、9 节保活与开机自启。 --- ## 1. 安装 Termux 请从上方 **GitHub 相关资源** 安装 Termux(勿用已下架的 Play 商店旧包;国内网络优先用加速链接)。安装后打开 App,允许存储等必要权限。 若后续要用命令行 `termux-wake-lock` 或开机自启,一并安装 **Termux:API**、**Termux:Boot**(同源 GitHub 包),并各打开一次完成授权。 --- ## 2. 换国内镜像并更新 网络慢时先换源,再更新软件包: ```bash termux-change-repo ``` 按提示选择国内镜像(如清华、北外等)。也可手动改 `sources.list`(高级用户)。 然后执行: ```bash pkg update && pkg upgrade -y ``` --- ## 3.(可选)开启 Termux SSH,方便电脑远程操作 在手机 Termux 里: ```bash pkg install openssh -y ssh-keygen -A passwd # 设置登录密码;或配置 ~/.ssh/authorized_keys sshd # 默认端口 8022 ``` 检查是否在跑: ```bash ps aux | grep sshd ``` 重启 sshd: ```bash pkill sshd && sshd ``` 从同一局域网的电脑连接(把手机 IP 换成实际地址): ```bash ssh -p 8022 用户名@手机IP ``` Termux 用户名可用 `whoami` 查看。 > 长时间挂 SSH / 服务时,务必配合第 8 节 **wake-lock** 与系统电池白名单,否则息屏或切后台后进程常被系统杀掉。 --- ## 4. 安装 proot-distro 与 Ubuntu ```bash pkg install proot-distro -y ``` 安装 Ubuntu(推荐官方发行名,当前常用 noble / 24.04): ```bash proot-distro install ubuntu ``` 若官方源拉取很慢,可先下载发行包再本地安装(路径按你实际下载位置改): 1. 下载示例(aarch64): [原链](https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz) · [gh-proxy 加速](https://gh-proxy.com/https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz) (更多链接见上文「GitHub 相关资源」) 2. 放到手机可访问路径后执行: ```bash proot-distro install ubuntu --override-alias ubuntu /storage/emulated/0/Download/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz ``` > 具体参数以当前 `proot-distro install --help` 为准;若命令报错,改用帮助里写明的本地包安装方式。 ### 安装卡住或失败 ```bash rm -f $PREFIX/var/lib/proot-distro/locks/ubuntu.lock # 必要时再卸干净重装 # proot-distro remove ubuntu # proot-distro install ubuntu ``` 登录 Ubuntu: ```bash proot-distro login ubuntu ``` 退出:在 Ubuntu shell 里输入 `exit`。 --- ## 5. 安卓存储权限与共享目录 便于在 Termux / Ubuntu 里访问手机「下载」等目录: ```bash pkg install termux-am -y termux-setup-storage ``` 按提示授权后检查: ```bash ls /storage/emulated/0 ``` --- ## 6.(可选)让 Ubuntu 也开 SSH 在 Ubuntu 内安装并配置(示例端口 `10022`,避免与 Termux 的 `8022` 冲突): ```bash proot-distro login ubuntu apt update apt install -y openssh-server mkdir -p /run/sshd ssh-keygen -A sed -i 's/^#\?Port .*/Port 10022/' /etc/ssh/sshd_config grep ^Port /etc/ssh/sshd_config passwd root # 设置 root 密码 exit ``` 在 **Termux**(不是 Ubuntu 会话里)后台拉起 sshd: ```bash proot-distro login ubuntu --detach -- /usr/sbin/sshd -D ``` 电脑连接示例: ```bash ssh -p 10022 root@手机IP ``` > proot 环境不是完整虚拟机:部分服务、systemd 能力有限;以能登录 shell、跑用户态程序为主。重启后需重新拉起(或写入第 9 节开机脚本)。 --- ## 7. Ubuntu 换国内 apt 镜像(arm64 用 ubuntu-ports) 手机 / 平板上的 Ubuntu 一般是 **arm64(aarch64)**。普通 `.../ubuntu/` 镜像**只有 amd64**,写成它会出现: `Failed to fetch .../binary-arm64/Packages 404 Not Found` 必须改用 **`ubuntu-ports`**(端口架构仓库)。可先确认架构: ```bash dpkg --print-architecture # 应为 arm64 ``` 进入 Ubuntu 后写入 sources(以 **noble / 24.04**、清华为例): ```bash proot-distro login ubuntu cat > /etc/apt/sources.list << 'EOF' deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-security main restricted universe multiverse EOF apt update ``` | 镜像 | arm64 地址前缀(路径必须是 `ubuntu-ports`) | |------|-----------------------------------------------| | 清华 | `https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/` | | 阿里云 | `https://mirrors.aliyun.com/ubuntu-ports/` | | 中科大 | `https://mirrors.ustc.edu.cn/ubuntu-ports/` | | 华为云 | `https://repo.huaweicloud.com/ubuntu-ports/` | | 腾讯云 | `https://mirrors.cloud.tencent.com/ubuntu-ports/` | 阿里云示例: ```bash cat > /etc/apt/sources.list << 'EOF' deb https://mirrors.aliyun.com/ubuntu-ports/ noble main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu-ports/ noble-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu-ports/ noble-backports main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu-ports/ noble-security main restricted universe multiverse EOF apt update ``` 若发行版不是 noble,把 `noble` 改成实际代号(`lsb_release -cs`)。 > 仅在 **x86_64 / amd64** 电脑上的 Ubuntu 才用 `.../ubuntu/`;安卓 Termux 场景请始终用 `ubuntu-ports`。 --- ## 8. 保活:`termux-wake-lock` 与电池白名单(重要) 安卓默认会休眠、限制后台。挂 SSH、跑 NodeLio 等长任务时,**几乎必须**持有 wake-lock,并关掉对 Termux 的电池优化。 ### 8.1 通知栏 Acquire wakelock(最快) 1. 打开 Termux,保持会话在跑。 2. 下拉通知栏,找到 Termux 通知。 3. 点 **Acquire wakelock**(获取唤醒锁)。 4. 需要恢复省电时再点 **Release wakelock**。 通知里有「已持有唤醒锁」一类提示时,表示生效。 ### 8.2 命令行 `termux-wake-lock`(推荐写入脚本) 需已安装 **Termux:API** App,并在 Termux 内安装配套包: ```bash pkg install termux-api -y ``` 然后: ```bash termux-wake-lock # 获取唤醒锁,阻止深度休眠 # ... 启动 sshd / 服务 ... # termux-wake-unlock # 用完再释放(可选) ``` > 开机脚本里通常把 `termux-wake-lock` 写在**第一行有效命令**,见第 9 节。 ### 8.3 系统设置(各厂商名称略有差异) 在 **设置 → 应用 → Termux**(以及 Termux:Boot / Termux:API)中尽量做到: | 项 | 建议 | |----|------| | 电池 / 耗电管理 | 设为 **无限制 / 不优化 / Unrestricted** | | 后台活动 / 允许后台运行 | 开启 | | 自启动(部分国产 ROM) | 允许 Termux、Termux:Boot | | 多任务/最近任务 | 可「锁定」Termux,避免被一键清理划掉 | | 省电策略 | 关闭「深度休眠杀后台」类对 Termux 的限制 | 小米 / 华为 / OPPO / vivo 等还需在各自「自启动管理」「电池优化白名单」里放行。插电常开更稳。 ### 8.4 注意 - wake-lock 会增加耗电与发热,短期调试可随用随取;7×24 建议插电。 - 仅有 wake-lock、未关电池优化时,部分机型仍会杀进程。 - Android 12+ 另有「幻影子进程」限制,极端情况下长任务仍可能被系统杀掉;家庭常开优先用真机当小服务器时,务必做完本节 + 第 9 节。 --- ## 9. 开机自启:Termux:Boot 手机重启后,Termux 不会自动跑你的 `sshd` / Ubuntu 服务。需安装 [Termux:Boot](https://github.com/termux/termux-boot)(链接见上文资源表)。 ### 9.1 安装与首次激活 1. 安装 Termux:Boot(与主程序同源)。 2. **务必从桌面图标打开一次** Termux:Boot(仅安装不够,系统需注册开机广播)。 3. 按系统提示允许「自启动 / 后台运行」等权限。 ### 9.2 编写开机脚本 ```bash mkdir -p ~/.termux/boot ``` 目录下每个可执行脚本会在开机后按**文件名排序**依次执行。示例:启动 Termux 自带 `sshd` 并持有唤醒锁——创建 `~/.termux/boot/start-sshd`: ```bash cat > ~/.termux/boot/start-sshd << 'EOF' #!/data/data/com.termux/files/usr/bin/sh termux-wake-lock # 等 Wi-Fi 起来(按机型可改成 10~30) sleep 15 sshd EOF chmod +x ~/.termux/boot/start-sshd ``` 若还要拉起 Ubuntu 内 SSH(第 6 节端口 `10022`),可再建 `~/.termux/boot/start-ubuntu-sshd`: ```bash cat > ~/.termux/boot/start-ubuntu-sshd << 'EOF' #!/data/data/com.termux/files/usr/bin/sh # wake-lock 已在 start-sshd 里获取过则可省略;单独用本脚本时请取消下一行注释 # termux-wake-lock sleep 20 proot-distro login ubuntu --detach -- /usr/sbin/sshd -D EOF chmod +x ~/.termux/boot/start-ubuntu-sshd ``` 也可把多条启动命令写进同一个脚本;**第一件事先 `termux-wake-lock`**(官方 Termux:Boot 说明亦如此建议)。 ### 9.3 验证 1. 重启手机,等待约半分钟(含 Wi-Fi)。 2. 电脑再连:`ssh -p 8022 ...` 或 `ssh -p 10022 ...`。 3. 在 Termux 里:`ps aux | grep sshd`、通知栏是否仍显示持有 wakelock。 ### 9.4 常见坑 | 现象 | 处理 | |------|------| | 重启后脚本不跑 | 是否打开过一次 Termux:Boot;ROM 是否禁止自启动 | | 脚本跑了但 SSH 连不上 | 加大 `sleep`;确认已解锁手机(部分机型锁屏前无网) | | `termux-wake-lock` 无效 | 安装 Termux:API + `pkg install termux-api`;签名源是否与主程序一致 | | 插件打不开 / 报错 | 卸载后改用与 Termux **同一来源** 的 Boot/API 重装 | 官方说明:[termux/termux-boot](https://github.com/termux/termux-boot)。 --- ## 10. 排障速查 | 现象 | 处理 | |------|------| | `pkg` / `apt` 很慢或失败 | 换国内镜像后重试;检查手机网络与 DNS | | `apt` 报 `binary-arm64/Packages 404` | 误用了 `.../ubuntu/`;arm64 须改成 `.../ubuntu-ports/`(见第 7 节)后重新 `apt update` | | HTTPS 报证书错误 | Ubuntu 内:`apt-get install -y ca-certificates`;Termux 侧也保持系统时间正确 | | proot 安装锁死 | 删除 `ubuntu.lock` 后重装(见第 4 节) | | SSH 连不上 | 确认连的是 Termux `8022` 还是 Ubuntu `10022`;同一局域网;通知栏 Acquire wakelock;关电池优化 | | 息屏 / 切后台后进程消失 | 第 8 节:wake-lock + 电池无限制;必要时锁定最近任务 | | 重启后服务全没了 | 第 9 节安装并激活 Termux:Boot,写好 `~/.termux/boot/` 脚本 | | `termux-wake-lock` 命令找不到 | `pkg install termux-api`,并安装同源 Termux:API App | | 找不到 `/storage/emulated/0` | 重新执行 `termux-setup-storage` 并授权 | 装好 Ubuntu 后,若要跑 NodeLio 服务端,请另见帮助中心的 Linux / 家庭自建相关说明,并确认架构为 **linux-arm64**。 评论区