使用screen的多标签SSH客户端

4

有没有一款SSH客户端可以呈现客户端GUI界面给screen*程序?

我想到了一个SSH程序,它将与screen的会话处理挂钩,并将客户端操作映射(点击选项卡、ctrl-tab、滚动,甚至允许同时查看多个选项卡)到任何使远程的screen完成其工作的操作。

* screen程序允许在单个终端会话下使用多个虚拟控制台,例如您可以在单个SSH连接下运行几个应用程序并在它们之间切换以及其他很酷的功能。


你是在问屏幕抓取器吗?不清楚你的意思。 - geoffc
4个回答

2

一个有趣的想法,而且非常可能实现(vim7的标签显示为gnome-terminal中的可点击GUI标签),但我看不出这样做的好处。

使用以下~/.screenrc可以显示“图形”标签:

startup_message off
vbell off
hardstatus alwayslastline
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}]%{=y C}[%d/%m %c]%{W}'

如果你使用 ctrl+a,a 重命名选项卡,那么下面的选项卡将显示为以下样子:

x http://img216.imageshack.us/img216/9401/picture4myi.png

使用 "复制模式" 可以在 screen 会话中滚动屏幕,只需按下 ctrl+a,[ 并使用光标键(按 Escctrl+c 退出)。

您还可以使用 screen -x 标志(而不是 -r)多次附加到同一屏幕会话,因此您可以使用任何带有选项卡的终端仿真器,并为每个屏幕窗口打开一个选项卡。

如果您真的想要开始实施此功能,则其中一个选项是研究修改 gnome-terminal,以复制 vim 的选项卡行为。或者,编写自己的 screen 客户端-您无需执行任何像解析终端这样脆弱的操作-在(通常为)/tmp/uscreens/S-$USER/$PID.sessionname 中有一个 FIFO 文件,我认为这就是 screen 进行通信的方式,记住,screen 是开源的


1

有趣的想法。我每天都在本地机器和SSH会话中使用屏幕。我认为你最大的问题是,我怀疑大多数屏幕用户都像我一样是命令行爱好者,他们不会看到为选项卡制作GUI的好处。实际上,我将所有终端放在一个gnome-terminal窗口下的不同选项卡中,而屏幕的基于文本的选项卡是一个不会混淆两者的好方法。

我认为这是可以做到的,但你需要编写一个专门的终端仿真器,它分析屏幕的输出(自定义.screenrc)并改装GUI。

为了获得最小的收益,需要大量的工作。


现在的日子里,即使是命令行界面(CLI)的追随者也在图形用户界面下运行多个控制台。如果做得对,它几乎是一样的。 - BCS

1

ctrl+a shift+'

.. GUI前端到屏幕?你在说什么?

另外,由于我的声望非常低,我无法发表评论,所以我想对geoffc在问题中的评论进行LOL。


0

我从未见过这种东西,但以下内容可能会对您有所帮助。将其添加到您的 .screenrc 文件中

在底部显示一个“标签”行 caption always "%{.bW}%-Lw%{.rW}%n %t%{-}%+Lw %=%{..G} %{..Y} %m/%d"

将当前程序显示为屏幕名称 [假设您正在使用 bash,且默认情况下您的提示符以"$ "结尾;其他 shell 的操作完全相同]

shelltitle "$ |sh"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接