screen命令在底部持久启用菜单

时间:2013-10-31 11:32:00

标签: linux menu gnu-screen

我正在使用Linux Screen Utility在我的Putty终端中打开2个以上的窗口。通常在运行屏幕会话时

Ctrl+A Ctrl+W

为我们提供了屏幕底部的窗口列表。

我有两个问题:

  • 我想知道是否有办法将此菜单永久保留在屏幕底部。

  • 如何为每个窗口命名?理想情况下,当我们执行

    screen -S screen_name

screen_name应出现在菜单中。我只能找到

0.csh 1.csh 2.csh

菜单中的

。可以改为

0.debug_screen 1.editor 2.games

2 个答案:

答案 0 :(得分:8)

我的.screenrc(在Short Tip: GNU Screen with proper scroll, session management support中找到)中有以下几行:

caption always # activates window caption
caption string '%{= wk}[ %{k}%H %{k}][%= %{= wk}%?%-Lw%?%{r}(%{r}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %{k}][%{b} %Y-%m-%d %{k}%c %{k}]'

可以在screen manpageSTRING ESCAPES部分找到有关这些神秘标识符的说明。

Btw。:您也可以使用caption代替hardstatus(如果您使用分屏,则只会在底线显示一次)。

可以使用C-a A重命名Windows(请再次参阅screen manpageCommands部分)。

答案 1 :(得分:0)

我的.screenrc中有以下行,它在屏幕底部给我一个标题行:

screen $SHELL -c 'screen -X caption always "%{= RW} $STY | %c:%s `date +%Z` | host:%H | load:%l | escape:CTRL-U "'

这给了我以下内容:

%{= RW}         <== White text on red background
$STY            <== Name of the screen session e.g. "4169.debug_screen"
%c:%s           <== The time in 24 hour format with seconds
`date +%Z`      <== The timezone the server is configured to
host:%H         <== The hostname of the server
load:%l         <== The current load averages of the server
escape:CTRL-U   <== A textual reminder that the screen escape key is set to CTRL-U (not CTRL-A)

我在不同的机器上使用不同的颜色背景,所以我记得我是在生产或开发服务器上 - 红色用于生产,以提醒我比平时更加​​小心。

要获取正在运行的屏幕列表,包括姓名,我只需输入'screen -ls'(我已经别名为'scls')。