我已经创建了一个键盘快捷键,可以启动与我的服务器的 SSH 会话,它可以按预期工作并且没有任何问题。
但是,为了能够更快地访问多个日志文件,我不得不使用相同的命令打开多个终端,这意味着每个终端都有自己的 ssh 会话。
想要发生的是只有一个终端/ssh 会话并在单独的选项卡下打开每个日志文件。
您将如何处理这个问题?
我当前使用的键盘快捷键是:(之前为 -x 更新为 --):
gnome-terminal -- ssh server1r
注意:server1r 只是 ~/.ssh/config 中的一个预定义的 ssh 配置。
之前:在终端运行此命令会创建一个显示错误日志的新选项卡:
gnome-terminal --tab-with-profile=basic -- ssh server1r "tail /var/log/apache2/error.log -f"
以前:这是我现在使用从各种来源收集的信息(包括 man gnome-terminal)的情况:
gnome-terminal --tab-with-profile=basic -- ssh server1r "tail ~/logs/error.log -f -n500" && gnome-terminal --tab-with-profile=basic -- ssh server1r "tail ~/logs/access.log -f -n500"
上述代码在终端中完美运行,创建了两个新选项卡,并显示了日志条目。但是,将命令放入键盘快捷键中无法按预期工作。仅打开了第一个日志,没有创建任何选项卡。
键盘快捷键输入方式与上述完全相同:设置 > 设备 > 键盘 > 自定义快捷键
最后更新: 我使用最后一个代码块创建了一个 bash 脚本作为临时解决方法,为每个日志提供了一个终端。从现在起,我会定期检查,看看是否有人能提供更好的解决方案,但至少现在我可以通过一个键盘快捷键打开所有所需的日志。
答案1
将您的快捷方式更改为如下内容:
gnome-terminal --tab -- "ssh user@server1r" --tab -- "ssh user@server1r"
继续添加您需要的标签数量。
如果您想直接在服务器上运行命令,您可以通过 ssh 添加 tail 命令或在 SSH 命令 fx 后使用的任何命令:
ssh user@server1r tail /var/log/messages -f
这将通过 SSH 连接到该框并开始跟踪 /var/log/messages。
但是,如果您停止它,它将结束 ssh 会话。
因此快捷方式最终会变成这样:
gnome-terminal --tab -- "ssh user@server1r tail /var/log/messages -f" --tab -- "ssh user@server1r tail /var/log/secure -f"
这当然需要配置 SSH 密钥,看来您已经拥有了。
如果你想确保它是一个新窗口(如果你已经在运行某个终端)
添加此几何形状,调整为您想要的任何形状:
--geometry=80x16+0+0 --window