我们在办公室里经常使用gnu屏幕,有时如果我不注意,我最终会迷失到我已经在的屏幕会话。
所以我的问题是,你怎么知道你在哪个屏幕会话?你有办法检查吗?
澄清:我需要知道的是,当我这样做时:
~$ screen -ls
我看到类似的东西:
There is a screen on:
4732.work_Sept42012 (Attached)
3551.web01 (Attached)
5521.mysql01 (Attached)
1255.tomcat05 (Detached)
3326.oracle15 (Attached)
1 Socket in /tmp/uscreens/S-icasimpan.
如何知道我目前是否已连接到任何附加会话?
提前致谢。
答案 0 :(得分:7)
除sessionname
屏幕命令外,屏幕还为其启动的进程设置STY
环境变量。您可以从shell中检查此变量的值:
$ echo $STY
5521.mysql01
$
答案 1 :(得分:4)
ctrl+a
,:sessionname
可用于显示当前屏幕会话的名称。
我也在努力解决这个问题,直到我遇到了精彩的hardstatus
功能。在~/.screenrc
中使用这两行,我在屏幕会话的底部得到以下内容。
hardstatus alwayslastline
hardstatus string '%{= kG}%-Lw%{= kW}%50> %n*%f %t%{= kG}%+Lw%< %{= kG}%-=%D %M %d | %C:%s %A %1`%{-}'
我在这里看到的是我的本地计算机上有三个窗口(bash
,mumble
,kalkyl
)的屏幕会话。在名为mumble
的活动窗口中,我通过ssh连接到另一台计算机,我正在运行另一个具有三个窗口的屏幕会话(top
,auto
,bash
)。我可以看到两个会话中的所有窗口,并跟踪我的位置。