Termux安装配置与使用
Termux安装配置与使用
注:本文大部分内容可在Termux官方Wiki找到,此处仅作归纳整理以便快速查阅。
简介
Termux 是一个 Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。 自动安装最小的基本系统,使用包管理器可以使用其他包。——Termux官方Wiki
软件除了主体Termux外,还包括一些插件(Addons):Termux:API、Termux:Boot、Termux:Float、Termux:Styling、Termux:Tasker、Termux:Widget;分别提供不同的附加功能。
安装
步骤
- 下载F-Droid
- 在F-Droid中下载安装Termux
- 下载安装其他插件
应用签名问题
由于插件的签名必须和Termux的签名一致才能安装,F-Droid下载的软件有F-Droid的签名,所以不能和谷歌商店或者其他软件下载网站下载的APP安装包混用。F-Droid是Termux官方指定的下载渠道。
应用权限
为了程序功能实现,建议安装完成后开启Termux(及其插件)需要的所有权限,可以避免后续很多问题。(开源应用的性质可以保证其安全性)
使用
打开Termux就可以获得一个终端,绝大部分linux的命令和软件包都可以正常运行。需要注意的是随着安装越来越多的软件包,Termux占用的手机存储空间也会不断增大。
另外如果有蓝牙键盘或者外接键盘,使用体验会有很好的改善。两指缩放可以改变终端的字体大小。
侧边栏
在Termux界面从屏幕左侧边缘向右滑动可以拉出侧边栏,这里可以管理、切换不同的会话等。
注意:对于全面屏手机这个操作可能会触发手势操作的返回功能,有两种解决方式:
- 手势操作判定规则为快速滑动,因此先长按屏幕左侧边缘至看到白色侧栏边缘时再向右滑动即可。
- 手势判定操作区域为屏幕边缘下侧,因此直接在屏幕左上方向右划出也可。
通知栏
下滑通知栏,可以看到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可用的有清华镜像和中科大镜像等。(注意链接后缀路径要与原后缀相同)
|
|
另一种,也是官方推荐的方式,是直接使用termux-change-repo
命令。使用后会进入一个TUI界面,方向键选择,回车控制OK/Cancel,空格键选择。
具体方法为:
- 第一步显示的是选择要修改哪个软件仓库的源,默认是main,按回车;
- 此时显示所有可供选择的源,第一个官方源前的括号里有星号表示选中,用方向键移动到Mirror by Tsinghua的选项
- 按空格,此时星号就会变到清华源前的括号里,再按回车就成功保存了。
软件包安装
更换源之后就可以用正常网速更新软件。
首先upgrade:
|
|
然后安装常用的包:
|
|
插件
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。