Termux安装配置与使用

Termux安装配置与使用

注:本文大部分内容可在Termux官方Wiki找到,此处仅作归纳整理以便快速查阅。

简介

Termux 是一个 Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。 自动安装最小的基本系统,使用包管理器可以使用其他包。——Termux官方Wiki

软件除了主体Termux外,还包括一些插件(Addons):Termux:API、Termux:Boot、Termux:Float、Termux:Styling、Termux:Tasker、Termux:Widget;分别提供不同的附加功能。

安装

步骤

  1. 下载F-Droid
  2. 在F-Droid中下载安装Termux
  3. 下载安装其他插件

应用签名问题

由于插件的签名必须和Termux的签名一致才能安装,F-Droid下载的软件有F-Droid的签名,所以不能和谷歌商店或者其他软件下载网站下载的APP安装包混用F-Droid是Termux官方指定的下载渠道。

应用权限

为了程序功能实现,建议安装完成后开启Termux(及其插件)需要的所有权限,可以避免后续很多问题。(开源应用的性质可以保证其安全性)

使用

打开Termux就可以获得一个终端,绝大部分linux的命令和软件包都可以正常运行。需要注意的是随着安装越来越多的软件包,Termux占用的手机存储空间也会不断增大。

另外如果有蓝牙键盘或者外接键盘,使用体验会有很好的改善。两指缩放可以改变终端的字体大小。

侧边栏

在Termux界面从屏幕左侧边缘向右滑动可以拉出侧边栏,这里可以管理、切换不同的会话等。

注意:对于全面屏手机这个操作可能会触发手势操作的返回功能,有两种解决方式:

  1. 手势操作判定规则为快速滑动,因此先长按屏幕左侧边缘至看到白色侧栏边缘时再向右滑动即可。
  2. 手势判定操作区域为屏幕边缘下侧,因此直接在屏幕左上方向右划出也可。

通知栏

下滑通知栏,可以看到Termux常驻通知栏的横条。展开横条,可以选择退出(EXIT)或者睡眠锁定(WAKELOCK)默认情况Termux在屏幕关闭时进入休眠状态,程序不会继续执行,开启睡眠锁定后则在屏幕关闭时也可在后台继续运行。

Termux的文件系统

由于Termux只作为一个安卓APP存在,并不是一个完整的Linux系统,所以不能直接使用/,/usr等路径。Termux提供了环境变量$PREFIX来指向用户可以使用的“根目录”(实际为/data/data/com.termux/files/usr),而用户通常意义上的家目录(home,即~)为/data/data/com.termux/files/home。一般只在这两个目录进行操作。

如何访问手机文件:使用termux-setup-storage命令,Termux会请求文件访问权限,允许后在~目录下会生成storage的文件链接,其中可以访问Downloads、dcim、music等常用文件夹,而shared文件夹则对应安卓系统的/storage/emulated/0路径,是主文件目录。

更多关于Termux文件系统的介绍可以在此处了解。

更换镜像源

两种方式:一种是用vi编辑$PREFIX/etc/apt/sources.list,但是vi的操作对于新手不太容易理解;这里不作介绍,也可以自行搜索linux换源方式。国内Termux可用的有清华镜像中科大镜像等。(注意链接后缀路径要与原后缀相同)

1
vi $PREFIX/etc/apt/sources.list

另一种,也是官方推荐的方式,是直接使用termux-change-repo命令。使用后会进入一个TUI界面,方向键选择,回车控制OK/Cancel,空格键选择。

具体方法为:

  1. 第一步显示的是选择要修改哪个软件仓库的源,默认是main,按回车;
  2. 此时显示所有可供选择的源,第一个官方源前的括号里有星号表示选中,用方向键移动到Mirror by Tsinghua的选项
  3. 按空格,此时星号就会变到清华源前的括号里,再按回车就成功保存了。

软件包安装

更换源之后就可以用正常网速更新软件。

首先upgrade:

1
pkg upgrade

然后安装常用的包:

1
pkg install git python vim man curl

插件

Termux:API

用Termux访问和控制手机的部分功能。

除了安装插件APP外,还要在Termux中pkg install termux-api以正常使用API。可以使用的API列表可以点击标题链接查看,足以完成许多自动化操作。

Termux:Boot

脚本开机自启,略。

Termux:Float

以悬浮窗形式使用Termux,略。

Termux:Styling

控制Termux的样式。安装后在Termux界面长按出现COPY-PASTE-MORE...,选择More,在弹出的菜单中选择Style,就可以改变终端的颜色和字体。

Termux:Tasker

在Tasker中唤起Termux脚本,略。

Termux:Widget

使Termux支持从桌面部件运行脚本。安装插件APP后可将Termux小部件放置在桌面;在Termux中~/.shortcuts中的脚本或可执行程序会显示在桌面部件中,点击即可新开会话执行。而~/.shortcuts/tasks下的脚本或可执行程序则会在后台运行。

这个功能非常方便编写一些常见的自动化操作并随时调用。例如运行code-server

解决脚本shebang问题

“shebang”即Linux下脚本文件开头的形如#!/bin/sh的一行注释,用于告诉系统用什么程序解释运行这个脚本文件。正如前面提到的根目录路径问题,直接使用上述类似的Linux常用shebang在旧版本中会有问题。Termux提供了termux-fix-shebang命令用于修复脚本中的shebang。(Termux-fix-shebang

在某次更新之后,Termux提供了软件包termux-exec,(已经包括在新版本的Termux中)用于使Termux自动识别shebang,因此目前脚本即使不修改shebang也可以直接运行。

但是:在Termux-widget中点击脚本运行时使用的exec目前并不支持自动识别shebang,因此在将脚本放入.shortcuts目录中也要先用上面提到的工具运行。

需要注意的是,上述操作同时也包括脚本中间接使用的脚本。许多软件包安装后在$PREFIX/bin中的“可执行文件”实际上也只是shell脚本,并且是以Linux的默认shebang开头的,因此就造成在点击widget时无法正常运行。见issue37

通过cat $PREFIX/bin/xxx可以查看xxx命令的内容,如果确实是一个脚本文件,那么也需要用termux-fix-shebang $PREFIX/bin/xxx来使其可以在widget中运行。

Zsh

上面的步骤做完Termux已经可以正常使用了,下面的内容属于锦上添花,使终端更赏心悦目。为了更加美观,可以换用Zsh,与其他Linux发行版的操作相同。详细可以见我整理的这篇文章。为了使各种符合正常显示,可以使用Termux:Styling将字体换成Meslo。

0%