在 Android 上运行 Linux 的几种主要方法
在 Android 设备上运行 Linux,主要有以下三种主流方式,它们在复杂性、性能和功能上差异巨大:

-
通过终端模拟器运行用户空间 Linux (最简单)
- 代表应用: Termux
- 本质: 在 Android 中运行一个完整的 Linux 用户空间,通过终端与你交互,它不依赖 Root,但需要 Android 5.0+。
- 优点: 非常轻量,易于安装和使用,拥有一个功能强大的包管理器,可以安装 Python, Node.js, Git, SSH 客户端等大量工具。
- 缺点: 它不是完整的 Linux 内核,所以无法运行需要特定内核模块的服务(如 Docker、Kubernetes)或驱动程序。
-
通过虚拟机运行完整 Linux (最强大)
- 代表应用: UserLAnd, GNURoot Debian
- 本质: 在 Android 中模拟一个完整的虚拟机,里面包含一个独立的 Linux 内核和完整的用户空间。
- 优点: 可以运行几乎任何 Linux 发行版(如 Ubuntu, Debian),拥有完整的 Linux 内核,功能最强大。
- 缺点: 性能开销大,占用存储空间多,配置相对复杂,部分应用可能需要 Root 才能完美工作。
-
通过 chroot 环境运行 Linux (性能与功能的折中)
- 代表应用: Linux Deploy, GNURoot Debian (旧版)
- 本质: 修改 Android 的根文件系统,使其能够“切换”到一个 Linux 环境中运行。
- 优点: 性能比虚拟机好,因为它直接使用 Android 的内核。
- 缺点: 需要获取 Root 权限,存在安全风险,配置也较复杂。
使用 Termux (推荐新手入门)
这是最简单、最安全、最常用的方式,适合学习命令行、进行简单的开发、运行脚本或通过 SSH 连接到远程服务器。

安装 Termux
- 从 Google Play Store 安装 (最简单): 搜索 "Termux"。
- 从 F-Droid 安装 (推荐): F-Droid 是一个开源应用商店,里面的 Termux 版本更新更及时,没有 Google 的限制。
- 在浏览器中打开 F-Droid 官网 并下载安装 F-Droid 应用。
- 打开 F-Droid,搜索 "Termux" 并安装。
基础使用和常用命令
安装完成后,打开 Termux,你会看到一个类似 Linux 终端的黑底绿字界面。
-
更新软件包列表和升级软件:
pkg update && pkg upgrade
-
安装常用工具:
# 安装 Python pkg install python # 安装 Node.js 和 npm pkg install nodejs # 安装 Git 版本控制 pkg install git # 安编辑器 (nano 或 vim) pkg install nano
-
文件管理:
- Termux 有自己的内部存储
/data/data/com.termux/files/home。 - 你可以访问 Android 的共享存储,路径通常是
/storage/emulated/0。 - 使用
ls(列出文件),cd(切换目录),cp(复制),mv(移动/重命名),rm(删除) 等命令。
- Termux 有自己的内部存储
-
运行 Python 脚本:
# 创建一个测试文件 nano hello.py # 在 nano 编辑器中输入 print("Hello from Linux on Android!") # 按 Ctrl + O 保存,回车确认,再按 Ctrl + X 退出 # 运行脚本 python hello.py
进阶功能 (图形界面)
Termux 本身是命令行,但可以借助一些工具实现图形界面应用。
-
安装 VNC 服务器:
pkg install tigervnc
-
启动 VNC 服务器:
vncserver
首次运行会要求你设置 VNC 密码。
-
在电脑上连接:
- 在你的电脑上下载并安装一个 VNC 客户端(如 RealVNC Viewer, TightVNC)。
- Termux 会显示一个类似
localhost:1的地址。 - 在电脑的 VNC 客户端中输入
你的手机IP:1(168.1.100:1) 进行连接。
注意: 这种方式性能一般,适合运行轻量级的桌面环境。
使用 UserLAnd (推荐体验完整 Linux)
如果你想体验一个完整的桌面版 Linux,或者需要运行一些 Termux 无法满足的服务,UserLAnd 是一个绝佳的选择。
安装 UserLAnd
- 从 Google Play Store 或 F-Droid 搜索并安装 "UserLAnd"。
安装 Linux 发行版
- 打开 UserLAnd,选择 "App" 模式(新手推荐)。
- 选择你想要的发行版,如 Ubuntu 或 Debian。
- 选择连接方式,SSH 是最常用和最稳定的选择。
- 点击 "Download and Setup",应用会自动下载和配置好系统。
- 下载完成后,它会自动打开一个 SSH 客户端(如 Termux 或 JuiceSSH),或者你可以在 UserLAnd 内部直接操作。
使用体验
- 你现在拥有了一个可以通过 SSH 访问的完整 Linux 系统。
- 你可以
apt update && apt upgrade来更新系统。 - 可以安装桌面环境(如
sudo apt install ubuntu-gnome-desktop),然后通过 VNC 访问,体验会比 Termux 自带的 VNC 好很多。 - 性能: 性能不如原生 Linux,但比真机模拟器好很多,日常办公、编程学习完全足够。
使用 Linux Deploy (需要 Root)
这是最强大但也最复杂的方法,适合有经验的用户,需要在 Android 上运行一个高性能、功能完备的 Linux 环境。
前置条件:
- 必须 Root 你的 Android 设备,Root 过程有风险,请务必谨慎并查找适用于你设备型号的教程。
- 安装 Linux Deploy 应用。
- 安装一个支持 bind 挂载的文件系统管理器,如 Solid Explorer (付费) 或 MT Manager。
配置和安装
-
打开 Linux Deploy,进入 "Preferences" 进行基本设置。
- Distribution: 选择发行版 (如 Ubuntu)。
- Release: 选择版本号 (如 20.04)。
- Architecture: 选择 arm 或 arm64,根据你的设备 CPU 架构决定。
- Installation type: 选择 File (在文件中创建镜像) 或 Loop device (性能更好,但需要内核支持)。
- Image path: 选择一个 Android 存储空间足够大的位置。
- Size: 设置镜像大小 (至少 3-4GB 起)。
- Username/Password: 设置你的 Linux 用户名和密码。
-
高级配置 (关键步骤):
- 点击 "Edit" 按钮,进入详细配置。
- 在 "Bind mounts" 选项卡中,你可以将 Android 的目录(如
/storage/emulated/0/Download)挂载到 Linux 系统的/mnt/sdcard/Download,实现文件共享。 - 在 "图形界面" 选项卡中,你可以选择安装 XFCE 或 LXDE 等轻量级桌面环境,并选择启动方式(如
X11或Wayland)。
-
安装:
- 返回主界面,点击右上角的菜单,选择 "Install"。
- 等待进度条完成,这个过程可能需要十几分钟到半小时。
-
启动:
- 安装完成后,点击 "Start" 启动 Linux。
- 启动成功后,你可以通过 "Start X11" 来启动图形界面,或者通过 "Connect" (SSH) 连接到命令行。
总结与对比
| 特性 | Termux | UserLAnd | Linux Deploy |
|---|---|---|---|
| Root 需求 | 不需要 | 不需要 | 必须 |
| 安装难度 | ⭐ 非常简单 | ⭐⭐ 简单 | ⭐⭐⭐⭐ 复杂 |
| 性能 | ⭐⭐⭐⭐ (用户空间) | ⭐⭐⭐ (虚拟机) | ⭐⭐⭐⭐⭐ (使用主机内核) |
| 功能完整性 | ⭐⭐⭐ (用户空间工具) | ⭐⭐⭐⭐⭐ (完整系统) | ⭐⭐⭐⭐⭐ (完整系统) |
| 存储占用 | 小 (几百MB) | 大 (1-2GB+) | 大 (2-4GB+) |
| 最佳用途 | 命令行工具、脚本、开发环境、SSH 客户端 | 学习 Linux、运行完整桌面应用、服务器模拟 | 高性能计算、运行依赖特定内核的服务、桌面级生产力 |
| 推荐人群 | 所有人,尤其是新手 | 想体验完整 Linux 的新手和中级用户 | 高级用户、开发者、有特定需求的用户 |
给你的建议
- 如果你只是想学学命令行,或者需要个便携的 SSH 工具:直接用 Termux,它能满足你 90% 的需求。
- 如果你想体验一下 Ubuntu/Debian 的完整桌面,或者想运行一些需要完整系统环境的软件:试试 UserLAnd,它非常方便且不需要 Root。
- 如果你是开发者,需要在手机上编译 C/C++ 项目,或者运行 Docker,并且不介意 Root:Linux Deploy 是你的终极选择。
希望这份详细的教程能帮助你在 Android 上顺利地运行 Linux!
