"手机能跑完整 Linux 吗?带桌面那种?"——能。不是 Termux 那种阉割环境,是真正通过 chroot 容器跑起来的完整 Ubuntu/Debian/CentOS,有 systemd、能装 Docker、能跑 MySQL、还能 VNC 连桌面。一台旧安卓手机,摇身一变成 24 小时运行的家庭服务器。
Linux Deploy 是什么?
Linux Deploy 是一个 Android 应用,能在手机上用 chroot 方式安装并运行完整的 Linux 发行版。和 Termux 的区别:
| 对比维度 | Termux | Linux Deploy |
|---|---|---|
| 原理 | Android 原生环境 + 包管理 | chroot 容器,完整 Linux 根文件系统 |
| 需要 root | 不需要 | 需要 |
| systemd | 不支持 | 支持 |
| Docker | 不支持 | 支持 |
| MySQL/PostgreSQL | 装不了或折腾 | 原生包管理直接装 |
| 桌面环境 | 不支持 | 支持(VNC 连接) |
| 适用场景 | 开发工具、应急运维 | 当服务器跑服务 |
一句话总结:Termux 是「在 Android 上用 Linux 工具」,Linux Deploy 是「在 Android 上跑一个 Linux 系统」。
一、准备工作
1.1 硬性条件
- 手机 已 root(Magisk 或 SuperSU)
- Android 5.0 以上(越低版本越折腾)
- 至少 4GB 剩余存储空间(装桌面环境需要更多)
- 建议手机一直插着电跑(服务器嘛,不需要电池续航)
1.2 安装 Linux Deploy
从 GitHub Releases 下载最新 APK:https://github.com/meefik/linuxdeploy/releases
装完打开,先别急着点「安装」,有几项配置必须改。
二、配置 Linux Deploy
2.1 核心配置
点击右下角图标进入设置:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 发行版 | Ubuntu |
最通用,文档最多 |
| 版本 | jammy(22.04) |
选 LTS,稳定 |
| 架构 | arm64 |
现在手机基本都是 arm64 |
| 安装类型 | 镜像文件 |
比分区安全,方便备份迁移 |
| 镜像大小 | 4096 MB |
按需调整,装桌面建议 8GB+ |
| 用户名 | 自己设 | Linux 里的登录用户名 |
| 密码 | 自己设 | Linux 里的登录密码 |
2.2 开启 SSH(必须)
往下滑到 SSH 部分,勾选「启用」。这样装完系统后就能从电脑 SSH 连过去,不用在手机上敲命令。
2.3 开启 VNC(可选,要桌面才开)
勾选「图形界面」→「启用」,桌面环境选 Xfce(轻量、省资源)。
2.4 挂载点(让 Linux 访问手机存储)
在「挂载」里添加:
- 来源:
/storage/emulated/0(手机内部存储) - 目标:
/mnt/sdcard - 勾选「挂载」
这样在 Ubuntu 里就能读写手机文件了。
三、安装系统
配置完回到主界面,点右上角 ··· → 安装。
接下来看网速,系统镜像大概 300-500MB,下完会自动解压配置。整个过程约 5-15 分钟,期间别切后台,Android 可能会杀进程。
看到 <<< deploy 就说明装完了。
四、启动和使用
4.1 启动
点「启动」按钮,看到 <<< start 即启动成功。此时你的手机上正在跑一个完整的 Ubuntu 系统。
4.2 SSH 连过去
Linux Deploy 默认 SSH 端口是 22(跟宿主机不冲突,因为是 chroot 环境)。手机和电脑在同一 WiFi 下:
ssh 用户名@手机IP地址
手机 IP 在 WiFi 设置里看,Linux Deploy 启动页面也会显示。
连上之后,它就是一台正常的 Ubuntu 服务器了:
uname -a
# Linux localhost 5.10.xxx ... aarch64
cat /etc/os-release
# Ubuntu 22.04 LTS
free -h
# 可用内存就是手机的可用内存
df -h
# 磁盘就是那 4GB 镜像
4.3 连桌面(VNC)
手机上装个 VNC Viewer(推荐 RealVNC 或 bVNC),连接地址 127.0.0.1:5900,就能看到 Ubuntu 桌面了。
或者从电脑连:VNC 客户端填 手机IP:5900,屏幕大的体验更好。
五、实战:把旧手机变成家庭服务器
5.1 跑一个静态博客
# 装 Nginx
apt update && apt install nginx -y
# 写个测试页面
echo "<h1>Hello from my phone!</h1>" > /var/www/html/index.html
# 启动
systemctl start nginx
局域网内浏览器访问 http://手机IP,看到页面就对了。
5.2 装 Docker 跑服务
apt install docker.io -y
systemctl start docker
docker run -d --name web -p 8080:80 nginx:alpine
一台旧手机,Docker 跑几个轻量服务绰绰有余。
5.3 定时任务 + 自动备份
# 每天凌晨 3 点把重要文件备份到手机存储
crontab -e
0 3 * * * tar -czf /mnt/sdcard/backup/ubuntu_$(date +\%Y\%m\%d).tar.gz /home/user/data
插着电、放着不动,它就是一台永不关机的 Linux 服务器。
六、性能参考
以一台骁龙 865、8GB RAM 的手机为例:
| 操作 | 耗时 / 表现 |
|---|---|
| 安装 Ubuntu 22.04 | 约 8 分钟 |
| apt update && apt upgrade | 约 2 分钟 |
| Nginx 静态页面 QPS | 3000+ |
| Docker 跑 Alpine 容器 | 秒启动 |
| MySQL 导入 10 万条数据 | 约 15 秒 |
| 功耗(亮屏) | 约 3-5W |
跑个博客、私人网盘、爬虫脚本完全够用。比起云服务器一个月几十块,旧手机的电费几乎可以忽略不计。
七、常见问题
Q:不 root 行不行?
不行。Linux Deploy 需要挂载文件系统和 chroot,这两个操作都需要 root 权限。不想 root 就用 Termux。
Q:装完手机还能正常用吗?
能。Linux 在后台跑,你照样刷微信看视频。只是 CPU 和内存会被占用一部分,建议用旧手机或备用机。
Q:手机重启后怎么办?
Linux Deploy 不会自启动,需要手动点一下「启动」。或者用 Tasker + Linux Deploy 的 CLI 接口实现开机自启:
# Termux 里通过 Linux Deploy CLI 控制
/data/data/ru.meefik.linuxdeploy/bin/linuxdeploy start
Q:镜像文件能迁移到新手机吗?
能。把 linux.img 文件拷到新手机,放回相同路径,重新配置 Linux Deploy 指向它就行。这比云服务器迁移简单多了。
旧手机放抽屉吃灰不如废物利用。花半小时装上 Linux Deploy,你就有了一台 7×24 的家庭服务器,跑个博客、挂个爬虫、做个 NAS,性能和一台入门 VPS 差不多,关键是不要钱。