iOS 终端程序
作为Linux运维和后台开发人员,以及 移动工作 爱好者,需要一个能够在iOS/iPadOS上良好工作的Unix 终端。当然,比不上Android平台的 Termux - Andorid终端 这么功能完善,但至少能够有一个支持中英文工作的终端,以及本地轻量级开发( Vim / Python 等)。
目前我所了解和简单试用的终端软件:
a-shell: 原生iOS终端 : 完全原生iOS程序,意味着轻量级快速和节能;但是,正是因为原生,也带来了极大的限制:
所有程序都需要使用特定的框架改写port,导致只有不多的程序得到移植(python/clang/javascript),缺乏很多Unix/Linux底层结合的程序(如果你恰好需要)
对中文文件编辑存在光标定位问题,这点非常困扰
iSH: Linux shell for iOS : 使用 QEMU 运行的定制化 Alpine Linux ,由于是完整虚拟化,所以几乎可以认为这是一个完整的Linux系统,优点和缺点都很明显:
完整的最轻量级Linux发行版,特别适合移动设备,启动非常迅速,远比 macOS平台QEMU实现:UTM 运行的 Arch Linux Debian 等大型发行版快速
作为路由器、 Docker 所选择的底层Linux发行版, Alpine Linux 具备了非常完善的Linux能力
官方虽然不断更新,但是毕竟需要做迁移定制,所以和 Alpine Linux 最新版本依然有很大的gap
实践发现无法使用
iPhone mirror
功能来控制(我原本想能够快速输入)如果需要比 a-shell: 原生iOS终端 更为复杂的本地开发环境,则非常推荐使用 iSH: Linux shell for iOS
macOS平台QEMU实现:UTM : 完整的 QEMU 虚拟化解决方案,目标是运行各种操作系统,所以也意味着庞大复杂
如果你的设备性能非常强悍,并且能够承受由于完全虚拟化的损耗,并且你希望能够得到主流Linux/Windows/macOS发行版的运行,那么只有选择
utm
过于复杂和沉重,我尝试了ARM架构的 Arch Linux 虚拟机,在 iPad Pro一代 上启动非常耗时并且容易出错,所以可能需要非常新的硬件才能顺畅运行