当前位置: 首页>>技术问答>>正文


防止gnu屏幕调整显示大小的大小

clegane 技术问答 去评论

问题描述

每次启动屏幕(屏幕-A)或尝试连接到已经运行的屏幕会话(屏幕-Ax)时,我的终端被调整为80列。我想防止屏幕调整我的终端的大小。

我在雪豹上使用iTerm,我的屏幕会议是在一个centos机器(我使用bash作为我的 shell )。

最佳解决方案

尝试添加(从/etc/screenrc)到您的~/.screenrc

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

您可能需要更改”xterm”以匹配您的$TERM

termcapinfo线将任何终端的is(初始化字符串)设置为以”xterm”开头的名称到一系列转义码。 \E代表escape,代码如下:

\E[r       - set scrolling region to default (full size of window)
\E[m       - reset all resources (keyboard) to their initial values
\E[2J      - Erase in Display (ED). 2 -> Erase All.
\E[H       - set cursor position to default (1, 1)
\E[?7h     - DEC Private Mode Set. 7 -> Wraparound Mode
\E[?1;4;6l - DEC Private Mode Reset. 1 -> Normal Cursor Keys; 4  -> Jump (Fast) Scroll; 6 -> Normal Cursor Mode

替换的行有这些代码:

\E[!p      - Soft terminal reset
\E[?3;4l   - DEC Private Mode Reset. 3 -> 80 Column Mode; 4 -> Jump (Fast) Scroll
\E[4l      - Reset Mode. 4 -> Replace Mode
\E>        - Normal keypad

(来源:XTerm Control Sequences)

参考文献

注:本文内容整合自google/baidu/bing辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:gxnotes#qq.com(#替换为@)。

本文由《共享笔记》整理, 博文地址: https://gxnotes.com/article/192138.html,未经允许,请勿转载。
Go