当我使用 PuTTy 时,我通常在登录后输入:“stty rows 48 columns 240”。
- 我在 .profile 或 .bashrc 甚至 grub.cfg 中的单行/条目之后对 stty cols/rows 进行硬设置
- 如果这需要脚本,我可以使用下面的链接。
- 如果有直接的解决方案,我想找到它。
附录
- Xterm 未安装
- PuTTy 连接到主机
- 然后使用 Virsh 控制台连接到虚拟机
- 当我使用我的个人资料登录时,希望设置/调整虚拟机上的行/列
- 当我连接时,我的“PuTTy->窗口->大小->列/行”被预设为我想要的值。此设置不会调整虚拟机的列/行大小。
- 因此,登录后需要“stty rows 48 columns 240”<-我试图消除它
详细讨论了调整大小/重置:
答案1
该resize
程序可以为您执行此操作:
resize -s
行 列
或者你的例子
resize -s 48 240
这是 PuTTY 碰巧识别出的 xterm 的一个功能(可以在Terminal / Features
菜单,但通常启用)。
可以设置一个可能的 terminfo 功能,但它由 GNU 屏幕无条件使用,并且会很麻烦。因此,我们不会将该功能添加到终端描述中。
使用的功能记录在XTerm 控制序列:
CSI
PS;PS;PSt
窗口操作(XTWINOPS),dtterm
,扩展为xterm
。可以使用allowWindowOps资源禁用这些控件。
首先PS在这儿:
PS=
8
;
高度;
宽度⇒ 将文本区域的大小调整为给定的高度和宽度(以字符为单位)。省略的参数重用当前的高度或宽度。零参数使用显示器的 高度或者宽度。
窗口操作功能的一些背景记录在各种各样的部分。
对于您的示例,您可以像这样对其进行硬编码:
printf '\033[8;%d;%dt' $height $width
无论您使用的是resize
或只是printf
,PuTTY 都会调整其窗口大小,通过连接发送SIGWINCH
,这将更新终端的大小 - 就像您发出命令一样stty
。
但是...如果您使用的是串行线,那SIGWINCH
无处可去。 resize
不受影响,因为它是为处理这种情况而设计的。