☰
安卓手机打造Linux环境:Termux安装与实用指南
2026/10/17 12:46:27 网站建设 项目流程

1. 项目概述:Termux到底能做什么

1.1 核心需求解析

先说结论:Termux是一个运行在安卓系统上的终端模拟器,但它不是那种简单的“假装自己在用Linux”的玩具。它本质上是在安卓系统里构建了一个真实的Linux用户空间环境,让你能在手机上跑Linux命令、安装Linux软件包、甚至运行完整的Linux发行版,比如Ubuntu、Debian、Arch Linux这些。

这个项目标题里的三个关键词,我拆开来说一下:

  • 安卓系统:这是宿主机,Termux依赖安卓的Linux内核来工作。
  • Linux环境:Termux自带了一个精简的Linux环境,基于AOSP(Android开源项目)的bionic libc,兼容大部分Linux命令行工具。
  • 安装Linux应用:这是整个项目的核心目的。利用Termux内置的pkg包管理器,可以直接安装数以千计的Linux软件,从vim、git到Python、Node.js,再到完整的桌面环境,统统可以搞定。

1.2 适合谁来看这篇内容

如果你属于下面这几种情况,这篇文章对你绝对有用:

  • 手头只有一部安卓手机,想在通勤路上写点Python脚本、维护一下服务器、顺手敲两行git命令,又不想随身背笔记本电脑。
  • 对Linux系统感兴趣,想从零开始接触命令行,又没有多余设备去装一个完整的Linux发行版,想先在手机上低成本体验。
  • 已经有一台主力电脑,但希望把手机变成“随身携带的Linux工作站”,临时处理点技术任务。

我最初接触Termux是某次出差忘了带笔记本,临时需要一个终端环境去排查一个生产环境的网络问题。当时手机里正好装了Termux,装上SSH客户端就连上了服务器,问题很快解决了。从那以后,它成了我手机里的固定应用。


2. 环境安装与基础配置

2.1 Termux的安装方式与版本选择

关于安装,这里有个很多新手第一次就踩坑的地方。如果你直接去各大应用商店搜“Termux”,很可能会搜到一堆山寨、加料或者长期不更新的版本。真正官方、靠谱的渠道是以下两个:

  • F-Droid:这是一个开源应用商店,里面收录的Termux是官方发布版,最重要的一点是维护非常活跃,更新及时。
  • GitHub Releases:Termux官方在GitHub上有发布页面,直接下载最新的APK安装包,这也是完全可靠的渠道。

我个人推荐优先用F-Droid版本。某次我在某应用商店下载了一个“Termux”,打开后不仅界面有广告,执行命令还会时不时弹一个“加速优化”的提示,这明显是被打包过的。换到F-Droid版本后,干净省心,再也没有出过怪问题。

2.2 换源与基础包更新

Termux安装完成,打开后你会看到黑乎乎的终端界面,此时的软件仓库默认指向的是官方源。在国内网络环境下,官方源访问速度非常不稳定,动不动就超时。所以第一步就是换源,换成国内的镜像源。

Termux从某个版本开始内置了termux-change-repo这个命令,专门用来切换软件源。操作流程是:

  1. 在终端里输入termux-change-repo,回车。
  2. 屏幕会弹出一个选择界面,勾选你所在的地区对应的镜像源。
  3. 选择完成后,再执行pkg update和pkg upgrade把基础索引和系统包更新到最新。

如果termux-change-repo命令不存在,或者你想手动改源,可以直接编辑$PREFIX/etc/apt/sources.list文件。把里面的官方源地址替换成某个国内镜像站点的Termux源地址,保存退出后执行pkg update即可。

更新系统包这一步里,pkg upgrade尤其重要。原因是Termux的整个环境会随着安卓系统和应用版本的变化而变化,如果长时间不升级基础包,后面装软件很容易出现依赖库版本不匹配的问题。我见过有人直接跳过升级步骤,后面装Python的时候编译报错,排查了半天归根到底居然是基础包太旧。

提示:执行pkg upgrade之前,建议先确认一个习惯性的前提——手机要连着稳定的网络,最好是Wi-Fi。Termux的包总量虽然不大,但更新过程如果中途断网,很可能把包管理器的索引文件搞坏,最后还得手动修复。


3. 核心环节:在Termux中搭建Linux环境

3.1 为什么Termux能提供Linux环境

Termux的原理,值得简单说一句。安卓系统底层就是一个Linux内核,Termux利用了这个内核,在用户空间跑了一套Linux运行时。它没有像虚拟机那样去模拟一个硬件环境,而是直接调用了安卓系统的Linux内核能力,这样性能损耗极小,几乎等同于在真机运行。

Termux自带的环境叫作base,里面包含了bash shell、coreutils(最基础的命令行工具集)、包管理器pkg等。你可以把它理解成是一个小型的、精简的Linux发行版,只是它的用户空间构件和常见的桌面Linux发行版不太一样。

3.2 文件系统与存储权限

进入Termux后,你默认的目录是$HOME,在Termux里对应的路径是/data/data/com.termux/files/home。这个目录在安卓系统里属于应用私有目录,其他应用默认访问不到。

如果你需要访问手机共享存储,比如SD卡、下载目录、相册目录,得先授权。Termux的方式是执行:

termux-setup-storage

执行之后,系统会弹出存储权限请求,点击允许。接着你的$HOME下会多出一个storage目录,里面软链接了手机的几个常用目录:

  • storage/shared:对应整个共享存储空间
  • storage/downloads:对应下载目录
  • storage/dcim:对应相册目录
  • storage/pictures:对应图片目录

这里有一个我踩过的坑需要提醒:授权存储权限的最佳时机是在安装完Termux之后马上做,别等装了一大堆环境了才想起来。因为后续配置SSH、传输文件、拷贝脚本,很多操作都依赖访问共享存储的能力。临时补授权虽然也能用,但那时你会发现有些服务进程已经启动,改环境变量或者重启服务的折腾程度远大于一开始就顺手搞定。

3.3 基础工具包的安装策略

Termux里的包管理命令是pkg,它实际上是apt命令的一个封装。日常用法等同于Debian系Linux的APT,只是把源指向了Termux的仓库。

在搭建环境之前,我建议先把下面这几个包装上,它们是后续大多数操作的基础:

pkg install vim git openssh python nodejs

这几个包各自的作用很清晰:

  • vim:终端文本编辑器,写配置、改脚本都得用到。
  • git:代码版本管理,很多工具和项目都得通过git来拉取。
  • openssh:远程连接服务器,或者在手机和电脑之间传输文件。
  • python + nodejs:两个最主流的脚本语言运行时,跑脚本、写小工具完全够用。

安装完这些,做一个快速验证。执行python --version和node -v,能看到版本号输出,说明环境正常。此时你已经在手机上拥有了一套可用的Linux命令行环境,接下来的事情,都是在这个基础上扩建。


4. 进阶搭建:完整Linux发行版环境

4.1 proot-distro方案

Termux自带的环境虽然能跑起来,但它毕竟不是完整的Linux发行版。很多依赖特定发行版特性的软件,比如某些只提供deb安装包的软件、某些依赖glibc库的闭源软件,在Termux原生环境里是安装不了的。原因是Termux默认使用bionic libc,和桌面Linux普遍使用的glibc存在差异。

解决这个问题最优雅的方案是利用proot-distro工具。这个工具允许你在Termux里快速安装和运行完整的Linux发行版,比如Ubuntu、Debian、Arch Linux,而且不需要root权限。

安装proot-distro:

pkg install proot-distro

然后安装一个Ubuntu发行版:

proot-distro install ubuntu

这个命令执行完,系统会给你安装一个完整可用的Ubuntu用户空间环境。要进入这个环境,只需要执行:

proot-distro login ubuntu

进入之后,你会看到shell提示符变化,此时你已经身处一个正宗的Ubuntu环境里,可以用apt安装任何Ubuntu源里的软件包。

4.2 为什么无root方案值得推荐

这里想多说一句关于root的问题。很多人总觉得,在手机上搞Linux环境就必须得root手机,没有root就干不了正事。其实这是一个根深蒂固的误解。

proot-distro的原理在于,它利用了一个叫作proot的用户态程序来模拟chroot环境。通过ptrace系统调用,它能拦截和分析程序的文件系统访问请求,并把原本指向安卓系统根目录的路径重定向到你的Linux发行版实际所在的目录。这个过程完全运行在用户空间,不需要修改系统分区,也不需要获取root权限。

这种方案的好处是什么?

  • 安全性高。不会破坏手机系统,玩坏了环境直接删掉重装,对手机本体毫无影响。
  • 方便日常维护。不用解锁bootloader、不用刷第三方Recovery、不用担心手机变砖。
  • 升级成本低。安卓系统升级了,Termux和Linux环境还能照常工作。

你可能会问,proot方案和真正的chroot或者虚拟机相比,性能是不是很差?说实话,确实会有一些性能损耗,毕竟每次系统调用请求都要经过ptrace的拦截和重定向。但是对于大部分日常任务,比如写代码、跑脚本、编译小项目做测试,这个性能完全够用。

4.3 修改Linux发行版软件源

进入Ubuntu环境之后,默认的软件源指向官方源,同样存在访问速度的问题。需要编辑/etc/apt/sources.list文件,把源替换成国内镜像站点的地址。具体替换方法和Termux换源的逻辑一样,将archive.ubuntu.com替换为镜像站点地址即可。

替换完成后,执行:

apt update apt upgrade

到这一步,你已经拿到了一个网速飞快的、中国网络环境下可流畅使用的完整Ubuntu环境。


5. 图形界面:在安卓手机跑Linux桌面

5.1 两种主流方案:X11与VNC

使用Termux搭建Linux环境,除了玩命令行,还有一个更炫酷的玩法是跑图形界面。这里主流方案有两个:

  • X11转发 + Termux:X11 应用
  • VNC Server + VNC Viewer 应用

我两个方案都实测过,直接说结论。

Termux:X11方案是目前体验最好的。Termux官方的X11仓库里提供了完整的X11服务端组件,配合Termux:X11这个专用安卓应用,能够以很低的延迟把Linux桌面渲染到手机上。你甚至可以设置在前台渲染、悬浮窗渲染等不同模式,交互手感非常接近桌面级。

安装命令:

pkg install x11-repo pkg install termux-x11-nightly

然后再安装一个轻量桌面环境,比如LXDE或者XFCE:

pkg install lxde

启动的时候,先打开Termux:X11应用,然后在Termux终端里执行:

export DISPLAY=:0 startlxde

桌面就会出现在手机屏幕上。这个方案的优点是没有复杂转发链路,性能损耗很小,触控操作响应灵敏。

VNC方案则是传统的做法。在Termux里启动一个VNC服务端,手机上装VNC Viewer去连接它。这个方案的好处是兼容性好,任何平台都能连;坏处是操作延迟偏高,整体体验不如X11方案流畅。

5.2 图形界面踩坑记录

我最初跑图形界面是想在手机上用桌面浏览器。当时选的VNC方案,折腾了一个小时才看到桌面界面。中间遇到两个典型问题:

第一个问题是黑屏。启动VNC之后,VNC Viewer连接成功但显示完全黑屏。排查了半天,原因是忘了设置DISPLAY环境变量,或者桌面环境没有正确启动。解决办法是进入VNC会话后手动执行export DISPLAY=:1,然后再启动桌面环境,顺序不能反。

第二个问题是桌面环境启动后非常卡顿。这个问题的根源在于安卓手机屏幕分辨率太高,VNC默认只给了很低的颜色深度和分辨率。解决办法是启动VNC服务的时候手动指定分辨率,比如vncserver -geometry 1280x720 -depth 24,流畅度立刻提升了一个档次。

注意:图形界面只是尝鲜,实际用来办公或者跑复杂软件,手机端还是太受限。如果你只是想在手机上偶尔打开个Linux桌面看看效果,或者跑个轻量级应用,值得玩玩;但如果是要持久开工,建议还是回到命令行方案。


6. Linux应用安装实操与场景延展

6.1 命令行类应用的典型安装

一旦Linux环境跑起来,安装应用就和在桌面Linux上操作一模一样的逻辑。下面几个典型场景是我在实际使用中反复用到的。

场景一:安装Git并配置仓库。在Termux环境里执行:

pkg install git git config --global user.name "你的名字" git config --global user.email "你的邮箱"

然后就能执行git clone、git pull这些操作了。相比手机端的Git软件,Termux里的git是完整版,支持全部子命令和钩子脚本,配合openssh还能直接推到远程仓库。

场景二:搭建Python开发环境。执行pkg install python之后,再用包管理工具安装第三方库:

pip install requests flask

你手机瞬间变成了一台Python开发机。我实际试过用手机写一个简单的Flask应用,绑定了手机局域网IP,电脑上浏览器直接访问,运行非常流畅。

场景三:用Node.js跑脚本。装好Node.js之后,可以配合npm全局安装一些命令行工具,比如http-server,快速在局域网内共享一个静态文件目录。

6.2 带图形界面的Linux应用安装

如果你选择了proot-distro里的Ubuntu环境,那么恭喜,你可以直接安装Ubuntu仓库里的几乎所有图形应用。

例如在proot-distro login ubuntu之后:

apt install firefox apt install gimp

是不是听起来有点魔幻?但实际上确实可行。通过X11转发,这些图形应用可以直接在手机上打开运行。当然,需要明确的是,受限于手机的CPU和内存,运行复杂的桌面级应用会很吃力,比如让手机去跑一个庞大的集成开发环境,体验大概率是卡顿的。

如果你只是体验一下,或者跑一些轻量级图形工具,日子还是相当滋润的。

6.3 典型应用场景一:服务器管理帮手

这里分享一下我实际用得最频繁的场景,SSH连接服务器。

在Termux里装好openssh之后,执行:

ssh 用户名@服务器地址 -p 端口号

就能顺手连上服务器进行维护。相比电脑上的终端,手机上的Termux还有一个无可替代的优势——随时随地。服务器半夜挂掉了,不用爬起来开电脑,手机就能直接处理问题。我甚至有几次是在地铁上抢修服务器的,用手机在拥挤车厢里敲着命令,体验谈不上优雅,但确实能解决问题。

6.4 典型应用场景二:局域网文件共享

利用Termux搭建一个简单的文件服务器也是完全可行的。在Termux里安装python后,在你想要共享的目录下执行:

python -m http.server 8080

此时其他设备通过浏览器访问手机IP:8080,就能直接下载该目录下的文件。这比装各种手机版网盘软件简单多了,而且没有广告、不需要注册账号。

如果你想要更完整一点的文件共享能力,可以考虑安装openssh自带的SFTP服务,在手机端开启服务,电脑端用FileZilla连进去,直接拖拉文件,体验和连Linux服务器没有区别。


7. 常见问题与排查技巧实录

7.1 pkg update 报错与修复

在Termux使用过程中,最常见的一个问题是执行pkg update时提示“Failed to fetch”之类的错误。基本上可以断定是软件源访问失败。

排查思路:

  1. 确认网络是否畅通,换一个网络试试。
  2. 重新执行一次termux-change-repo,切换到其他镜像源。
  3. 如果还是不行,手动编辑$PREFIX/etc/apt/sources.list,把源地址修改为其他可用镜像。

有些更新过程还会遇到密钥相关的报错,通常是因为放太久没更新,仓库的GPG密钥过期了。解决办法是手动下载更新密钥:

pkg install termux-keyring apt update

7.2 安装包时提示“Unable to locate package”

这个报错一般是软件仓库索引不完整导致的。你装好Termux之后,没有先执行apt update刷新索引,就去安装包了。

解决办法很简单,执行:

pkg update pkg install 包名

有些包可能位于特定的仓库里,比如x11-repo、root-repo,需要先安装对应的仓库源,再搜索安装相应的包。

7.3 proot-distro 登录Ubuntu后网络异常

进入Ubuntu环境之后,如果你发现DNS解析有问题,比如apt update提示域名解析失败,大概率是DNS配置没跟上。

排查思路是进入Ubuntu后执行:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

再次执行apt update,看问题是否解决。如果解决了,说明当前网段下的DNS配置存在问题,手动指定一个全球都能访问的DNS服务器即可。

7.4 VNC/X11连接后黑屏

这个问题在前面已经提到过。黑屏的基本原因有两种:

一是DISPLAY环境变量没有设置或设置错误。X11方案要求export DISPLAY=:0,VNC方案通常要求export DISPLAY=:1,需要根据启动参数来调整。

二是桌面环境没有正确启动。可以用pgrep查看桌面进程是否存在,若不存在,则重新尝试启动桌面环境,注意观察输出是否有依赖库缺失报错。

7.5 存储空间不足与缓存清理

Termux虽然轻量,但安装的发行版环境、图形应用等累积起来还是会占用不少存储空间。如果你的手机存储空间紧张,可以定期执行:

pkg clean

这个命令会清理包管理器缓存目录。另外,proot-distro安装的发行版环境可以随时删除重装,因为它是完全独立的目录:

proot-distro remove ubuntu

需要再次使用时重新安装即可,并不会影响手机系统本身。这种“玩坏了就删掉重建”的机制,也是无root方案最大的好处。


8. 实操总结:一个实用方案的整体回顾

梳理一下,在安卓系统上通过Termux搭建Linux环境并安装Linux应用,整个流程并不复杂。核心步骤归纳起来就三条主线:

第一,准备好Termux本体。选F-Droid版本或GitHub Releases版本,安装完成后先换源,再更新基础包,这是后续一切操作的地基。

第二,按需选择环境搭建方式。日常命令行任务,直接用Termux原生环境即可,安装git、python、nodejs这些工具完全够用;需要完整发行版环境的,用proot-distro安装Ubuntu或Debian,这是无root前提下最接近原生Linux体验的方案;对图形界面有执念的,可以在X11和VNC之间做选择,但务必抱有合理预期。

第三,用好这个随身环境。SSH连服务器、局域网共享文件、跑脚本写代码,每一个场景都能体现出手机端Linux环境的独特价值。

我个人在实际使用中最大的体会是,Termux不是那种“装了就吃灰”的玩具应用。它的价值取决于你是否真的需要随时随地的命令行能力。如果只是跟风安装体验,那大概率玩两天就卸载了;如果你确实有用终端的需求,它会变成一个日频使用的生产工具。

最后再分享一个经验之谈。Termux会定期发布一些重要的基础组件更新,尤其是在安卓系统大版本升级之后,最好及时执行一次pkg full-upgrade,把整个环境同步到最新状态。这样做可以避免很多将来才浮现的依赖问题。这个习惯,我一直保持着,很少出岔子。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询