Termux第一次出现在Google Play商店是2015年。具体点说,软件2015年6月前后,软件一个叫Fredrik Fornwall的软件瑞典开发者把初始版本传了上去。当时Android 5.0刚铺开没多久,软件手机跑完整Linux工具链听起来像开玩笑。软件我手头还有一台2013年的软件Nexus 5,那会儿想在上面跑Python得靠SL4A加一堆脚本拼凑,软件体验稀碎。软件Termux出来之后,软件事情变了。软件
Fornwall这个人挺有意思。软件他本职是软件C#和Java开发,但一直对在移动设备上搞原生命令行有执念。软件2015年那版Termux其实很糙,软件包管理用的是自己写的apt,仓库里只有几十个包。但有个关键决策做对了:不依赖root,直接调用Android的bionic libc,把整个用户空间塞进app私有目录。这个思路比后来那些需要解锁Bootloader的方案高明太多。我记得2016年初在XDA论坛看到有人用它跑irssi挂IRC,电池掉得飞快,但确实能跑。
版本号能看出迭代节奏。0.1到0.5阶段基本是修bug和补基础工具,gcc、git、vim这些是后来才加进去的。2017年是个分水岭,Termux开始支持API 24以上的设备,也就是Android 7.0。那一年社区仓库爆发,python、nodejs、ruby全来了。我试过在2017年的Moto Z上装numpy,编译了四十分钟,手机烫得能煎蛋,但最后import成功那一刻真有点感动。这种体验现在很难复现了。
Google Play上的版本更新记录显示,2018年Termux的下载量突破百万。同年Fornwall把项目移交给社区维护,自己退到幕后。这个转折点很多人没注意。移交之后,Termux的Google Play版本在2020年停更了——因为Google对targetSdkVersion的要求越来越严,而Termux的架构跟新政策冲突。现在Play商店里那个是旧版,真正活跃的更新在GitHub和F-Droid上。我去年从F-Droid装了0.118版,包管理换成了apt的现代分支,还支持了X11转发,虽然实际用起来还是卡。
有个细节挺能说明问题。Termux的默认shell是bash,但Android的/system/bin/sh其实是mksh。Fornwall在早期提交记录里解释过为什么不用系统shell:因为要保证行为一致性。这种偏执让Termux躲过了很多Android碎片化的坑。我见过有人拿Termux跑SSH隧道做内网穿透,也有人拿它当下载机。最离谱的是Reddit上有个老哥用Termux加proot跑起了完整的Arch Linux,虽然性能只有树莓派的六成。
2021年之后,Termux的插件生态起来了。Termux:API能调摄像头和短信,Termux:Boot开机自启。这些东西单看都不复杂,但组合起来就有意思了。我自己的用法很土:拿它跑rsync备份照片到NAS,再挂个cron每天同步一次。没什么技术含量,但省了买树莓派的钱。社区里有人拿它做渗透测试,有人跑Minecraft服务器,还有人用它控制3D打印机。这些用法Fornwall当年肯定没想过。
回到年份问题。2015年首发,2017年成熟,2020年转折,2023年还在更新。八年多的时间,Termux从一个实验品变成了Android上最靠谱的终端模拟器。说它是“软件”其实不太准确,更像一个微型发行版。Fornwall在2019年的一次访谈里说,他做Termux的初衷是“不想带笔记本出门时也能改代码”。这个需求现在被满足了,虽然代价是手机电池越来越不耐用。
如果你现在想装,别去Google Play。去F-Droid或者GitHub Releases下最新版。旧版在Android 12以上会闪退,而且仓库地址是失效的。我上个月帮人配环境,从F-Droid装完第一件事就是换清华源,不然apt update能等到天荒地老。这些都是2015年那个初始版本没法想象的——那时候连个像样的镜像都没有,装个wget都得从源码编译。
