0


Termux——安装配置

Termux简介

Termux是一个Android终端模拟器和带有Linux环境的应用程序,开源无需Root或设置即可直接使用。安装即可获得最小的基本系统 - 使用 APT 包管理器可以获得其他软件包。完美支持 Python、 PHP、 Ruby、 Nodejs、 MySQL 等常见工具,而且现在普遍的智能机性能都远高于各种派,用心Diy打造,完全可以成为一件趁手利器。

  • Termux 官网
  • Github 项目地址
  • 官方 WiKi 文档

下载地址

  • F-Droid 下载地址
  • Google Play 下载地址

F-Droid 市场版本下载的版本比 Google Play 更新要及时,而且插件安装也很方便,所以没能力去Google Play也不用担心,放心大胆用F-Droid版本的吧。酷安和其他各种应用商店版本的,实在想用去搜就能搜到,就不放链接了。

1.基础知识

1) 基础操作

① 会话管理
应用右上靠边区域,侧滑呼出会话管理菜单,可以新建、切换会话,长按会话可以对会话重命名,点击KEYBOARD可以显示/隐藏输入法:在这里插入图片描述

② 缩放文本
和缩放图片一样,双指缩放文本大小:在这里插入图片描述

③ 扩展菜单:
长按屏幕会调出显示菜单项(包括复制、粘贴、更多),方便我们进行复制粘贴等操作:在这里插入图片描述

扩展菜单说明:

`长按屏幕`
    ├── COPY:                    # 复制
    ├── PASTE:                    # 粘贴
    └── More:                    # 更多
        ├── Select URL:                # 选取屏幕所有网址
        ├── Share transcipt:         # 分享命令脚本
        ├── Reset:                    # 重置会话
        ├── Kill process:            # 杀掉当前会话进程
        ├── Style:                    # 终端风格(需手动下载)
        ├── Keep screen on:            # 保持屏幕唤醒
        └── Help:                    # 帮助文档

2) 目录结构

因为Termux是基于安卓系统运行的,目录结构与一般Linux系统稍稍不同:

echo$HOME
/data/data/com.termux/files/home
echo$PREFIX
/data/data/com.termux/files/usr

3) 快捷键

命令行终端若是缺少了快捷键,那是不可想象的事情。由于大多数手机键盘没有Ctrl、ESC等特殊按键,Termux采用音量键映射的形式解决这个问题。
**

音量 - 

映射为Ctrl键**,支持大部分终端快捷指令,例如:

音量 -
  • L = Ctrl + L        #清屏
音量 -
  • C = Ctrl + C        #停止当前进程
音量 -
  • D = Ctrl + D        #退出当前会话
音量 + 

和一些按键组合成一些常用

特殊键

音量 + 
  • E = Esc
音量 + 
  • T = Tab
音量 + 
  • 1 = F1         (F2…F9 以此类推)
音量 + 
  • 0 = F10
音量 + 
  • B = Alt + B,
音量 + 
  • F = Alt + F,
音量 + 
  • X = Alt + X
音量 + 
  • W = ↑
音量 + 
  • S = ↓
音量 + 
  • A = ←
音量 + 
  • D = →
音量 + 
  • L = |
音量 + 
  • H = 〜
音量 + 
  • U = _
音量 + 
  • N = PgDn
音量 + 
  • V =  显示安卓系统音量控制
音量 + 
  • Q =  切换功能键显示和隐藏

除了音量键映射,还可以通过功能区按键定制来解决这一问题,具体详见:Termux定制——进阶配置

2.基础命令

1) 软件安装

Termux除了支持Debian/Ubuntu系

apt

命令外,还针对软件特殊环境封装了

pkg

命令,

pkg

向下兼容了

apt

命令:

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># 显示某个包的相关文件夹路径
pkg install <package> =apt update &&apt install <package>

,所以尽量使用

pkg

命令。

另外,

dpkg

也同样受到支持,可以用来安装准备好的

.deb

安装包。

dpkg -i ./package.de            # 安装 .deb 包
dpkg --remove[package name]# 卸载软件包
dpkg -l# 查看已安装的包man dpkg                        # 查看详细文档

2) termux保持后台运行

大部分Termux需要后台运行,而安卓默认锁屏时是限制后台运行的,所以这里我们需要几个步骤来保持cpu及网络处于活跃。

①开启termux唤醒锁

termux-wake-lock        #开启唤醒锁
termux-wake-unlock        #关闭唤醒锁

建议将唤醒锁的开启写入开机自启服务,以免自己忘记:

echo'termux-wake-lock &'>>$PREFIX/etc/termux-login.sh

②关闭省电策略和允许后台运行

关闭省电策略和允许后台运行的方式手机型号不同方法也不同,这里就不不细说了,根据自己手机来就好。

3)[Process completed (signal 9) - press Enter] 问题修复

如果你的手机是

Android 12

,Termux放在后台一段时间后你会发现

[Process completed (signal 9) - press Enter]

的提示,这主要是

Android 12

及以上引入的新机制,超过32个行程会自动杀死先开启的进程,而当这个被啥事的进程是Termux会话时,就会出现

[Process completed (signal 9) - press Enter]

的提示。

解决办法:

到Android官网下载最新Windows版的

Platform Tools

,解压后进入

Platform Tools

目录,可以看到ADB和Fastboot的执行文件,在此处打开终端(比如win10默认的Powershell)。

手机打开开发者模式(一般是在设置→关于手机中连点版本号多次)的usb调试。手机usb连接电脑,模式为文件传输。

在电脑终端输入:

./adb devices

卡没到连接成功提示后按照你的安卓版本执行以下命令:

# Android 12L和Android 13:
./adb shell "settings put global settings_enable_monitor_phantom_procs false"# Android 12:
./adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647"

该命令没有结果输出,执行完重启手机即可。

4)更换国内源

现在新版本更换软件源十分简单,一条命令即可:

termux-change-repo
方向键

选择,

空格键

选中,这里一般情况下选清华源就好:
在这里插入图片描述在这里插入图片描述然后更新软件被最新版本:

pkg upgrade -y

========================
此处有坑,第一次执行完

pkg upgrade

后,软件源会自动换回官方源,,,所以,更新完再执行一次换源操作吧,第二次界面会有点稍稍不同,网络没其他问题的话还是选择清华源就好:
在这里插入图片描述
在这里插入图片描述

5)获取手机存储权限

termux-setup-storage

执行后会弹出访问授权,同意即可。
获取手机存储权限以后会在

home

文件夹下生成

storage

文件夹,并在内生成若干子目录,每一个子目录都是安卓内部存储的软链接:在这里插入图片描述

对于

storage

下的软链接,我们可以根据自己的需求进行删除和增加:

ln-s$HOME/storage [文件或文件夹路径]#建立软链接rm-rf[链接文件或文件夹路径]#删除软链接

注意,在删除软链接时,路径结尾一定不能带

/

,不然删除的就是原文件!!!

6)基础软件安装

pkg installvimgitwgetcurl-y

2. 美化相关

1) 修改启动问候语

Termux默认问候语长这个样子:在这里插入图片描述
基本上除了第一次使用Termux时有点用处,越到后来越显臃肿,那就改了它吧,问候语路径在

$PREFIX/etc/motd

,使用Termux内置文本编辑器编辑即可:

vim$PREFIX/etc/motd

在这里插入图片描述
修改为自己想要的文字或ASSIC字符图案:

 _____                              
|_   _|__ _ __ _ __ ___  _   ___  __
  ||/ _ \'__| '_ ` _ \|||\\/ /
  ||  __/ ||||||||_||><|_|\___|_||_||_||_|\___</_/\_\
  
  Put wings on your dreams!

保存重新打开会话就可以看到效果了:
在这里插入图片描述

2) 定制功能键区

在 Termux v0.66 之后的版本我们可以通过配置

~/.termux/termux.properties

文件来定制我们的常用功能按键:

vim ~/.termux/termux.properties

找到

Extra-keys

所在块,添加:

extra-keys =[\['ESC','$','~','PGUP','HOME','UP','END','ENTER'], \['TAB','CTRL','ALT','PGDN','LEFT','DOWN','RIGHT','BKSP']\]

保存,使用以下命令执行更改:

termux-reload-settings

效果:
在这里插入图片描述
其中可定制按键可以直接是字符符号(比如

$
#
/

等),也可以是下边列表给出的特殊按键:

CTRL                特殊键
ALT                    特殊键
FN                    特殊键
ESC                    退回键
TAB                    表格键
HOME                原位键
END                    结尾键
PGUP                上翻页键
PGDN                下翻页键
INS                    插入键
DEL                    删除键
BKSP                退格键
UP                    方向键 上
LEFT                方向键 左
RIGHT                方向键 右
DOWN                方向键 下
ENTER                回车键
BACKSLASH            反斜杠 \
QUOTE                双引号键
APOSTROPHE            单引号键
F1~F12                F1-F12 按键

上面列出的三个“特殊键”在附加键定义中最多只能列出一次,即不能有多个

CTRL

键。任何“特殊键”的多个实例将导致错误,这些键不能正确工作。
关于反斜杠的注意事项:这个字符有特殊含义,您不应该直接使用它来定义键。使用

BACKSLASH

代替,或者用

'\\'

来正确转义。

3) zsh——终端美化

这里使用的是Gitee上的一个开源zsh管理插件Tmoe-zsh ,基于

ZINIT

工具开发,个人感觉启动速度和视觉延迟是要优于单纯的

ohmyzsh

的,

Tmoe-zsh

集成了很多功能,

zsh

的安装卸载,备份还原比较方便。
安装命令:

pkg installcurl&&.<(curl-L l.tmoe.me/ee/zsh)-y

个人配置:
配置选项zshthemezshcolorzshfont选择powerlevel10kNeonGo Mono选项数字1718514
安装结束输入:

zsh

使配置生效,效果:在这里插入图片描述
如果对第一次配置结果不满意,使用以下命令可再次配置:

​​zshtheme        #修改zsh主题
zshcolor        #修改终端配色  ​​
zshfont            #修改终端字体  ​
zsh-i            #打开Tmoe-zsh管理器

Tmoe

除了配置zsh字体主题外,还自动安装了一些高效插件:PLUGINS 预装插件说明

fast_syntax_highlighting

语法高亮插件,速度比

zsh-syntax-highlighting

更快。
在这里插入图片描述

zsh-autosuggestions

自动建议插件,当您键入时,它根据历史记录和完成提示命令。这时候只要按→键,就可以自动补全完整命令:在这里插入图片描述

4.超级管理员身份

Termux操作实际上基本涉及不到root权限,这里姑且为了文档完整性吧它写出来,对于已经root和未root手机,官方提供两种方法。

1)手机已经root

安装

tsu

,这是Termux版本的

su

,是真正的利用root权限,请谨慎操作。安装:

pkg install tsu

切换root管理员:

tsu

此时回弹出root授权提示允许即可,效果如下:在这里插入图片描述
在管理员身份下输入

exit

即可退回普通用户模式。

2)手机未root

针对未root的用户,官方使用

proot

来为用户模拟root环境,安装:

pkg install proot

使用:

termux-chroot
proot

主要是模拟Linux文件系统布局,并未真正的取得root权限。同样的,在模拟Linux系统布局下下输入

exit

切换回普通用户模式。

5.备份恢复

程序猿生存第一要义是什么?
备份备份备份!!!
备份不及时,数据两行泪!!!
官方镜像打包恢复方法Wiki:https://wiki.termux.com/wiki/Backing_up_Termux

1)备份

确保Termux取得存储访问权限:

termux-setup-storage

进入Termux根目录:

cd /data/data/com.termux/files

将系统备份为

termux.tar.gz

tar-zcf /sdcard/termux.tar.gz home usr

如果没有滥用root权限的话,等待一会应该就可以备份完成了。在这里插入图片描述

2)恢复

确保Termux取得存储访问权限:

termux-setup-storage

进入Termux根目录:

cd /data/data/com.termux/files

解压提取之前备份的内容:

tar-zxf /sdcard/termux.tar.gz --recursive-unlink --preserve-permissions

操作完成重启Termux,数据已经恢复。

在这里插入图片描述

此外 官方Wiki 还提到了两种备份与恢复方法,但都是根据上文方法来的,不如上文直观,就不再赘述了。

6.ssh访问

如果,我说如果有那么一天你很懒,想躺床上访问其他服务器,又或者有那么一天你很闲,想要用电脑来控制手机,那

Termux
  • ssh
    
    就能满足你。

1) 安装 openssh

OpenSSH

是基于

SSH

(Secure SHell)协议的免费开源实现。SSH 协议族可以用来进行远程控制, 或在计算机之间传送文件。

Termux 官方已经封装好了,我们安装起来也会很简单:

pkg install openssh

2) Termux远程连接服务器

ssh [email protected] -p22

在这里插入图片描述

3) 电脑ssh连接Termux

其实闲不闲什么的是开玩笑,主要在手机上操作这个屏幕,这个键盘,它实在是 折!磨!人!好了废话不多说,展示。

  1. 通过密码认证连接
  2. 通过公私钥连接 - Termux 端生成公私钥,然后将私钥拷贝到 PC 中,通过公私钥连接。- PC 端生成公私钥,然后将公钥拷贝到 Termux 中,通过公私钥连接。

① ssh服务启停

启动 ssh 服务

openssh

安装后,sshd服务默认是不开启的,我们得手动启动服务:

sshd

因为权限关系Termux无法控制低端口

0~1023

,所以这里

sshd

默认端口为

8022

停止ssh服务

想要停止

ssh

服务,简单粗暴,使用kill命令杀掉进程即可:

pkill sshd

你说为什么不讲重启命令?杀了让它重生!多简单的事!我觉得不需要我教。

另外想要实现ssh服务开机自启,可以使用

termux-services

工具来完成:

pkg install termux-services busybox        #安装termux-services
sv-enable sshd                            #将sshd设为开机启动命令
sv-disable sshd                            #取消开机自启

② 通过密码认证连接

Termux 默认可以使用密码认证进行连接的,如果你想禁用,修改ssh配置文件:

$PREFIX/etc/ssh/sshd_config

,文件内容:

PrintMotd yes
PasswordAuthentication yes
Subsystem sftp /data/data/com.termux/files/usr/libexec/sftp-server

就三行,很简单:
PrintMotd是否显示登录成功的欢迎信息,例如上次登入的时间、地点等PasswordAuthentication是否启用密码认证Subsystem sftpSFTP 服务相关的设定
此外Termux的ssh服务同样支持监听端口修改,在配置文件添加一行:

Port 10086

监听端口就修改到了

10086

,注意自定义端口不要小于

1024

,原因讲过就不再重复了。

修改用户密码

Termux用户初始密码是随机的,这里我们想用密码认证势必要修改了它,执行

passwd

命令就能直接修改密码:在这里插入图片描述

可能有人会想:啊?不需要旧密码就能直接修改密码,别人拿到我的手机就能修改我的Termux密码,太不安全了吧!
呃,或者有没有一种可能,咱就是说,其实可以给手机设个密码呢?

使用电脑端连接

终端中直接输入:

ssh192.168.1.2 -p8022

在这里插入图片描述

看到这可能就有人发现一点不同寻常,你没看错,Termux和常规Linux不太一样,ssh连接时是不需要指定用户名的。

③ 通过公私钥连接

公私钥连接相比密码认证来说安全了不止一点,当然,前提是你自己不泄露公私钥文件手动狗头。

Termux端生成公私钥,使用私钥连接

Termux生成公私钥对:

ssh-keygen

有选项就狂按回车:在这里插入图片描述

完成后会在

~/.ssh

下多出三个文件:

id_rsa

id_rsa.pub

,

authorized_keys


然后将

公钥

(

id_rsa.pub

)拷贝到验证文件(

authorized_keys

)中:

cat id_rsa.pub > authorized_keys

接着将

私钥

(

id_rsa

)拷贝到PC端,并在PC端赋予其

600

权限:

chmod600 id_rsa

然后PC端就可以通过

-i

指定私钥文件的方式连接Termux而不需要输入密码了:

ssh-i id_rsa 192.168.1.2 -p8022

在这里插入图片描述

PC端生成公私钥,使用公钥连接

首先在 PC 端生成秘钥对:

ssh-keygen

有选项就狂按回车:
在这里插入图片描述

完成后会在

~/.ssh

下多出三个文件:

id_rsa

id_rsa.pub

,

authorized_keys


然后需要把公钥 id_rsa.pub 拷贝到手机的

data\data\com.termux\files\home\.ssh

文件夹中。

接下来在Termux操作将

公钥

(

id_rsa.pub

)拷贝到验证文件(

authorized_keys

)中:

cat id_rsa.pub > authorized_keys

重启SSH服务,就刚刚说的:让它重生!

pkill sshd &&sshd

接下来就能在PC端通过公私钥对,无密码连接Termux了:

ssh192.168.1.2 -p8022

在这里插入图片描述


你长得这么好看,一定会关注订阅我的对吧?对吧对吧?

快速导航 👈前面什么都没有了哦Termux开发环境搭建👉

标签: linux 服务器 unix

本文转载自: https://blog.csdn.net/YiBYiH/article/details/127422099
版权归原作者 易冰亦寒 所有, 如有侵权,请联系我们删除。

“Termux——安装配置”的评论:

还没有评论