使用“屏幕”时的标签


20

我正在使用Ubuntu 10.04。我安装后screen

sudo apt-get install screen

通过逐步执行以下操作,我与两个远程服务器建立了两个ssh连接(我根据此处文档执行以下步骤):

1.打开终端窗口,运行命令screen

2.Ctrl+ A+ c创建一个新的虚拟控制台

3。 ssh usr@IP1

此时,我有一个虚拟控制台,该控制台显示我已连接到远程服务器(IP1)。

4.Ctrl+ A+ c创建一个新的虚拟控制台

5, ssh usr@IP2

因此,现在我已连接到两个远程服务器(IP1和IP2)。但是在一个终端窗口中没有两个选项卡,相反,我必须使用Ctrl+ A+ pCtrl+ A+ n一个终端窗口中的两个虚拟控制台之间切换。

是不是通过使用screen,我可以在一个终端窗口中有两个选项卡,每个选项卡显示一个到一台远程服务器的连接。为什么我的终端窗口中没有选项卡

Answers:


26

这是我.screenrc在各处使用的,用于在窗口底部将我的screen数字显示为选项卡,并在选项卡上方显示信息行。您真正需要的部分在“外观”下。

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

您还可以添加以下内容,以在最初创建时自动添加两个标签screen

screen ssh usr@IP1
screen ssh usr@IP2

同样,可以使用从shell命令和提示符发出的转义码来更新状态内容。例如,我通过在my中使用this更新当前目录的状态.bashrc

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
我一直想知道为什么总是要进行一些硬核配置才能使屏幕不被使用。PS尝试shelltitle "$ |shell:"将命令名称附加到标题。
amphetamachine

7

当您按Ctrl+ a"看到屏幕“选项卡”时,不应将它们视为终端GUI上的选项卡,可以通过在正在使用的终端GUI上创建一个新选项卡然后在新的标签screen -r以返回到您的屏幕会话,然后使用Ctrl+ a和数字导航至所需的会话,或"查看包含所有标签的菜单。

您可以通过按Ctrl + a 然后给每个屏幕“选项卡”命名A


1
screen -r -x如果该屏幕已附加在第一个选项卡中,则应该运行。
弓箭2011年

3

我想您会将konsole之类的图形终端上的选项卡与屏幕上的选项卡混淆了。在屏幕中,仅切换带有提到的^ A组合的窗口的内容。这也适用于非图形环境。


2

您可以配置screen为显示一条状态行,该行可以通知您很多事情,我想您也是在哪个屏幕窗口上,但是我不使用状态行,因此无法确定。

就我所知,screen不要创建选项卡,但是必须使用指示的命令或我喜欢的Ctrl- A 1Ctrl- A 2等在屏幕之间切换。

为了有更多的一个标签,你可以使用gnome-terminal的功能,也没有屏幕:Ctrl- Shift- T将创建一个新的标签,Alt- 1Alt- 2,等将选项卡之间切换。

我也问为什么不在服务器上运行屏幕,所以只使用一个ssh连接(但在这种情况下没有任何选项卡)。


2

我知道这已经很老了,但是由于Google在我的带领下,其他人也可能读过这本书。因此,这是我的$ 0.02 hack,用于模拟“屏幕”会话中的标签页:

使用以下命令建立状态行:

  • 在左侧:日期/时间
  • 右侧:本地主机名+平均负载
  • 中间:屏幕“窗口”的名称
    • 当前窗口:黑色背景上的红色文本
    • 其他窗口:状态行背景颜色为白色文本(此处为蓝色)

放入~/.screenrc

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(也许这值超过0.02美元,因为我为此花了很长时间;-)

要使用F6/ F7键从当前窗口切换到上一个/下一个:

bindkey -k k6 prev
bindkey -k k7 next
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.