是否有一个命令可以让 ubuntu、mint 之类的系统打开 n 终端、自动命名这些终端、连接并在远程服务器上进行 cd?

是否有一个命令可以让 ubuntu、mint 之类的系统打开 n 终端、自动命名这些终端、连接并在远程服务器上进行 cd?

每天早上,我必须在 Linux 发行版上打开许多远程会话,将会话标记为 Windows,键入 ssh user@server 并 cd 到该服务器上的目录。我想节省时间并自动按以下方式执行此操作:

假设在一个框架内打开五个不同的远程会话终端窗口,让它们自动标记为“Windows、Windows 等”,让它们通过 ssh 连接到远程服务器,最后 cd 到这些远程服务器上的某个目录,所有操作只需一个终端命令或 GUI 单击即可完成。

有哪些方法可以实现这一点?

答案1

您可以尝试 ClusterSSH 应用程序:

http://sourceforge.net/projects/clusterssh/

答案2

只要 n-term 和 gnome-terminal 具有类似的语法,具有类似内容的 bash 脚本就应该可以工作。您可以通过手动将窗口放置在所需位置然后运行 ​​xwininfo 来获取几何值。

干杯。


/usr/bin/gnome-terminal --geometry 95x9+2+844 --window --title=SERVER1 -e "ssh -t[电子邮件保护]'cd /usr/local/bin; bash'” --active --tab --title=SERVER2 -e “ssh -t[电子邮件保护]‘cd /usr/local/bin; bash’” &

答案3

你可以写一个简单的脚本:

#!/usr/bin/bash

xterm -T "Window 1" -e "ssh -t user@server1  'cd /usr/share; othercmd; bash -i' "&
xterm -T "Window 2" -e "ssh -t user@server2  'cd /usr/share; othercmd;  bash -i'"&
xterm -T "Window 3" -e "ssh -t user@server3  'cd /usr/share; othercmd;  bash -i'"&
xterm -T "Window 4" -e "ssh -t user@server4  'cd /usr/share; othercmd;  bash -i'"&

这将生成 xterms(根据需要使用另一个终端程序),每个终端都登录到指定的服务器(server1-4),然后运行指定的命令(cd 和 othercommand)并让指定的 shell(bash)保持运行。标题使用 -T 选项设置(对于 xterm,其他终端仿真器可能... 有不同的选项)。

不算漂亮,但也不至于太可怕。

您也可以使用 screen 而不是 xterms,并且可能在特定的 screen.rc 文件中完成所有操作。XFCE 终端程序(我目前最喜欢的程序,可在 XFCE 之外的任何其他 DE 中使用)接受相同的命令行选项。Gnome-terminal 不接受。不确定 KDE 或其他程序,但我确信有类似的东西。

在 XFCE 终端中,用如下一行替换该脚本:

#!/usr/bin/bash

Terminal --tab -T "Window 1" -e "ssh -t root@flock  'cd /usr/share; bash -i' " --tab -T "Window 2" -e "ssh -t root@treepie  'cd /usr/share; bash -i'" --tab -T "Window 3" -e "ssh -t root@magpie  'cd /usr/share; bash -i'" --tab -T "Window 4" -e "ssh -t root@raven  'cd /usr/share; bash -i'"&

...您将获得一个带有多个标签的窗口。

答案4

安全面板ClusterSSH 集成,维护您的远程主机书签并为终端窗口添加标题。

相关内容