我正在使用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+p和Ctrl+ 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)
当您按Ctrl+ 时a,"您可以看到屏幕“选项卡”,它们不应该是终端 GUI 上的选项卡,您可以通过在您正在使用的终端 GUI 上创建一个新选项卡手动执行此操作,然后在新选项卡上运行选项卡screen -r
返回到您的屏幕会话,然后使用Ctrl+a和一个数字导航到您想要的会话,或者"查看包含所有选项卡的菜单。
您可以通过按Ctrl +a 然后为每个屏幕“选项卡”命名A 。
您可以配置screen
为显示状态行,它可以通知您很多事情,我想也可以告诉您您在哪个屏幕窗口上,但我不使用状态行,所以不能肯定地说。
据我所知,screen
不要创建选项卡,但您必须使用您指定的命令在屏幕之间切换,或者像我更喜欢的Ctrl- A 1,Ctrl-A 2等。
要拥有多个选项卡,您可以使用以下gnome-terminal
功能,也无需屏幕:Ctrl- Shift-T将创建一个新选项卡,并且Alt- 1、Alt-2等将在选项卡之间切换。
我还问为什么不在服务器上运行 screen,所以只使用一个 ssh 连接(但在这种情况下没有任何选项卡)。