问题来源
在后台运行程序时,经常需要常驻后台。现有的terminal一旦断线程序就会结束,screen提供了一个远程保持会话的机会,将程序运行在screen打开的会话中,重新登录上远程服务器后,可以恢复到原来的会话。类似的工具还有tmux。
screen在使用过程中,因为远程会话窗口具有标准大小,因而会改变terminal终端的大小,在使用过程中窗体大小突然变了,非常烦。根据博主的经验,在xshell中不会发生这个问题,但是在zoc, putty, securecrt等工具中会出现。
解决方案
从终端入手
部分终端提供了拒绝改变远程窗口大小的设置,xshell不受影响应该也是类似的原因。在putty中,可以通过菜单项来进行配置:
Configuration -> Terminal -> Features -> Disable remote-controlled terminal resizing
其他终端应该也有类似的设置,这个需要去查询相应的文档了。
从screen配置入手
如果不知道怎么从终端解决,可以修改服务器上的screen设置。博主使用的是ubuntu 16.04系统,打开screen的配置文件/etc/screenrc,其中有一行内容如下:
termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
在xterm后面加上一个星号即可。
termcapin