Chilfish's avatar

Chilfish

Tips for Android

Chilfish
tips
Warning
本文发布于 2023/02/03,内容可能已过时。

Termux

主要参考:国光:Termux 高级终端安装使用配置教程

初始化

先换源

Terminal window
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
pkg update

然后使用 ssh 让电脑连接,不然操作起来太不舒服了 (或者外接键鼠也行 hhh)

Terminal window
pkg install openssh -y
ssh-keygen -A
sshd

和电脑一个局域网,可以用 ifconfig 查看 ip,用 whoami 查看用户名,用 passwd 修改密码)在手机 root 之前是没有 sudo root 权限的

在电脑终端上就可以用 ssh 连接上 termux 了,注意它的端口是 8022。连上之后,就大致地和 Linux 差不多了,不同的是 /usr/local/bin 对应的是 $PREFIX 或是 /data/data/com.termux/files/usr/bin

然后就是装上一堆工具了,fish,git 什么的…

包管理用的是 pkg:

Terminal window
pkg search <query> # 搜索包
pkg install <package> # 安装包
pkg uninstall <package> # 卸载包
pkg reinstall <package> # 重新安装包
pkg update # 更新源
pkg upgrade # 升级软件包
pkg list-all # 列出可供安装的所有包
pkg list-installed # 列出已经安装的包
pkg show <package> # 显示某个包的详细信息
pkg files <package> # 显示某个包的相关文件夹路径

和一般 Linux 一些不同的地方

安装 Ubuntu

虽然有些套娃,但还是可行的:

Terminal window
pkg install proot-distro
proot-distro install ubuntu
proot-distro login ubuntu

这样就能在 termux 里跑 Ubuntu 了…但这样模拟器里套模拟器,还不如下面的这个,直接装 Ubuntu

更好的 userLAnd

现在 Google Play 上下载 UserLAnd,点进去后选 Ubuntu 的终端就行了

这时它会先验证然后下载 Ubuntu,其中一定得网络状态稳定,不然一直报错 hh。目前装的是 Ubuntu22.04,但好像特别空,很多软件都没

这个的好处是,可以在 unroot 的情况直接使用 sudo,当然涉及到得 root 才能更改的系统设置是牡蛎的

需要注意的是,初次需要联网验证,但有时梯子也完全不行,需要自定义它验证的地址:

下面导航栏中,Sessions 代表会话,新开一个终端就是一个会话,File systems 就是系统实体

开始时,选上 Ubuntu -> Minimal -> Terminal 就行了

然后就是设置 UBuntu 了,具体的 Getting Start

一些坑点

并不能在 Ubuntu 里用 passwd 修改密码,因为它是用默认密码来 ssh 连接的。默认密码在 File systems,长按实体 -> Edit,里面就是只读的密码了…

而且,既然是 ssh 到 localhost 的,那 cat .ssh/id_rsa.pub >> .ssh/authorized_keys 不就好了嘛…但实际上还是不行,所以在这里是完全不能修改密码的)而且改过之后,似乎就只能随缘进去了,而且 ssh 的密码还是默认密码

绕开它联网验证的方式就是先断网打开 Session 后,就能进到它的终端了,这时再开网络 (木梯似乎很随缘,所以还是断网登录吧)

如果进不去终端,则可以通过另外 ssh 的方式,在 termux 中

Terminal window
# 它默认启动的端口是 2022,与 sshd 的端口设置是不冲突的
ssh userland@localhost -p 2022

输入它的默认密码后,再将 Termux 的 key.pub 复制到它的 authorized_keys 中,就能直接连接了

其中好像有时会连接假死,需要 ctrl+D 来唤醒它