Linux Screen 的终端宽度问题

Linux Screen 的终端宽度问题

我遇到问题是,当我在常规 SSH 终端中,将 $TERM 设置为 时xterm-256color,Linux Screen 中的终端宽度非常小(窄)。我正在运行 Arch Linux。当我在默认 SSH 终端(与屏幕会话分离)时,我的终端宽度很好,它会一直穿过。但是,当我启动屏幕时,我的终端宽度会缩小很多,并且我的所有文件都会被换行或截断。它从大约 1400 列变为 80 列;这非常糟糕。有什么想法可以让它在屏幕上像在常规终端中一样工作?在我解决这个问题之前,我无法按照我需要的方式使用屏幕。

答案1

我不确定问题是什么。我想让你知道德塔赫

dtach 是一个模拟 screen 分离功能的程序。它被设计为透明和非侵入式的;它避免解释连接的终端和受其控制的程序之间的输入和输出。因此,它最适合与 emacs 等全屏应用程序配合使用。

dtach 适用于那些想要使用 screen 的分离功能而又不想使用 screen 的其他开销的用户。它很小,不使用太多库,并且尽可能不妨碍工作。

我一直在用它。Screen 对我来说有点过头了。听起来它对你来说可能也适用。

编辑:使用示例

以下是我进行切换的方法。这对您来说可能太麻烦了。不过,也许您可​​以在 bash rc 文件中创建一些别名。dtach 适用于套接字文件。因此,我首先:

# dtach -A firsttask bash

然后在 bash shell 中启动任何任务。然后将其保留在 dtach“会话”中

Ctrl-\

启动另一个 dtach 会话:

# dtach -A secondtask bash

如果套接字不存在,则使用 -A 而不是 -a 将创建套接字。如果套接字存在,则不会执行指定的命令,而只是连接。

因此,如果您想要设置一些您经常执行的任务,就像您描述的那样,这是可能的。Bash 别名将使这变得方便。您只需按一次键 (Ctrl-\) 即可断开连接,然后使用别名进行连接。因此,比屏幕多按几次键。

你可以为

alias log='dtach -A tailtask tail -f /var/log/messages'

在您的 .bashrc 文件中,然后只需输入“log”并按回车键即可。如果您 dtach,它将继续运行。

我喜欢 dtach,因为它很小,而且我认为可以两次连接到同一个套接字,这太酷了。这意味着我可以为想要使用“新的酷炫 ubuntu 东西”的朋友进行“在线”nix 培训。:P 我想你可能可以用 screen 做类似的事情。

答案2

按照https://superuser.com/questions/217066/prevent-gnu-screen-from-resizing-display-size

尝试将其(从 /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。

相关内容