如何使’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配置从主机复制到设备,以便您可以使用所有您喜欢的别名(以及自定义提示配置!)

Interesting Posts