Termux的使用
手机搞搞 Linux?算了吧。
在此特别同意Termux第三方中文维基
的介绍
在看这个维基/使用Termux之前,请先学好Linux基础!而不是看到某些文章/视频就跃跃欲试!
Termux 是什么
Termux is a terminal emulator and Linux environment bringing powerful terminal access to Android. Termux 是运行在 Android 上的 terminal。不需要root,运行于内部存储(不在SD卡上)。自带了一个包管理器,可以安装许多现代化的开发和系统维护工具。比如: neovim、tmux、zsh、clang、gcc、weechat、irssi、…
安装及换源
我们打开Termux 官网(中文),可以看到我们能在F-droid或Github上下载最新版本。
安装后打开界面如下图。
输入termux-change-repo
换源,按下图操作选择国内源即可。换源后会自动更新软件源。
自带的包管理器
pkg
实际是给apt
又包了一层,感觉没啥必要,直接用apt
就可以了。
然后输入apt upgrade
升级一下现有软件,如果不升级启动ssh等时会出错。一路输入y
然后回车。
升级完成后需要第二次换源,因为要下载一些工具时镜像源会刷新掉。这个时候多了一个“Mirror group(镜像组)”,请根据实际网络情况选择。
(第一次)换完源之后,每次新打开后提示多了一行,如下图:
SSH服务
如果没有键盘、键盘不好用,或者设备上有好用的SSH软件,可以通过SSH服务远程访问。
输入apt install openssh
安装SSH。
- 安装后会的提示内会有形如
u0_a000
的用户名,如果没看到也可以使用whoami
查看。 - 使用
passwd
设置密码(都知道输入时不会显示字符吧),因为ssh连接时需要。 - 使用
ifconfig
(自带)或ip a
查看当前设备ip,或者在系统的网络设置里查看 - 默认端口号是
8022
- 输入sshd启动SSH服务
然后就可以SSH连接了。
VS Code / code-server
“我用Vim/nano”请跳过。
很多人装 Termux 是为了敲一敲代码,纯CLI对大部分人来说又太难受。这个时候肯定需要一款方便的GUI编辑器,如 VS Code 。
但 Termux 没有GUI,而且有了GUI后 VS Code 也不能安装,因为 Termux 毕竟不是真 Linux。这个时候要不然用proot
跑一个Linux容器再用Termux X11
,要不然用“阉割的第三方网页版 VS Code” - code-server
。
也可以在容器里装
code-server
,但,那是之前因为没法直接装,现在没必要。
code-server 具体怎么整,(code-server)官方文档永远是你应该看的。
Run
pkg install tur-repo
Runpkg install code-server
You can now start code server by simply runningcode-server
.
安装并启动后浏览器打开127.0.0.1:8080
,这里推荐Firefox、Chrome、Edge等支持PWA的浏览器,可以将其加到桌面。
打开后你会发现它提示要密码,密码的配置文件在哪?官方文档告诉你在~/.config/code-server/config.yaml
。这里可以使用nano或vim编辑(啥?不会?请看文章开头)
图形界面(Termux X11)
Termux 本身是没有GUI支持的,我们可以通过Termux X11
来获得GUI支持。
具体参见这篇文章,正好是这两天更新的。里面Termux的X11与proot内Linux发行版的X11都有写。 Termux X11:手機上的XWayland伺服器使用教學
容器(proot)内装Linux发行版
推荐使用proot-distro
对其管理,首先安装proot-distro
:
apt install proot-distro
proot-distro list
列出支持的发行版。proot-distro install xxx
进行安装。如我要安装 Ubuntu 就可以输入proot-distro install ubuntu
。proot-distro login xxx
登陆进容器中。指定用户可以加上--user xxx
,如proot-distro login --user root ubuntu
常用的Ubuntu 22.04的镜像大概20+MB,但是下载速度挺慢,最好科学上网。 实在下不了可以去 Github/Gitee 找找,有类似的走国内镜像项目,但是版本一般稍微老一点。
更多、详细用法见命令的帮助。