#Termux终端模拟器简介
**Termux 是一款适用于安卓设备的终端模拟器,提供类 Linux 环境,无需 root 权限即可使用。启动后呈现全屏命令行界面,支持蓝牙键盘以提高输入效率。通过 `apt` 或 `pkg` 命令管理软件包,安装更新简便。**
**环境准备包括更新系统、测试安装(如 `sl` 包显示火车动画)和获取存储权限。Termux 支持多种编程语言,如 Node.js 和 Python,可用于运行 HTTP 服务器。结合 `http-server` 或 Python 内置模块,轻松架设局域网服务器,甚至可通过 SSH 反向代理或 ngrok 实现公网访问。**
**Termux 的优势在于其安全性、高度自定义性、跨平台兼容性和扩展性,支持蓝牙键盘和外部显示器连接,方便开发和调试。它为开发者提供了强大的 CLI 工具集,适合移动开发和轻量级服务器部署。**
二、环境准备
打开 Termux 以后,就是一个全屏的命令行界面。虽然可以用手机的触摸键盘输入命令,但还是推荐使用蓝牙键盘。
第一步,更新一下系统,保证使用最新版本。
# 连接远程仓库,获取软件包信息
$ apt update
# 更新本地已经安装的软件包
$ apt upgrade
第二步,测试系统。
# 安装 sl 软件包
$ apt install sl
# 运行
$ sl
上面命令安装测试包sl,然后运行。如果一切正常,会显示一个火车的命令行动画。
第三步,访问本机存储
手机 App 默认只能访问自己的数据,如果要访问手机的存储,需要请求权限。
$ termux-setup-storage
执行上面的命令以后,会跳出一个对话框,询问是否允许 Termux 访问手机存储,点击“允许”。
这会在当前目录下生成一个storage子目录,它是手机存储的符号链接,后文下载文件就是到这个目录去下载。
三、软件包管理
除了apt命令,Termux 还提供pkg命令进行软件包管理。
# 安装软件包
$ pkg install [package name]
# 卸载软件包
$ pkg uninstall [package name]
# 列出所有软件包
$ pkg list-all
其实,pkg的底层[3]就是apt,只是运行前会执行一次apt update,保证安装的是最新版本。所以,apt install sl基本等同于pkg install sl。
Termux 支持的软件包清单,可以到这里[4]查看。
四、Node.js
下面,安装 Node.js。
$ apt install nodejs
安装完成后,就可以运行 JavaScript 脚本了。比如,新建一个脚本hello.js。
// hello.js
console.log('hello world');
然后,执行这个脚本。
$ node hello.js
hello world
五、架设 Server
现在,通过 Node.js 运行 HTTP Server。
首先,安装 npm 模块http-server[5]。
$ npm install -g http-server
然后,运行 Server。
$ http-server
正常情况下,命令行会提示 Server 已经在 8080 端口运行了,并且还会提示外部可以访问的 IP 地址。
举例来说,手机的局域网 IP 是 192.168.2.6,那么我们通过桌面电脑的浏览器访问http://192.168.2.6:8080,就可以看到 Termux 的根目录了。进入下面的storage子目录,就可以下载手机文件了。
如果手机和电脑不在同一个局域网,那可以打开手机的热点功能,让桌面电脑通过手机热点上网,再访问手机的 HTTP Server。
这里顺便提一下,下面的命令可以从命令行查看手机的 IP 地址。
$ apt install net-tools
$ ifconfig
六、Python
不使用 Node.js,而使用其他方法架设 HTTP Server 也是可以的。下面演示 Python 的方法。
$ apt install python
$ python -m http.server 8080
然后,桌面电脑就可以访问手机了。
Termux终端模拟器安装 Python
1、在 Termux 中输入 pkg install python 回车安装Python,出现如下图。
2、输入 Y 回车,出现下图。
3、等待,等到出现下图代表安装 Python 成功。
4、到这恭喜您 Python 环境已经安装完了,赶快运行个程序试试吧!
Termux终端模拟器公网访问
1、我们如何把手机中的端口暴露到公网呢,有两种方式都很方便:
2、使用ssh反向代理(使用autossh解决隧道的稳定性问题)
3、使用ngrok(使用ngrok arm版本)
4、如此一来手机中运行的网站你就可以在公网访问它,当然你也可以把ssh端口暴露到外网,这样你可以在任何有网络连接的地方连接到你的手机里。前提是Termux处于运行状态。
Termux终端模拟器提高输入效率
1、打开Termux之后,我们面对的是一个命令行界面,常用的手机输入工具,搜狗之类的,并没有功能键,无法输入esc、ctrl、alt、tab…
2、Termux提供了一些解决方案:
3、音量键(-)模拟Ctrl,所以你要中止输入到一半的命令,只好按下音量键(-)+c即可(等效于Ctrl+c)
4、你也可以使用音量键(+)+q显示扩展键:ESC、CTR、ALT、TAB、-、/、|
5、你有多种方式提高输入效率:
----使用蓝牙键盘
----Hacker's Keyboard: 一个输入法app,提供一切你需要的按键,方便地在Android上输入快捷键组合、特殊符号,提高
----Coding和CLI的效率
----在电脑中使用ssh接入Termux
----安装Jupyter Notebook,在电脑中使用浏览器连接Termux(可以在网页中使用terminal)
Termux终端模拟器优势
1、安全:使用 OpenSSH 的 ssh 客户端访问远程服务器。在一个开源解决方案中,Termux 将标准包与精确的终端仿真结合。在 Bash、FISH 或 Zsh 和 Nano、Emacs 或 Vim 之间选择。GREP 通过你的短信收件箱。使用 cURL 访问 API 端点,并使用 rsync 在远程服务器上存储联系人列表的备份
2、自定义:通过从 Debian 和 UbuntuGNU/Linux 中知道的 APT 包管理系统安装你想要的东西
3、移植性:Termux 中提供的软件包与 Mac 和 Linux 上的软件包相同最新版本的 Perl、Python、Ruby 和 Node.js 都是可用的
4、扩大规模:连接蓝牙键盘,并将设备连接到外部显示器,如果需要,Termux 支持键盘快捷键,并有完整的鼠标支持
5、可修补的:通过使用 Clang 编译 C 文件进行开发,并使用 CMake 和 pkg-config 构建自己的项目。如果陷入困境并需要调试,GDB 和 strace 都是可用的
软件平台,