一般手机3-5年更新,旧手机回收当废铁,心有不甘。这下,旧手机变身Linux主机,价值拉满。那么,如何在无需 Root 权限、无需 VNC 协议的情况下,在任何 Android 手机上安装运行具有原生 GPU 加速的完整 Linux 系统?在传统的手机安装 Linux 方案中,我们往往使用VNC(Virtual Network Computing)方案进行安装。VNC方案分后端、传输、前端三层:后端运行linux系统,把要显示的画面传给一个虚拟的显卡;传输层在手机内部启动一个 VNC 服务器,把图形画面压缩成视频流前端(把画面像“录屏”一样一帧一帧传给一个播放器 App);前端需要打开一个 VNC Viewer App(客户端),通过网络协议(哪怕是手机内部回环网络 127.0.0.1)去“访问”这个后台画面。这就会存在许多弊端。比如,所有的窗口移动、网页滚动、视频播放全部由手机的 CPU 强行计算,GPU旁观,导致手机容易发热,传输时图像编码延迟,VNC 往往会降低色彩深度或压缩画质,导致字体模糊。因此,VNC确实是绝对的主流方案,但它也是导致“Linux 在手机上难用”的头号元凶。在新的方案中,采用“Termux 环境+ Termux-X11”搭配模式。Termux 作为底层的终端仿真器,运行 Linux 环境。Termux-X11取代传统的 VNC,作为 X 服务器提供高性能的图形输出,它通过 Android 的 Unix Domain Sockets 直接与 Linux 环境通信,支持 GPU 加速,通过 GPU 加速获得丝滑的桌面体验。可在手机上运行全功能的桌面版 Firefox、VS Code 和文件管理器;连接键盘鼠标后,可作为完整的 PC 替代品使用。使用 GitHub 上的开源项目Hacklab,Hacklab自动检测手机硬件(如 Adreno GPU)并安装适配的驱动和桌面环境(XFCE)。准备一台旧的安卓手机,至少4GB空间,android 7.0 或更高系统,连接互联网。在手机上,通过浏览器打开官方 GitHub 存储库下载并安装两个关键 App:Termux 和 Termux-X11(注意不要从 Play 商店下载,版本太旧),GitHub链接详见文末。允许安装第三方下载的软件。首先关闭进程限制, 进入手机的“开发者选项”,找到“禁止执行子进程限制”(Disable child process restrictions)并开启(部分系统叫停用 Phantom Process Killer)。打开 Termux,给予存储权限(执行 termux-setup-storage)。复制安装命令( curl ... | bash)并回车。
curl -sL https://raw.githubusercontent.com/jarvesusaram99/termux-hacklab/main/install.sh | bash
脚本会自动识别 GPU 类型、安装驱动和 XFCE 桌面。此过程约需 8-10 分钟。
五、 启动 Linux 桌面
打开 Termux-X11 App 并保持其在后台运行。
回到 Termux,执行启动指令:输入命令 ./start-hacklab.sh。
切换回 Termux-X11,显示画面:几秒钟后即可看到 Linux 桌面。
GPU加速功能正常,桌面响应灵敏,Linux各项功能使用正常。
如果需要访问手机存储,运行“termux-setup-storage”命令:

六、 进阶优化
1、分辨率调整: 在 Termux-X11 的“Preferences -> Output”中将分辨率设为 Custom,可以调整为手机原生的纵向或横向分辨率。
2、运行 Windows 应用
安装wine程序,下载Explorer++.exe。运行"wine Explorer.exe"命令,弹出windows视窗, 即可运行 Windows 程序。
该linux系统中内置了 FEX 或 Box86/Box64 模拟器,它会像同声传译一样,在运行的一瞬间把 x86 指令翻译成 ARM 指令,而Wine 负责把 Windows 的系统调用翻译成 Linux 的系统调用。
3、连接 PC: 如果需要在大屏幕上操作,可以使用 Scrcpy 工具将手机画面镜像到电脑上。在电脑的命令行上运行以下命令:
然后使用USB线缆将手机连接到电脑,在手机运行Termux-X11后就可以在电脑看到linux桌面,快捷操作。
这样旧手机变废为宝、轻松变身Linux主机。
如果说VNC传统方案更像是一种“远程看幻灯片”的体验,那么HackLab方案利用最新的驱动翻译技术(VirGL/Zink),让 Linux 能直接“点亮”手机的显卡,从而彻底杀死了 VNC 的延迟。因为 Android 允许普通 App 访问 Vulkan API,开发者为 Adreno GPU 编写了开源的底层驱动(Turnip),并配合 Zink(一个将 OpenGL 指令转换为 Vulkan 指令的工具),这套组合拳就像给 Linux 穿了一件“普通 App 的外衣”,直接骗过了系统防火墙,无须root权限便直达显卡核心。
如有任何观点,欢迎留言。
关注本公众号,回访不迷路:
https://github.com/jarvesusaram99/termux-hacklab