如何在Android ADB Shell中设置终端大小?


25

当我使用“ adb shell”连接到Android并运行某些命令(例如“ vim”或“ mc”)时,它们被限制为25x80字符的“窗口”。由于我是从xterm分辨率更高的台式计算机连接的,因此我想使用它。

如何将该控制台窗口调整为60x156个字符?

Answers:


24

答案是

stty rows 60 cols 156

后续问题是如何确定我要连接的xterm的大小,以便可以将其自动传递给stty(使用脚本)?


很高兴您找到了自己的问题的解决方案。如果可以的话,请不要忘记“接受”它。但是,不要包括其他问题。这不是讨论论坛。您应该打开一个新问题。如果相关,则可以从新问题链接到此问题。
ale

2
有没有办法告诉android shell自动调整大小以适合屏幕尺寸?与在Unix中其他终端上完成的方式类似吗?
Ehtesh Choudhury

1
我试过了,但是它说“ / system / bin / sh:stty:未找到” ...是否必须安装它?
布莱德·帕克斯

2
对于那些不知道BuxyBox的人:BusyBox是一个应用程序。它内部有很多通用的unix工具-它是专门为嵌入式系统设计的。要尝试它,请在您已扎根的android上安装BuxyBox应用。
JohnTortugo 2013年

1
如何使它永久化?
JohnyTex

20

resize连接到设备后输入对我有效:

shell@android:/ $ resize
COLUMNS=192;LINES=44;export COLUMNS LINES;

7
这是busybox resize给我的。
Victor Sergienko 2015年

16

如果您使用的是最新版本的Android,则mksh可以执行以下操作:

COLUMNS=156
LINES=60

-1

使用mksh,我不得不运行eval $(resize)

resize命令将shell命令输出COLUMNS=#;LINES=#;export COLUMNS LINES;到stdout,但实际上并没有执行它们。为此,您可以使用eval它并将其放在.profile或shell rc文件中。在此期间,您可以添加一个别名,以便在调整实际窗口大小之后轻松调整大小。

$ grep resize ~/.profile
eval $(resize)
alias rsz='eval $(resize)'

您不必评估结果。resize本身就可以正常工作(它可以执行适当的操作)
Alex Jasmin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.