telegram 教程 Termux Linux 开源软件 Android软件 极客折腾

教程:使用 Termux 在安卓设备上安装 Linux 桌面环境

calendar_month 2023年01月30日 person ZGQ Inc. schedule 约 2 分钟阅读

作者: @ZGQinc 发布日期: 2023年1月30日

warning Warning

ℹ️ 温馨提示: 本文对网络稳定性要求有点高,为保证底层组件下载时不会发生意外中断报错,请务必确保您的网络环境(梯子)稳定性为佳。


序、前言

本文教各位如何在安卓神器 Termux 上安装完整的 Linux 桌面环境。对于有点 Linux 基础的(比如我)应该不算难事,0 基础的同学也别担心,本文的傻瓜式步骤对 0 基础的人来说也可以轻松上手。

ℹ️ 提示: 本文不授予 Linux 基础命令行知识,也不负责教如何从头使用 Termux。


一、准备工作

首先,我们需要安装好必需的底层 APP 工具:

  1. Termux (终端模拟器)
  2. VNC Viewer (虚拟显示器/桌面远程查看器)
  3. Andronix (简单几步自动化安装 Linux 环境的辅助利器)

打开 Termux 进行初始化解压,并输入命令授予存储空间读写权限,完成后即可开始搞机。

lightbulb Tip

ℹ️ 温馨提示: 为防止 Termux 进程在后台漫长下载解压时被安卓系统误杀,请进入手机设置,为 Termux 设置“忽略省电优化 / 允许后台高耗电”。


二、开始安装

事实上,在 Termux 上的 proot 环境中安装 Linux 桌面环境,就相当于在手机上安装了一个极度轻量级的虚拟机。 本文提供 2 种 Linux 版本安装方案:基础版系统(简单粗暴式)定制版系统(优柔寡断式)

方案 A:简单粗暴式 (官方原生部署)

借助 Andronix,我们可以简单几步无脑完成安装。

  1. 首先打开 Andronix,点击 Linux Distribution,选择你喜欢的 Linux 发行版。(如果你不知道选哪个好,这边无脑推荐 Ubuntu,选择最新的 Ubuntu 22.04 即可。)
  2. 接下来有 3 个选项,推荐直接点击 Desktop Environment (桌面环境)。
  3. 然后有 3 个轻量桌面环境可以选择:XFCELXQTLXDE。这些只是图形界面上有所不同,底层内核还是一样的,建议可以谷歌一下这三者在界面上的风格区别,选择适合自己操作习惯和审美的界面。
  4. 选择完毕后就可以开始部署安装脚本了。点击你的最终选择,Andronix 会自动复制一长串安装指令到系统剪贴板。
  5. 直接点击 Open Termux 自动跳转打开终端,粘贴指令并按回车,即可全自动部署安装。

安装过程中的选项配置:

  • 安装过程会问你几个可以自定义配置的问题,如果最后面出现 [Y/n],不知道怎么选那就直接一路输入 y 敲回车就行。
  • 如果出现数字编号的列表,通常是让你选择输入方式和系统时区,这时需要仔细查看并选择(选择 Chinese,选择自己所在的地区 Asia/Shanghai 即可)。

接下来会漫长地下载组件包并解压安装,请保持屏幕常亮并耐心等待。 安装完毕后,系统会要求你设置 VNC 查看器的连接密码:输入密码(注意 Linux 终端下输入密码是没有任何星号预览的,看起来像没输进去一样),输入完毕后回车确认。 当你在命令行看到 root@localhost 时,就说明大功告成,虚拟机已经成功安装并进入了终端环境(但此时还并不是直接的图形桌面环境)。

开启图形化桌面:

  1. 我们需要在 Termux 终端中输入 vncserver-start 并回车,进入选择分辨率的图形化配置界面,如果不会选择直接回车默认即可,目的是在后台开启 VNC 服务端进程。
  2. 然后打开之前安装好的 VNC Viewer,点击右下角的加号新建显示器:
    • Address 输入:localhost:1
    • Name 随便起一个名字,点击 CREATE。
    • (提示画质优化:VNC 查看器可以设置画质,在首页看到显示器右边的图标,点进去在 Picture quality 一栏强烈建议选择 High 以获得清晰的字体。)
  3. 点击下方的 CONNECT 连接,输入刚刚设置的 VNC 密码 (可选:勾选 Remember password 记住密码) 即可成功连接到真正的 Linux 桌面环境了!

如何规范关闭虚拟机:

  • 如果想要关闭虚拟机,必须在终端输入 vncserver-stop 并回车,输入 1 并回车,以规范关闭 VNC 服务端。否则下次启动 VNC 服务端会和旧的临时配置文件冲突报错,到时候你还是需要强制关闭一次。
  • 之后输入 exit 并回车,退回到原生的 Termux 终端,再次输入 exit 可完全杀掉并关闭 Termux 进程。

如何再次启动: 下次启动桌面环境需要依靠 sh 脚本来发出底层启动指令,可以查看 Andronix 官方文档,也可以通过 lsdir 命令查看目录中的启动脚本名称。下面列出了常见的完整启动指令脚本:

  • Ubuntu 18: ./start-ubuntu.sh
  • Ubuntu 20: ./start-ubuntu20.sh
  • Ubuntu 22: ./start-ubuntu22.sh
  • Debian: ./start-debian.sh
  • Manjaro: ./start-manjaro.sh
  • Arch Linux: ./start-arch.sh
  • Fedora: ./start-fedora.sh
  • Void: ./start-void.sh
  • Alpine: ./start-alpine.sh
  • Kali Linux: ./start-kali.sh

方案 B:优柔寡断式 (Andronix 破解定制版部署)

这个用 Linux 啊,讲究的就是一个优柔寡断(热爱折腾)。

细心的同学会发现 Andronix 首页有个叫 Andronix Modded OS 的版本,那是 Andronix 官方独家打包的极客定制版系统(内置了大量常用软件和桌面级深度优化),但仅对付费用户开放。本文作者曾试图直接破解 APP,但是很不幸,下载依赖需要严格的服务器验证,甚至需要动态 token 来授权访问 Andronix 存放镜像文件的云端服务器。

但是这并不能阻止白嫖破解的脚步!油管上有极客通过截包破解并分享了定制版系统底层的备份恢复包。

备注说明:

  • andronix-modded-debian-with-rootSuWorking.tar.gz 为 Debian 定制版。
  • andronix-modded-manjaro-with-rootSuWorking.tar.gz 为 Manjaro 定制版。
dangerous Caution

ℹ️ 硬核覆盖警告: 恢复此备份包会完全抹除并覆盖你之前原有的虚拟机数据,请在操作前务必做好重要文件的备份!

恢复教程: 下载完备份包后,将其放到手机内部存储的一个已知目录下,接下来开始硬核恢复备份包操作:

  1. 打开 Termux,输入授权命令 termux-setup-storage 并回车,允许获取存储权限。
  2. 输入以下长串解压命令(注意:你需要自行改动方括号里的路径和文件名称内容以严格匹配你的实际情况):
    1
    
    tar -zxf /storage/emulated/0/[存放备份包的路径]/[文件名称].tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissions
    
  3. 回车执行,Termux 会开始将备份包的内容静默解压恢复到系统深层沙盒目录,请耐心等待。
  4. 解压完成后,你需要杀死当前会话并新建会话来刷新系统列表:输入 exit 并回车杀掉应用,然后重新打开 Termux。
  5. 启动定制版系统的环境指令:
    • 如果你选择了 Debian 定制版,启动指令为:./start-androdeb.sh
    • 如果你选择了 Manjaro 定制版,启动指令为:./start-androjaro.sh

接下来系统会自动连接外网下载定制版的额外依赖包并安装配置,请耐心等待。全部跑完之后,按照上面方案 A 简单粗暴式中连接 VNC 的步骤照猫画虎一下,即可成功用上极其美观且预装丰富的破解版 Andronix Modded OS!

(定制版备份包来源出处:YouTube 破解教程原始视频)


三、后记

本文是 1 年前我在软天空写的《如何在安卓设备上安装 Linux 终端 外加桌面环境》的重制进化版。因为 Andronix 在不久前大版本更新到了 7.0 架构,所以打算重新系统地写一下教程,希望能帮到那些从零开始想学 Linux 但手头没有电脑的人,也能帮助各路 Linux 带师们随时随地掏出手机整骚操作。


🄯 许可证协议

本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 🄯 进行许可授权。转载请务必注明作者信息及出处。

share 分享到 Telegram
arrow_back KnoxPatch:强行复活已熔断的三星 Knox 依赖服务 深度吃瓜:逆向解包揭秘 PikPak 与迅雷的微妙关系 arrow_forward