效果图

惯例,先看最终执行效果图

termux-screenshot

android客户端软件清单

android-app-list

无需root的终端app,基于busybox

更舒服的编码键盘

快速切换键盘(通知栏输入法切换)

非常简单的远程键盘输入,你所需要的只是一个telnet终端工具(windows的telnet命令或者SecureCRT,XShell之类的都可以) 打开Remote Keyboard后会告诉你本机的服务地址和端口 同时你选中的输入法是Remote Keyboard 在你的终端工具/指令中连接上此ip端口即可

1
telnet 192.168.1.247 2323

然后就尽情的输入吧,不过话说,有台式机还要在手机玩,应该是缺乏安全感吧。

remote_keyboard-telnet-screenshot

这货也是基于busybox的,不过属于一次性集成n多包的那种,目前没看到追加包的办法只有rpm指令,如果内置的功能够用,这个备选也不错。

如果你仅仅是需要远程登录到服务器临时解决一下问题的话这个ssh终端工具也许会更适合你。

准备

如果你愿意认真读Termux的帮助文档,这里的很多废话可以略过,想省时间的话看下面:

触屏键盘

  • 触屏键盘手机的实体键位中的音量减相当于linux中的Control键(CTRL)
  • 触屏键盘手机的实体键位中的音量加相当于linux中的Alt键(ALT)或一些特殊功能键
  • 触屏键盘记得按音量加 + Q键 开启扩展功能键视图会比较方便输入

安装包管理器

debian/ubuntu的包管理器的那一套的简装版

  • 安装包 apt install xxx

  • 搜索包 apt search xxx

  • 卸载包 apt remove xxx

  • 列出已安装包 apt list --installed

所有的apt命令也可以用pkg命令替代 比如pkg install 等价于apt install

我本地配置基本环境所用到的包清单:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
aria2
coreutils
curl
git
golang
gzip
less
lftp
nano
openssh
screenfetch
vim
wget
zsh
termux-tools

挂载点配置

运行指令:

1
termux-setup-storage

具体的挂载点可以参考 https://termux.com/storage.html 在这里就不展开说了

交互终端配置

你可以安装zsh来提供更便捷的使用体验

1
apt install zsh

切换zsh为默认shell:

1
chsh -s zsh

注意你的配置里locale的设置应该会无效,至少我目前是把服务端的.profile修改后再使用的

默认的zsh啥也木有,而网上的oh-my-zsh又没办法直接安装在termux里 有人已经做好了移植版:

https://github.com/Cabbagec/termux-ohmyzsh

安装指令:

1
2
3

sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"

记得先apt install 我上面包列表中的curl至少。

最后可以根据自己的个人喜好修改一下~/.zshrc配置中的主题

个人比较喜好ys主题,诸君请随意。

手机ssh服务

除了Remote Keyboard这种歪脖看手机屏幕,电脑键盘打字的方式,更传统的方式是把手机当服务器ssh连进来玩。

apt install openssh 之后即可,不过有几点注意的地方:

  • sshd需要手工跑一下

  • 有1024低端口安全限制所以这里sshd的服务是开在8022端口上的

  • 因为Termux是不需要root的系统,所以一般情况下你登录的用户名需要你自己看一下:

1
whoami
  • ssh登录是key公钥模式登录,你可以先手工scp远程的公钥到本地的路径再cat追加到~/.ssh/authorized_keys中然后在客户机以密钥对的私钥登录
1
ssh -p8022 xxx@192.168.1.247

其中xxx是你whoami中查到的值

  • 如果你要从手机上ssh到其他服务器

最简单的办法,copy私钥到~/.ssh/id_rsa位置然后在zsh里开启ssh-agent插件:

1
2
plugin=(git ssh-agent)

或者你也可以试试在自己的.profile或者其他交互启动脚本中追加:

1
2
3
4
5

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

杂谈

这货虽然是busybox组装的但是基础组件都能慢慢堆叠,

虽然环境简陋了点,但好歹真正的应急移动办公也算有点着落

另外私钥还是要保管好的说。

除此之外,有aria2可以用来当下载服务用,路径记得设在外面的挂载点里,配合android端的ui,你懂的。

golang装好了之后还能起个本地web服务玩玩,总之爱折(zhuang)腾(bi)的朋友不容错过。