如何在打开新终端窗口时自动启动 GNU Screen?

如何在打开新终端窗口时自动启动 GNU Screen?

我正在运行带有 Bash 的 Ubuntu 14.04(Cinnamon Mint 17.1)。每次打开新的终端窗口时,我都会输入screen以启动屏幕窗口管理器,但我希望 shell 能帮我完成这个操作。

我认为我需要修改.bashrc而不是.profile,以便它在每个新终端窗口启动,而不仅仅是在登录时启动。因此,我在 的末尾添加了以下内容.bashrc以替换 shell 进程:

exec /usr/bin/screen -q

当我启动一个新的终端窗口时:

  • 通常,我会看到一个带有闪烁光标的空白窗口,并且只有在按下 后才会出现 Bash 提示符Ctrl+C
  • Ctrl+C有时,当我按下或调整终端窗口大小时,终端窗口会立即关闭。
  • 有时,我会收到一个没有的 Bash 提示符$LS_COLORS(虽然很难重现这种情况,所以我不完全确定它何时或为何发生)。

有人能解释为什么这对我来说会失败,并提出解决方案吗?

谢谢,

答案1

当 screen 启动时,第一个窗口会启动你的 shell,并且你已经告诉你的 shell 启动 screen。然后,当 screen 启动时,第一个窗口会启动你的 shell,并且你已经告诉你的 shell 启动 screen。然后,当 screen 启动时...

涂抹泡沫,冲洗,重复。

screen 将$TERM变量设置为"screen",因此为了避免无休止地递归调用 screen (“乌龟一直往下”),你的 .bashrc 可以以此结尾:

[[ $TERM != "screen" ]] && exec screen -q

相关内容