打开新的终端窗口时,如何自动启动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