使用 Termux 在 Android 上运行 Linux 环境
目录
介绍
Termux 是一个开源的虚拟终端软件,可以在 Android 设备上运行 Linux 环境。它把大量命令行实用程序移植到 Android 系统,无需 root 或特殊设置即可直接使用。其主要目标是为移动设备用户带来 Linux 命令行体验。
Termux 会自动安装一个最小的基础系统,其他软件可以通过软件包管理器获得。
大多数在 Linux 中可用的命令以及内置的 Bash 命令都可以在 Termux 中使用,也可以选择其他 Shell 如 Zsh。由于所有文件都安装在应用程序目录下,因此不需要 root。
Termux 拥有自己的软件包生态系统,目前有一千多个软件包可以下载。另外,软件包还可以从源代码编译,因为 Termux 支持各种构建工具,包括 C、C++、Go、Rust 等编译器。也可以使用 NodeJS、Python、Ruby 等常用语言的解释器。
常见用例
可以用 Termux 来做什么呢?例如在 Android 手机/平板上:
- 通过 ssh 访问远程服务器;
- 学习 Linux 命令行环境的基础知识;
- 使用 Linux 生态下久经考验的工具;
- 编写 Shell 脚本,用脚本和 Termux Tasker 插件实现设备自动化;
- 使用 git 进行同步和版本控制;
- 使用 curl 访问 API 端点;
- 使用 rsync 同步和备份文件;
- 使用 Python 进行数据处理;
- 在开发环境中编程;
- 不够尽兴的话,给你的 Android 设备连接蓝牙键盘鼠标,再接个外部显示器 —— 妥妥的 Linux 工作站摆在你面前。
使用场景不局限于上面列出的那些,取决于你的技能和想象力~ 💡️
我偶尔会在手机上通过 Termux 来更新本站的内容。
插件
Termux 可以通过安装附加组件来添加一些额外的功能。
- Termux:API
- 将 Android 功能开放给 CLI 应用程序。
- Termux:Boot
- 当设备启动时运行脚本。
- Termux:Float
- 在一个浮动窗口中运行 Termux。
- Termux:Styling
- 选择终端的配色方案和字体。
- Termux:Tasker
- 将 Tasker 应用集成到 Termux。
- Termux:Widget
- 从主屏幕的窗口小部件或快捷方式上启动脚本。
安装 和 使用
建议从 F-Droid 下载 Termux。
安装后即开即用,终端界面如下:
基本的手势操作,与很多常规 Android App 一样。
- 调整字符大小 <- 两指捏合缩放或双击
- 上下文菜单 <- 长按终端界面的任意位置
- 导航抽屉 <- 从屏幕左侧向内滑动
切换 Termux 软件包库
执行下面的命令切换软件包存储库到国内(如清华/北外)的开源软件镜像站;当然,不切换也能用,切回国内下载软件包的时候可能会快一些。
~ $ termux-change-repo
用 Termux 访问设备存储
授予 Termux 存储访问权限,会在 ~/storage
目录下设置符号链接到设备存储目录,如 DCIM
、Download
等。
~ $ termux-setup-storage
# ~/storage/shared = /sdcard
备份
卸载或重装 Termux 之前,记得对以下目录的重要文件进行备份。
/data/data/com.termux/files/usr
/data/data/com.termux/files/home
可以使用 tar
工具,将备份文件放在 Termux 私有目录以外的地方,如 /sdcard
。
~ $ tar -cf /sdcard/termux.bak.tar /files/to/be/backed/up
举个栗子 🌰
在手机上下载 YouTube 视频。
~ $ pkg upgrade
~ $ pkg install python
~ $ curl -L https://yt-dl.org/downloads/latest/youtube-dl -o $PREFIX/bin/youtube-dl
# $PREFIX = /data/data/com.termux/files/usr
# 是 Termux Shell 中的一个 export 环境变量
~ $ chmod a+rx $PREFIX/bin/youtube-dl
~ $ youtube-dl -o '~/storage/downloads/%(title)s.%(ext)s' https://youtu.be/PHe0bXAIuk0
# 上条命令会将给定的 YouTube 链接对应的视频下载到手机存储的 `Download` 目录
Tips
Termux 使用 减音量键
来模拟 Ctrl
键。例如,按下 减音量键
同时在触摸键盘上按 L
,就会发出与硬件键盘上按下 Ctrl + L
相同的输入。
将 Ctrl
与某个键结合使用的结果取决于使用的是哪个程序,但对于多数命令行工具来说,以下快捷键是有效的。
Ctrl + A → 光标移至行首
Ctrl + C → 终止当前进程
Ctrl + D → 注销终端会话
Ctrl + E → 光标移到行尾
Ctrl + K → 从光标处删除到行尾
Ctrl + U → 从光标处删除到行首
Ctrl + W → 清除连续一组字符
Ctrl + Z → 暂停当前进程
Ctrl + L → 清屏
按住手机 加音量键
再按 k
键,可以隐藏/显示 Termux “辅助小键盘”,暂且这么称呼它吧。
References: