peh*_*hrs 13 linux terminal stty kvm-virtualization
我有一个通过 ssh 连接的虚拟化服务器。如果我现在更改窗口的大小,它将自动传播到服务器。使用stty -a
,检查列和行值最容易看到。
然后我使用virsh console
连接到基于 KVM 的虚拟机上的串行接口。当我现在更改窗口的大小时,它不会传播到虚拟服务器。这最容易通过检查 看到,stty -a
当我更改窗口大小时,它不会在虚拟机上更新。这意味着换行符在终端中无法正常工作,并且任何依赖窗口大小进行格式化的应用程序(emacs、man 等)都会被弄乱,除非客户端上的窗口大小与服务器上的默认大小匹配。
一种解决方法是使用 stty 手动设置窗口大小以匹配客户端窗口,但我想知道是否有任何方法可以让此信息自动传播并在虚拟机中设置窗口大小。
您主要可以在 shell 中解决此问题。
命令:
eval `/usr/bin/resize`
Run Code Online (Sandbox Code Playgroud)
将适当地设置 COLUMNS 和 LINES shell 变量,然后导出它们。因此,在 bash 中,您可以将以下内容添加到您的 .bash_profile(或 .profile,取决于您使用的)
PROMPT_COMMAND="eval `/usr/bin/resize`"
Run Code Online (Sandbox Code Playgroud)
或者在 zsh 中:
function precmd {
eval `/usr/bin/resize`
}
Run Code Online (Sandbox Code Playgroud)
这样就可以在显示每个提示之前执行调整大小。效果不会像 ssh 或 telnet 那样会立即处理窗口更改,但是我认为这可能是您得到的最好的结果。
归档时间: |
|
查看次数: |
8689 次 |
最近记录: |