抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

箴言3:6

在一切所行的事上都要认定他,他必指引你的路。

什么是Termux

    Termux是一款基于Android的Linux终端模拟器,使用apt(pkg)管理软件包,无需root权限,大多数的Android都可以运行。在技术爆炸的今天,手机的算力、运存以及内存都已经不亚于一个小型的计算机(大多数的手机芯片的算力已经远超70年代末80年代初,橡树岭实验室、欧洲原子能实验室的超算算力)。所以把应该把手机作为一个强大的开发工具,要实现这个目标,就必须请到:Termux

可以做什么?

    Termux支持apt和pkg包管理工具,你可以十分方便、快捷的安装软件包,Termux完美支持Python、PHP、Mysql、Go、Nodejs、Clang、Gcc等等,另外你也可以尝试在Termux上面配置一个Web服务器来方便快捷的共享手机的文件。

安装Termux

    你需要去软件商店之类的地方,不过国内软件商店提供的版本往往比较低,如果有能力的话还是建议去Google Play商店下载第一手的App。

  • 安装后你将看到这样的一个界面

基本操作

    在这里不过多的阐述基本操作,我认为在手机上操作效率较低且极易发生误触,如果你确实需要,请参看Termux wiki

一些基础

包管理命令

前文提到Termux除了apt以外,还支持pkg,pkg向下兼容apt,语法如下:

Shell
1
2
3
4
5
6
7
8
9
10
pkg install <package>       # 安装软件包
pkg uninstall <package> # 卸载软件包
pkg reinstall <package> # 重新安装软件包
pkg update # 更新软件源
pkgupgrade # 更新软件包
pkg search <query> # 搜索软件包
pkg shoe <package> # 列出某个包的详细信息
pkg files <package> # 显示某个软件包的路径
pkg list-all # 列出所有可以安装的软件包
pkg list-installed # 列出所有已经安装的软件包

获取root

你会发现你没办法使用su和sudo,第一种办法就是安装tsu(前提是你的手机已经root),第二种办法就是使用proot模拟root。

Shell
1
2
3
4
5
6
7
8
# 第一种情况
pkg install tsu -y # 安装tsu
tsudo rm -rf /* # 使用root权限清理垃圾
tsu # 登陆到root用户

# 第二种情况
pkg install proot -y # 安装proot
termux-chroot # 切换到root

访问手机的内存

Shell
1
2
3
4
termux-setup-storage
# 执行命令后会在$HOME目录下创建一个名为storage的目录
# storage目录下面是一些常用的手机目录的软连接
# 当termux要求手机权限时,需要允许

目录结构

termux没有遵循FHS,所以你无法像使用普通的linux一样找到根目录下的某些路径,例如/usr。但是termux提供了一些特殊的环境变量:

Shell
1
2
3
4
# 代表你的/usr目录
$PREFIX -> /data/data/com.termux/files/usr
# 代表你的/home
$HOME -> /data/data/com.termux/files/home

    实际上,这些目录都在/data/data/com.termux/file下面,/data/data/com.termux目录下也存放了一些termux的配置文件(没有root你进不去这个目录)。

先要条件

如何连接adb

  • 方案A
    Other
    1
    2
    3
    4
    5
    首先打开手机的USB调试模式
    连接计算机
    打开终端,输入adb devices
    不出意外的话会有你的设备
    没有的话可以尝试B方案
  • 方案B
    Other
    1
    2
    3
    4
    5
    在关于手机中找到手机的IP地址
    确认一下手机和电脑是不是在一个wifi下
    # 注意端口不冲突
    输入命令 adb connect <ip addr>:<port>
    # 手机的默认端口是5555,电脑的端口是5037

SSH连接Termux

  • 首先,保证电脑和主机连接了一个Wifi
  • 其次,博主以ubuntu为例子

1、安装openssh(没有安装的话)

Shell
1
2
3
apt update
# 注意Termux和电脑都要安装
apt install openssh

2、生成公钥

Shell
1
2
3
cd ~/.ssh
ssh-keygen -t rsa
# 会在目录下生成id_rsa及id_rsa.pub

3、发送公钥

Shell
1
2
3
4
5
6
adb shell
# 代表你的/home
cd sdcadb
mkdir Termux_tmp
# 根据实际情况选择
adb push id_rsa.pub /sdcard/Termux_tmp

4、复制公钥到授权文件

Shell
1
2
3
cd ~/.ssh
# 根据实际情况更改目录
cat /storage/emulated/0/Termux_tmp/id_rsa.pub >> authorized_keys

5、连接手机

Shell
1
2
# 端口默认8022
ssh <你的手机IP地址> -p 8022

后续工作

更换软件源

Shell
1
2
3
4
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
apt update && apt upgrade

安装zsh终端

1、安装一些基本的软件包

Shell
1
pkg install git curl vim zsh wget -y 

2、执行Brandon的curl脚本:termux-ohmyzsh

Shell
1
2
3
4
5
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
# 或使用chcolor
~/.termux/colors.sh
# 或使用chfont
~/.termux/fonts.sh

3、安装自动提示插件

Shell
1
2
3
4
5
wget http://mimosa-pudica.net/src/incr-0.2.zsh
mkdir ~/.oh-my-zsh/plugins/incr
mv incr-0.2.zsh ~/.oh-my-zsh/plugins/incr
echo 'source ~/.oh-my-zsh/plugins/incr/incr*.zsh' >> ~/.zshrc
source ~/.zshrc

sshd自启动

  • 想要开启应用自启动sshd很简单:
    Shell
    1
    2
    3
    4
    # 如果你使用zsh
    echo "sshd" >> ~/.zshrc
    # 如果你使用bash
    echo "sshd >> ~/.bashrc

好玩的地方

  • zsh随机主题

    Shell
    1
    2
    3
    4
    5
    6
    7
    # 随机主题
    vim ~/.zshrc
    # 找到
    ZSH_THEME="xxxx"
    # 修改为
    ZSH_THEME="random"
    source ~/.zshrc
  • 更换登陆问候

    Shell
    1
    2
    3
    # 可以修改为自己喜欢的问候语
    vim $PREFIX/etc/motd
    # 下次登陆时生效

安装linux发行版

    Termux可以运行linux发行版,你可以尝试获取一款名为AnLinux的app来帮助你安装真正的linux甚至桌面环境。

资料来源

myfreess的中文文档:Mytermuxdoc