如何使’adb shell`具有正确的终端大小?
所以adb shell
有一个烦人的错误,它没有意识到你的图形终端应用程序大于80×24,所以当你尝试运行任何类型的全屏控制台应用程序,如vi或emacs(或任何ncurses应用程序),它不占用全屏,只占它的一小部分。 有没有办法轻松解决这个问题?
更新(2015年2月):到现在为止,你可以使用“phablet-shell”。 无需再使用自建脚本。 也就是说,如果你愿意的话,他们仍应该工作。
我通常做的是使用ssh而不是adb。 那个配置正确的终端(除了设置比adb更好的其他东西)。
把它放到〜/ .bash_aliases中(在主机上,而不是设备上)
alias sd='adb shell start ssh; \ adb forward tcp:2222 tcp:22; \ ssh-keygen -f ~/.ssh/known_hosts -R [localhost]:2222; \ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ phablet@localhost -p 2222'
并关闭/重新打开终端窗口。
现在你可以做一个“sd”(ssh设备的简称),你将在手机上以用户phablet身份登录,配置正确的终端和正确设置的用户环境。
这不是终端中的错误 – 在android上的shell的默认设置只是没有配置来处理更改窗口大小。
调整实际终端窗口的resize
,使用resize
命令 – 然后使用全屏程序。
基于mzanetti上面的答案,我将其扩展为具有我现在经常使用的一些优点:
function adbshell { adb shell start ssh adb forward tcp:2222 tcp:22 ssh-keygen -f ~/.ssh/known_hosts -R [localhost]:2222 ssh-copy-id -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ phablet@localhost -p 2222 2>/dev/null scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ -q -P 2222 -r ~/.bash* ~/.profile* phablet@localhost:/home/phablet ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ phablet@localhost -p 2222 }
-
它会记住您的凭据,因此您不必每次都输入密码
-
它将您的bash配置从主机复制到设备,以便您可以使用所有您喜欢的别名(以及自定义提示配置!)