在你的安卓手机上使用 Linux 终端

使用文本编辑器,SSH 进入计算机,甚至直接从你的掌中维护你的 Kubernetes 集群,尽在 Termux。
182 位读者喜欢这篇文章。
tux and android stuffed animals on shelf

Quinn Dombrowski 通过 Flickr。 CC BY-SA 2.0

说到超移动计算,我更喜欢 PocketCHIP 或带有屏幕的 树莓派,而不是手机或平板电脑。 这些解决方案提供了一个纯粹的 Linux 环境,它尽可能地开源,并且不会对我期望的工作方式做出任何假设。

但是,有时候我唯一携带的就是手机。 虽然有很多非常棒的安卓应用程序,但对于简单的任务来说,很多都感觉有点杀鸡用牛刀,尤其是在知道在我的 Linux 桌面上的一个简单终端中可以完成多少事情之后。 我不是唯一有这种感觉的人,这就是 Termux 项目诞生的原因。

Termux 是一个安卓平台的终端模拟器和 Linux 环境应用。 它也不需要你 root 你的设备。

Termux 会自动安装一个最小的基本系统,并且可以使用软件包管理器安装其他软件包,就像你在 Fedora、Debian 或类似的系统上所做的那样。

安装 Termux

安装 Termux 就像在你的安卓设备上安装任何应用一样简单。 你可以使用默认的 Google Play 商店或者开源应用仓库 F-Droid

你也可以 下载源代码 并自行编译。

类 Linux 的 Android

一旦你在手机上安装了 Termux,你实际上就拥有了一个最小的 Linux 系统,它作为应用程序运行在你的(基于 Linux 的)Android 设备上。 你可以使用大多数你熟悉的常用终端应用程序,或者现在你可以在手机上熟悉它们。 最重要的是,Termux 界面提供了软件 Ctrl、Alt、Esc 和方向键,因此必要的快捷键很容易输入——即使是在虚拟键盘上。 在长途旅行中,我更喜欢随身携带一个蓝牙键盘,这样我就可以像在桌面或笔记本电脑上一样轻松地使用 Termux。

默认情况下,Termux 运行 Bash

$ echo $0
/data/data/com.termux/files/usr/bin/bash

你习惯的大多数命令都会按预期工作,无论是内置的 Bash 命令,还是常用的 Linux 命令和实用程序。 还有其他几个 Shell 可用,包括 Zshtcsh

安装命令

如果你习惯了 Linux,或者甚至是 Mac 上的 Homebrew 或 Windows 上的 Chocolatey,那么你已经知道如何为 Termux 安装更多命令。 它的后端软件包管理器是来自 Debian Linux 的 Apt,但 Termux 使用 pkg 命令作为简化的前端界面。 结果近似于 Fedora 的 DNF 体验的一致简洁性,我希望看到 pkg 作为更多平台上的抽象层(想象一下在 Debian、RHEL 和 Slackware 上使用相同的软件包管理命令)。

我安装的第一个软件包是一个简单的文本编辑器

$ pkg search jed
[...]
jed/stable 4.6-4 aarch64
Lightweight text editor
$ pkg install jed

运行 Jed 与在我的 RHEL 桌面上运行它完全相同。 两者都在终端中运行并使用相同的键盘快捷键。 这正是我想要的移动体验:与我的桌面相同。

远程控制

文本编辑器是一回事,但 Termux 在你第一次 SSH 进入计算机时才显示出它的真正潜力。 通过这个简单的终端,你可以登录到你有权访问的任何网络上的任何计算机。 你拥有一个便携式控制台,你可以将其用作主机或作为终端进入你可以使用的任何计算能力。

但这并不止于 SSH。 Termux 有一个 kubectl 软件包,因此通过在 kubectl 中使用 use-context 选项,你可以从任何地方维护你的 Kubernetes 集群。

为 Termux 贡献

关于 Termux,我最喜欢的事情之一是它消除了为移动项目做贡献的一个重要障碍。 所有当前的开源移动平台都是 Android 或基于 Android 的,需要特殊的工具链和相当多的 Java 知识。

本质上,Termux 将潜在的新贡献者从大部分内容中屏蔽起来,因为你可以为 Termux 编写软件包而无需了解任何关于 Android 的知识。 只要你知道如何 编写 shell 脚本,就可以为 Termux 创建一个软件包定义,因为你正在为 Termux 子系统编写一个软件包。

将终端放在你的口袋里

Termux 是学习 Linux 终端的好方法,而且很容易安装。 将 Termux 安装在你的手机或平板电脑上,查看我们的一些 终端基础知识(例如我们关于掌握 lscat 命令的文章)和我们的 Bash 速查表,并改变你使用移动设备的方式。

接下来阅读什么
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算行业工作,而且经常同时进行。

5 条评论

我已经使用它超过一年了。 结合 screen* 和蓝牙键盘,它可以形成一个非常强大且非常有用的组合。

* 或其他类似工具。

几年前安装了 Termux - 但我的手机屏幕太小了,无法使其发挥作用,所以没有真正的“用例”。

但是! 它支持 DeX - 而且 - 我刚刚从诺基亚升级到带有 USB C 和 DeX 的三星手机 - 我正在 27 英寸 1080P 显示器上运行 TermUX,它非常棒... 需要 tmux? "pkg install tmux"... 但是不需要安装 mosh 客户端 - 它就在那里,我的 .ssh/ 都设置好了。

我可以 mosh 连接到局域网、互联网或在同一 Pi 上运行的 OpenVPN 服务器上的我的 RPi...

通过我的手机连接的任何客户的 VPN 客户端(例如 Pulse、CheckPoint),我可以从 Termux 直接 SSH 到他们环境中的 Linux 跳转服务器(以及 - 我可以从 DeX 连接 Citrix 或 RDP)。

预计 9 月份交付 NextDock 2,此功能将成为我用途的“杀手级应用”。

Termux 中一个有点烦人的事情 - 是鼠标和剪贴板支持,看起来最多只是初步的... 但仍然是一个很棒的应用程序...

已接受

在执行搜索命令后无法找到软件包 jed

键盘选择非常重要。 如果没有外部键盘,CodeBoard 是一个不错的选择。

Creative Commons License这项工作已根据 Creative Commons Attribution-Share Alike 4.0 国际许可协议获得许可。
© . All rights reserved.