Open alwaystest opened 7 years ago
标注一下,本文环境 Nexus6P Android 6.0.1
使用卡刷SuperSu 方式Root
升级到Android 7.1.2 的时候我换成了Magisk 替换Boot.img 的方式Root,发现上面的脚本不好用了。
现在临时解决方案是把 termux-shell.sh
的内容更换为:
#!/system/bin/sh
/data/data/com.termux/files/home/bin/termux-shell.sh
使用方式:
对了,resize如果不是系统自带的命令的话,需要先安装BusyBox
Update 上次刷机升级到Android 7.1.2后进入到zsh莫名其妙backspace键不好用了,虽然有删除的效果,但是Terminal界面上光标是一直往后移动的。在.zshrc里面添加了export TERM=xterm-256color
解决了这个问题。
@alwaystest 在windows下用哪个终端 adb shell 可以有较好体验
@QGB 最近一直用OSX,WIndows下你要不试试WSL?这个我也没试过,不过Terminal的效果上应该WSL会最接近Linux Terminal的体验吧
其实直接termux自身启动一个sshd,然后adb port forwarding就行
@7heaven termux 跑 https://github.com/tsl0922/ttyd . 直接浏览器打开
这个环境没有网络咋办?? ping不痛呢.
adb 里面识别不到pkg,但是 app里面就可以.无语
标注一下,本文环境 Nexus6P Android 6.0.1 使用卡刷SuperSu 方式Root 升级到Android 7.1.2 的时候我换成了Magisk 替换Boot.img 的方式Root,发现上面的脚本不好用了。 现在临时解决方案是把
termux-shell.sh
的内容更换为:#!/system/bin/sh /data/data/com.termux/files/home/bin/termux-shell.sh
使用方式:
- adb shell
- su
- /system/xbin/your_shell_name
对了,resize如果不是系统自带的命令的话,需要先安装BusyBox
其实可以吧丢进xbin的文件分成两个 一个termux:
#!/system/bin/sh
su $(stat -c %u /data/data/com.termux)
一个shell:
#!/system/bin/sh
/data/data/com.termux/files/home/bin/termux-shell.sh
termux-shell.sh脚本中不带resize指令也可以正常使用
#!/system/bin/sh
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
这样脚本就可以正常运行了 使用的termux版本是0.118.0 终端是windows的uwp应用终端 一切都正常运行(除了网络,似乎是载入环境变量那里出问题了?)
Error: Cannot run 'pkg' command as root 不能运行pkg 这个怎么解决呢~
/system/xbin/termux[9]: cd: /data/data/com.termux/files/home: Permission denied /system/xbin/termux[10]: /data/data/com.termux/files/usr/bin/bash: inaccessible or not found 127|hltechn:/ $ whoami shell hltechn:/ $ pkg up /system/bin/sh: pkg: inaccessible or not found 127|hltechn:/ $
adb shell 权限下 行不通
/system/xbin/termux[9]: cd: /data/data/com.termux/files/home: Permission denied /system/xbin/termux[10]: /data/data/com.termux/files/usr/bin/bash: inaccessible or not found 127|hltechn:/ $ whoami shell hltechn:/ $ pkg up /system/bin/sh: pkg: inaccessible or not found 127|hltechn:/ $
adb shell 权限下 行不通
看看你楼上我发的,是可以的。但是最好还是在手机上装openssh。adb shell没办法访问网络
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重新挂载为只读
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 的内容是这样的。