使用“屏幕”时的标签

Mel*_*lon 24 gnu-screen

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

sudo apt-get install screen
Run Code Online (Sandbox Code Playgroud)

我通过逐步执行以下操作与两个远程服务器建立了两个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,我可以在一个终端窗口中有两个选项卡,每个选项卡显示一个到一个远程服务器的连接。为什么我的终端窗口中没有选项卡

nic*_*bot 29

这是我.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
Run Code Online (Sandbox Code Playgroud)

您还可以添加以下内容以在最初创建时自动添加两个选项卡screen

screen ssh usr@IP1
screen ssh usr@IP2
Run Code Online (Sandbox Code Playgroud)

此外,可以使用从 shell 命令和提示发出的转义码更新状态内容。例如,我通过在我的.bashrc以下使用它来更新当前目录的状态:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi
Run Code Online (Sandbox Code Playgroud)

  • 我一直想知道为什么它总是需要一些核心配置才能使屏幕不那么糟糕。PS 尝试`shelltitle "$ |shell:"` 将命令名称附加到标题。 (5认同)

Han*_* N. 9

当您按Ctrl+ 时a"您可以看到屏幕“选项卡”,它们不应该是终端 GUI 上的选项卡,您可以通过在您正在使用的终端 GUI 上创建一个新选项卡手动执行此操作,然后在新选项卡上运行选项卡screen -r返回到您的屏幕会话,然后使用Ctrl+a和一个数字导航到您想要的会话,或者"查看包含所有选项卡的菜单。

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


enz*_*tib 2

您可以配置screen为显示状态行,它可以通知您很多事情,我想也可以告诉您您在哪个屏幕窗口上,但我不使用状态行,所以不能肯定地说。

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

要拥有多个选项卡,您可以使用以下gnome-terminal功能,也无需屏幕:Ctrl- Shift-T将创建一个新选项卡,并且Alt- 1Alt-2等将在选项卡之间切换。

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