SXMO 指南:如何在旧智能手机上安装 Linux 终端

  • 使用虚拟化、Termux 或类似 Debian 的环境,在 chroot 或容器中运行,可以将旧智能手机用作 Linux 终端或迷你服务器,而无需完全替换 Android 系统。
  • Google 正在准备在虚拟机中使用 Debian 构建原生 Linux 终端,而 SXMO 等项目以及 GNURoot Debian 或 XServer XSDL 等工具则为不同级别的控制提供了替代方案。
  • 引导加载程序的限制、性能和硬件决定了可行的解决方案类型,但即使是配置一般的移动设备也可以用于轻量级开发、远程管理和学习 Linux。
  • 将旧的安卓设备重新用作 Linux 机器可以减少电子垃圾,并让你拥有一个便携式实验室来试验服务器、脚本和系统工具。

SXMO 指南:如何在旧智能手机上安装 Linux 终端

如果你抽屉里有一部积灰的旧手机,你可能不需要买一台迷你电脑来捣鼓它。那部看起来该扔掉的手机,其实内心深处仍然有用武之地。 一台完整的Linux计算机被塞进了一个小小的机箱里。它配备的屏幕、电池、WiFi 和处理器足以应对许多任务。

的想法 将手机连接到显示器把键盘插上去,像使用小型台式电脑一样使用,这并不是什么新鲜事。多年来,用户群体一直梦想着能做到这一点。 利用 Android 作为基础来运行真正的 Linux 系统无论是通过虚拟化、chroot、容器、Termux,还是直接使用 SXMO 等环境将 Android 替换为移动发行版,我们将逐步介绍您今天可以做的所有事情,将旧智能手机变成一个功能齐全的 Linux 终端。

为什么值得将旧智能手机改造成 Linux 终端

整个实验的妙处在于,尽管制造商将其作为“普通手机”出售,但其内部却蕴含着…… 一个精简版的 Linux 系统,适配 Android 生态系统阻碍你的不是硬件,而是设计用于打开触摸应用、社交网络和游戏的底层,而不是用于编译代码或管理服务器的底层。

如果你成功搭建了一个类似 Debian 的环境、一个轻量级桌面系统,或者像 SXMO 这样的极简界面,那么这部手机就会瞬间变成…… 一种始终可用的工作终端你可以通过投屏或线缆将其连接到显示器,配对蓝牙键盘和鼠标,并将其用于开发任务、远程管理或学习 Linux。

此外,还有一个明显的生态动机:你重复使用的每一部手机都是如此。 少了一件最终变成电子垃圾的小玩意儿。与其弃置旧的 Galaxy、荣耀​​或华为手机,不如将其回收利用,用作迷你服务器、测试设备或 24/7 全天候指挥控制台,而且功耗极低。

对于那些已经在桌面系统上使用 Linux 的用户来说,在 Android 系统上尝试这些解决方案意味着 熟悉的环境,但采用超移动格式外壳、软件包、脚本、网络工具……所有东西都感觉非常相似,只是都被塞进了口袋大小的屏幕里。

Android 中的虚拟化:终端应用程序中的 Debian

Android开源项目(AOSP)透露,谷歌正在研发一项非常重要的计划: 一个集成到系统本身的终端应用程序,用于启动 Debian 虚拟机。它不是典型的功能有限的游戏机,而是一个完整的 Linux 系统,运行在 Android 系统中,充分利用了虚拟化框架。

其目的是在设置中增加这样一个选项。 “Linux 开发环境”或“Linux 终端”激活后,它会下载 Debian 镜像,配置虚拟机,并允许您随时启动高级终端。所有这些都将成为手机、平板电脑甚至部分 Chromebook 上的一项 Android 功能。

该应用程序的目标是让您能够 调整分配给虚拟机的存储空间、管理分区、转发端口并配置微调参数这与在桌面虚拟机管理程序上进行的操作类似。该系统依赖于大多数移动电话使用 ARM 架构这一事实,而 Debian 对该架构有着成熟的支持,因此性能可以相当出色。

这种方法有一个关键优势: 它不会破坏安卓系统,不需要root权限,也不涉及任何奇怪的修改。Debian 运行在虚拟机中,与其他系统隔离,但又具备足够的集成度来利用网络、一些存储以及可能的硬件,例如键盘或输入设备。

对于开发人员、系统管理员或高级用户而言,这打开了通往以下领域的大门: 使用手机作为小型开发和测试环境您可以编译项目、设置测试服务、使用脚本自动执行任务、管理 Git 存储库,所有这些都无需依赖主 PC。

对安卓系统的影响:从偶尔的噱头变成真正的优势

这听起来可能只是个小众的想法,但谷歌在安卓系统中引入一个功能强大的Linux终端确实会产生一些副作用。如果开发者能够 直接在您的 Pixel 手机或平板电脑上测试和调试应用程序开发周期得到改进,错误能更早被发现,应用程序的质量也能得到提升。

在此之前,任何想要实现类似功能的人都不得不求助于第三方工具(Termux、容器、chroot 等),而这些工具的维护程度参差不齐。有了官方解决方案, 这有助于提高稳定性、安全性和未来兼容性。这会鼓励更多的人利用这类工作流程。

然而,种种迹象表明,这款集成终端将首先应用于 Pixel 系列手机和最新版本的 Android 系统。 可能从安卓16开始与此同时,我们其他用户仍然依赖社区解决方案在 Android 上运行 Debian 或类似环境。

即使你只用手机上 WhatsApp 和社交媒体,这种变化也有帮助: 更好的开发者工具意味着更好的最终应用最终,Android 和 Linux 更好地融合,将使整个生态系统受益。

SXMO:一个面向“纯”Linux移动设备的极简环境

SXMO 似乎是专为那些喜欢精益求精、追求完美的人而设计的项目之一。它的座右铭“极简、移动、可定制”完美地概括了它的精髓。 一个轻量级、以终端为中心的环境,专为小屏幕设计与 Android 或 iOS 典型的杂乱界面截然不同。

与在 Android “内部”运行 Linux 不同,SXMO 通常用作 原生安装的Linux移动发行版中的接口层 在手机上。也就是说,在兼容的设备上,Android 系统消失了,手机变成了一台功能齐全的 Linux 机器,SXMO 是它的对外界面;此外还有其他替代方案和类似项目,例如…… GNOME Mobile 和 Phosph 遵循同样的极简主义理念。

如果目的是将智能手机回收再造成终端,那么SXMO就是一个完美的选择。 主要以文本模式工作,使用非常轻量级的应用程序,并且频繁使用键盘。这就像口袋里一直装着一个随时开启的指挥中心,外加一些极简的视觉辅助工具。

然而,要达到那个程度,你需要能够解锁引导加载程序并刷入一个备用ROM,而这…… 在目前市面上销售的移动设备上,这并非总是可行。许多制造商强烈阻止这一路径,因此 SXMO 仅限于专为移动 Linux 而设计的特定型号或设备。

Termux:Android 平台上必备的 Linux 终端

SXMO 的指南:如何在旧智能手机上安装 Linux 终端

在谷歌推出官方解决方案的同时,对于那些想在移动设备上使用 Linux 的用户来说,Termux 仍然是经典之选。这款应用之所以享有盛誉,是因为 它提供了一个与标准Linux发行版非常接近的终端环境。配备软件包管理器、相当完整的软件仓库和 有用的 Termux 命令.

使用 Termux 可以安装 编程语言,例如 Python、Ruby、PHP、Node.js、Rust 或 Java除了 Git、GCC、Make 等开发工具外,它还包括 SSH、rsync 等管理工具,甚至还有 Web 服务器和数据库服务器,让您无需离开 Android 即可设置一个迷你实验室。

要管理软件包,Termux 推荐使用以下命令。 pkg 作为 apt 的简化接口。此包装器让您无需不断担心“apt 更新”,使软件安装和更新更加方便直接。

如果您担心将 Termux 集成到您常用的工作流程中,您可以克隆您的 Termux 实例。 来自 Git 仓库的 dotfiles 并复制您的 shell 配置、编辑器、别名等。此外,还有用于使用 pass 和 gnupg 管理密码、通过 openssh 访问远程服务器或使用带有现代实用程序(zoxide、starship、ripgrep、lsd、bat、atuin 等)的高级 shell(如 fish)的软件包。

您还可以通过安装将 Termux 转变为强大的编辑环境。 Neovim及其常用插件只要稍加配置,你就能得到与桌面设置非常相似的环境,但它运行在你的口袋里,并通过 SSH 连接到你的存储库和远程基础设施。

在不修改引导加载程序的情况下,在 Android 上安装 Debian 或其他发行版

如果你想在 Android 系统上安装更经典的 Linux 发行版,但又无法(或不想)解锁引导加载程序,那么有一些非常有趣的折衷方案。多年来,社区一直在记录基于 [不确定 - 可能是“bootloader”或“bootloader”] 的方法。 Android 上的 chroot、容器和 X 服务器 组装完整的图形环境。

一种传统方法是在已root的移动设备上使用Linux Deploy。该工具负责…… 准备文件系统,下载发行版(例如 Debian),并使其准备就绪。 在服务器模式或用户环境下,可从设备本身或通过网络从外部访问,适用于 使用手机作为本地服务器进行快速测试.

另一个相当流行的组合,尤其是在你没有root权限的情况下,是: GNURoot Debian 以及 XServer XSDLGNURoot Debian 在 Android 中挂载一个提升权限的 Debian 用户环境,而 XServer XSDL 则充当图形服务器来显示 Linux 桌面。

此配置的典型工作流程是:安装 GNURoot Debian,打开它,然后会看到一个控制台。从控制台运行“apt-get update”命令,然后…… 您可以使用“apt-get install lxde”命令安装像LXDE这样的轻量级桌面环境。这个过程可能需要一段时间,因为它需要下载很多软件包,才能保证所有功能正常运行。

然后通常会添加一些基本工具,例如 xterm、Synaptic 软件包管理器以及 pulseaudio 音频支持使用类似于“apt-get install xterm synaptic pulseaudio”的命令,即可在Debian环境下安装图形终端模拟器、软件“商店”以及兼容应用程序的声音输出。

同时,您还需要安装 XServer XSDL。首次运行时,它会询问您…… 下载字体,设置分辨率和DPI然后屏幕就变成蓝色,等待 Debian 远程桌面连接。

然后返回 GNURoot Debian 并导出一些环境变量,例如: DISPLAY=:0 和 PULSE_SERVER=tcp:127.0.0.1:4712这会告诉系统要连接到哪个图形和声音服务器。最后,使用“startlxde &”启动桌面,然后返回 XServer XSDL,此时您的 LXDE 应该就可以使用了。

通过这种方法,您可以进行虚拟安装。 任何来自发行版软件仓库的适用于 ARM 架构的应用程序始终在手机内存和存储空间的限制范围内。只要硬件能够承受,轻量级浏览器、文本编辑器、SSH客户端、音频播放器和文件管理器都能流畅运行。

与安卓系统的集成度相当不错: 您可以利用系统的 WiFi 和数据连接功能。因此,您无需在 Linux 系统中从头开始配置网络。如果您配对蓝牙键盘或连接 Android 可识别的 USB 外设,它们通常也可以在 Linux 桌面系统中使用,几乎无需任何额外设置。

如果您想更进一步,可以通过 Chromecast 或类似设备将手机中的图像发送到电视或显示器上。这样,您的智能手机就变成了…… 一台简易的Linux迷你电脑连接到客厅的屏幕配备无线键盘和鼠标,足以满足轻型办公工作、网页浏览和远程管理任务的需求。

性能限制和实际用户体验

理论上,这个想法很诱人,但最好还是脚踏实地。所有这些解决方案,无论是虚拟化、chroot 还是 Termux, 它们对移动硬件的要求比其最初设计的要求更高。底层运行着额外的层(Android),这意味着资源消耗和一些性能损失。

即使是像 Nexus 6 或现在同级别的手机,曾经也被认为是中高端机型。 完整的Linux桌面系统运行速度明显慢于传统PC。如果内存或存储空间不足,同时打开多个大型应用程序、管理多个窗口或运行后台服务可能会带来一些不便。

好消息是,对于许多控制台任务和轻量级管理而言, ARM 架构上的 Linux 系统与 x86 架构上的 Linux 系统表现非常相似。在几年前的大多数不错的设备上,编辑文件、管理服务、启动小型脚本、管理容器或移动文件都能流畅运行。

对于喜欢摆弄各种东西的人来说,拥有……这一事实本身就很有吸引力。 口袋里随时装着一套可用的 Linux 系统 虽然性能上有所限制,但它的功能却非常强大。能够直接通过手机搭建测试服务器、修改软件包、自动备份或进行网络实验,这种体验令人着迷。

重要的是要调整预期:这些设备不会取代你的工作笔记本电脑,但是…… 是的,它们可以处理许多次要或紧急任务。它们非常适合用作实验室进行学习,而不用担心损坏主要设备。

如果无法解锁引导程序会发生什么?

当有人认真考虑在手机上刷入Linux系统时,引导加载程序是关键所在。如果没有对引导管理器的访问权限, 您无法安装其他 ROM 或用完整的移动发行版替换 Android 系统。无论硬件允许的极限是多少。

在某些特定型号中,例如三星 A54、荣耀 10 Lite 或华为 Mate 20, 制造商的限制可能会完全阻止引导加载程序的解锁。 或者他们把风险设置得太高,以至于不值得付出努力。在这种情况下,就别指望原生支持 SXMO 了:这条路已经走不通了。

不过,也并非完全没有办法。你仍然可以采用完全在安卓系统上运行的方法,例如 GNURoot Debian + XServer XSDL、Termux 或类似的解决方案。 你不会得到一个完整的系统替换,但你会得到一个功能相当强大的 Linux 环境。非常适合终端任务、迷你服务器和软件包测试。

如果你的目标主要是 使用性能良好的终端,尝试使用 Debian 系统,或者搭建一个可通过 SSH 访问的服务器。这些方法比强行在非专用设备上安装引导加载程序要安全得多,也更不容易造成创伤。

实际上:如果没有官方认可、有据可查且安全的解锁方法,最明智的做法是…… 利用“基于安卓系统”的解决方案,告别深度刷机。尤其是如果手机仍然很值钱,你不想冒着让它无法使用的风险。

开始前的最低要求和最佳实践

在开始在旧安卓设备上安装发行版和桌面环境之前,最好先了解一些基本要点。 不要在过程中途停滞不前首先要考虑的是存储空间:对于只包含基本应用程序的轻量级桌面安装,通常建议至少预留 3 GB 的可用空间。

如果您计划安装更多软件包、数据库服务器、集成开发环境 (IDE) 或添加大量多媒体内容, 空间越大越好。请注意,发行版镜像、下载的软件包和用户数据可能会迅速增长,尤其是在存储速度较慢的手机上。

内存和SoC也很重要。一个后台服务很少的纯控制台环境,即使在配置一般的设备上也能运行得相当不错,但是…… 即使是轻薄型台式机,配备更多内存和性能不错的CPU也能带来更好的体验。如果你的手机运行现代应用程序都很吃力,那么运行图形化的Linux系统可能会更加吃力。

别忘了安全问题。从可疑的软件仓库安装软件包、随意打开端口或让服务不设密码,都是酿成灾难的根源。即使是老旧的手机, 它与你的网络相连,可能会成为安全漏洞。 如果你不像对待家用服务器那样精心维护它。

最后,务必备份数据。在遇到分区、root权限或恶意工具等问题之前, 确保您的重要数据安全如果手机仍然可以用作备用设备,请考虑保留 Android 系统,仅选择 Termux、容器或终端应用程序等解决方案。

将旧安卓设备改装成Linux终端的实际应用

抛开极客属性不谈,将智能手机改装成 Linux 机器还可以用于相当严肃的用途。一个非常典型的例子是将其配置为…… 用于个人项目的常开迷你服务器例如,像 安全家庭文件服务器:轻量级 Web 服务器、用于自动化的自制 API、消息机器人、备份服务器或某些 P2P 网络的节点。

与电脑或传统服务器相比,手机的能耗微乎其微,因此非常适合那些不需要太多电力但需要全天候运行的服务。 使用 Debian、Termux 或类似的环境,您可以轻松使用在普通服务器上会用到的大部分工具。.

它也是一台非常适合无忧学习 Linux 的机器。你可以把它专门用于…… 学习如何在安卓手机上安装Linux 您可以在不触碰主电脑的情况下,尝试使用终端、文件系统、用户、权限、软件包和服务。如果出现问题,您可以删除 Android 系统并重新安装。

对于开发者而言,在移动设备上直接安装 Debian 或类似系统可以让你: 测试脚本、检查依赖项、编译轻量级项目或设置测试环境 无论你身在何处,有了蓝牙键盘,如果你愿意,还可以外接显示器,万一你出门在外没带笔记本电脑,你就有了一个非常不错的“备用方案”。

如果你喜欢极简系统,可以考虑基于 SXMO(在少数兼容的手机上)或基于……的设置。 Debian 与轻量级应用程序的组合 这是一个绝佳的自定义工作流程平台。从窗口管理器到键盘快捷键,你可以根据自己的喜好对所有内容进行微调。

最终,将一部旧智能手机改造成 使用 SXMO、Debian、Termux 或未来原生 Android 终端的 Linux 终端 这不再是遥不可及的梦想,而是只要花点时间和耐心钻研就能实现的。随着官方解决方案的不断涌现、社区现有工具的完善,以及许多老款手机依然强大的性能,我们可以轻松地将抽屉里被遗忘的小玩意儿变成一台随时准备学习、开发并减少技术浪费的小型电脑。

用手机作为电脑的键盘和鼠标
相关文章:
如何将手机用作电脑的键盘和鼠标