如何知道我是否处于屏幕的屏幕中?

如何知道我是否处于屏幕的屏幕中?

我知道如何查看我是否在屏幕中:我已经创建了一个别名alias inscreen = 'echo $STY'

但今天早些时候,我不小心screen在 a 中输入了screen内容,而没有注意到它,这在某种程度上让我后来犯了一个错误。


screen当我在(外屏幕)内输入(内屏幕)时,我观察到的事情screen

  1. screen -ls仅显示 1 个与该屏幕相关的结果
  2. echo $STY内外屏相同
  3. ctrl + A并且ctrl + D可以脱离内屏变为无屏,但screen -r返回时内屏和外屏同时存在
  4. 现在我可以exit两次:内屏幕exit-> 外屏幕exit

所以我的问题是,无论如何我可以知道我在屏幕的屏幕中吗?


PSscreen第一次输入时会弹出一些文字:

在此输入图像描述

如果screen在 a 内输入screen,它不会显示这些提示。

答案1

来自 Libra irc #bash 的 bash 大师 @geirha:

如果您在屏幕内运行“屏幕”,则会在该屏幕中打开一个新窗口。它不会启动嵌套屏幕。

所以screen在屏幕内输入时,我正在打开新窗口。

ctrl+a n您可以使用和在窗口之间切换ctrl+a p

另外,尝试 ctrl+a :caption always

这将显示一个状态栏,指示您当前所在的窗口。


还:

普京 caption always "%{ Mk}%-w%{ Wk}%n %t%{ Mk}%+w"~/.screenrc

每次输入时都会有一个很酷的状态栏screen

在此输入图像描述

(格式说明符自定义标题的外观。请参阅手册屏幕中的 STRING ESCAPES)

Ctrl+a:title "hello world"

https://www.gnu.org/software/screen/manual/screen.html#Title-Command

相关内容