当我在 CentOS 桌面(虚拟机)上工作时,我经常会打开数十个 gnome 终端。这意味着我打开了大约 40 个到不同服务器的 SSH 会话。
找回特定服务器的 SSH 会话的最佳方法是什么?有时我只需 pkill bash、pkill ssh、pkill gnome-terminal 即可重新开始,或者只需为该服务器打开另一个 gnome-terminal 并输入 ssh hostname。
不过,使用简单的方法找回现有的 gnome 终端并通过 SSH 连接到服务器会更好。GNOME 中的任务栏显示窗口标题,但在 10 个 SSH 会话之后,它们就无法再读取了,因为它们彼此太近,没有足够的空间来写入主机名。
我很想就此问题征求其他 Linux 系统管理员的一些经验。
答案1
养成使用习惯GNU 屏幕. 使用以下方式安装yum 安装屏幕。
Screen 是一个“终端多路复用器”。这是什么意思呢?它就像是终端中的终端,你可以离开并返回。
您可以通过运行来启动屏幕会话屏幕。一个会话中可以有多个终端。使用以下命令创建一个新终端Ctrl+A 然后 Ctrl+C. 您可以使用以下方式在终端之间切换Ctrl+A 然后按数字键. 你也可以这样做Ctrl+A 然后 n接下来,Ctrl+A 然后 p对于先前的。
当你不得不离开时,screen 的魔力就显现出来了。你可以“脱离”screen 会话,Ctrl+A 然后 d。您从其他地方登录并重新连接屏幕-r并且所有终端窗口仍保留在屏幕会话中,就像您离开它们时一样。
有许多用户指南涵盖了更多用法,只需在 Google 上搜索“gnu screen”。您可以按然后按 Ctrl+A ?寻求程序内的帮助。
你可能想要创建一个~/.screenrc文件永久存储设置,包括在底部创建一个栏,列出所有活动的终端窗口。这是我的:
termcapinfo * ti@:te@
defscrollback 51200
hardstatus alwayslastline "%{=b}%{kG} %-w%{W}%n*%t%{-}%+w %=$USER@%H | %0c %A %D, %M %d %Y "
screen -t four 4
screen -t three 3
screen -t two 2
screen -t one 1
screen -t zero 0
您可以在屏幕内使用标签(Ctrl+A 然后 A)为所有终端命名。然后,您可以轻松看到要切换到哪个终端,或者可以使用以下命令查看打开的终端的完整列表Ctrl+A 然后“。然后您可以使用箭头键上下查看并选择您想要的那个。