如何在 SSH 终端会话中拥有多个窗口?

如何在 SSH 终端会话中拥有多个窗口?

我从 Mac OSX 登录到处理并行计算作业的远程服务器。我无法在此服务器上安装任何东西,因为它由大学管理。我正在运行多个作业,并希望通过以下方式监视日志文件:

tail -f logfile.log

现在我有四个作业正在运行,我打开四个终端窗口,通过 SSH 连接服务器四次,并对tail不同的日志文件(位于服务器上的不同文件夹中)执行四次命令。我感觉我这样做的方式不太理想,我只想通过 SSH 连接一次,然后从一个终端窗口使用该命令在单独的窗口(或选项卡)中打开所有四个日志文件tail

可以吗?还是必须签四次?

答案1

tmux 是一个与 screen 类似的较新的选项。对于较新的操作系统,它可能比 screen 更容易找到。您可以找到文档这里

答案2

屏幕实用程序将允许在一个会话中拥有多个窗口。(您必须在服务器端安装它)

这家伙向你展示了命令了解如何在同一个终端窗口内分割视图。

它也适用于重新连接到断开的会话

更新:

请注意,screen 和 tmux 会话都将“存在于”一个会话中,该会话仍将只为您提供 OSX 终端应用程序本身的一个窗口或选项卡(即使这些实用程序允许您在该视图中拥有多个“窗口/视图”)。请参阅该用户的评论

ssh 连接是在一个 shell 中运行的单个进程,当您创建新选项卡时,您正在创建一个不会运行此进程的新本地 shell。此外,远程服务器不会接受未经身份验证的重复连接。本质上,这是不可能做到的。您可以做的最接近的事情是利用 bash 历史记录,然后按向上箭头滚动浏览您最近的命令,直到找到您用于当前连接的 ssh 命令,然后执行它。

如果您仍希望在 OSX 终端应用程序本身中拥有多个窗口/选项卡,则需要多次“登录”。一些用户已创建脚本来尝试协助此过程。

此用户解决方案可能最适合你。该用户创建菜单用于他的远程连接。

我见过的其他解决方案仅适用于本地会话,但想法是类似的。

答案3

我个人最喜欢的工具是屏风。它位于 tmux 或 screen 之上,并在这些程序中内置了不错的插件,以便更轻松地查看您打开了多少个终端。实际上,它只是让这些程序更易于使用。

答案4

相关内容