Blog
Blog copied to clipboard
adb shell 下使用 termux
adb shell termux htop
标签(空格分隔): shell android
玩了一下termux这个软件,记录一下经验。
首先,要在adb shell
中调用termux,需要按照https://github.com/termux/termux-app/issues/77 给出的方案。
adb shell
连接成功之后,我们希望在环境变量包含的PATH中直接就有一个脚本可以帮我们打开termux的bash。
所以用到mount -o rw,remount /system
重新挂载 system 为可写,然后在 xbin 文件夹下面写一个 shell脚本,一样是从Github上找到的(我的Linux基础还是比较差啊,鸟哥的书大略过了一遍还是不够的):
#!/system/bin/sh
su $(stat -c %u /data/data/com.termux) /data/data/com.termux/files/home/bin/termux-shell.sh
最后别忘了把system重新挂载为只读 mount -o ro,remount /system
这样就可以方便的在连接上adb shell
之后快速调起termux的bash,然后为所欲为了。
需要记录的一点是我在安装了htop之后发现bash里面调起的界面并没有全屏。
然后继续查,偶然在安装了fish之后,启动fish,警告提示默认的terminal的size是没有的。
顺藤摸瓜发现 stty size
这个命令可以查看当前terminal中设置的行数和列数。
发现果然adb shell
之后是没有配置size这个信息的。
解决方案是在 termux-shell.sh 中加入一条命令 resize
,重设terminal的宽高信息。
所以最后的termux-shell.sh 的内容是这样的。
#!/system/bin/sh
resize > /dev/null
export PREFIX='/data/data/com.termux/files/usr'
export HOME='/data/data/com.termux/files/home'
export LD_LIBRARY_PATH='/data/data/com.termux/files/usr/lib'
export PATH="/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:$PATH"
export LANG='en_US.UTF-8'
export SHELL='/data/data/com.termux/files/usr/bin/bash'
cd "$HOME"
exec "$SHELL" -l