打开新的终端窗口时,如何自动启动Linux屏幕?

我和Bash一起运行Ubuntu 14.04(Cinnamon Mint 17.1)。 每次我打开一个新的终端窗口,我进入screen启动屏幕窗口管理器,但我希望shell为我这样做。

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

 exec /usr/bin/screen -q 

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

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

任何人都可以解释为什么这对我来说失败了,并建议一个解决方案?

谢谢,

当屏幕启动时,第一个窗口启动你的shell,你已经告诉你的shell启动屏幕。 然后,当屏幕启动时,第一个窗口启动你的shell,你已经告诉你的shell开始屏幕。 然后,当屏幕启动时……

泡沫,冲洗,重复。

screen将$TERM变量设置为"screen" ,所以为了避免无休止的屏幕递归调用(“乌龟一直向下”)你的.bashrc可以结束:

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