Cmder/Conemu:动态命名选项卡标题的任务定义

4
我正在使用Putty在Cmder中ssh到“跳板机”。然后,我使用-m ssh选项将文件中的主机名传递给“真实”目标主机。我想从Cmder/ConEmu中的任务定义动态设置putty选项卡的标题为我要跳转到的主机名。在下面的截图中,您可以看到我尝试使用“%REMOTE_HOST%”来传递包含我想要在选项卡上拥有的标题的环境变量。但是这只会创建一个名为%REMOTE_HOST%的选项卡。非常感谢任何帮助。

enter image description here


回答:在您的环境变量中未定义 HOST - Maximus
@Maximus,我现在已经将HOST重命名为REMOTE_HOST,以澄清为什么我需要动态设置。但是在我运行此代码时,HOST和现在的REMOTE_HOST确实是有效的环境变量。只是似乎ConEmu在使用-new_console:t标志时不会对它们进行评估。 - Ben
当然,“-new_console:t”参数仅在控制台启动期间生效。 - Maximus
但是它在控制台启动时会评估环境变量吗?看起来不是这样。例如,尝试放置-new_console:t:“%PATH%”。选项卡名称将是文字“%PATH%”,而不是被评估的值。 - Ben
1个回答

7
我已经解释了很多次,PuTTY和mintty不是控制台应用程序,它们是带有自己图形界面的GUI应用程序
比喻一下:在Windows(作为主机)中运行VirtualBox与Ubuntu(作为客户端),并在VirtualBox中的Ubuntu中运行某些控制台应用程序。您是否想知道为什么Windows的任务栏没有显示Ubuntu控制台的标题?
当您在ConEmu中运行ChildGUI时,它会在Tab子窗口标题中显示。

您需要做的

配置PuTTY或远程主机(例如使用ANSI的bash提示符)以在PuTTY标题中显示正确的文本。这个问题与ConEmu无关。
此外,请确保ConEmu/Cmder设置中的选项卡栏控制台模板为%s或包含%s。例如:

enter image description here


1
有趣的是,远程主机确实使用ansi设置标题。例如 "\033]0;"myhost"\007"。但是在Cmder中,标题仍显示为“Putty”。然而......当我点击“重命名选项卡”时,主机名会出现在编辑框中,而且如果我什么都不改变,点击确定,选项卡标题就会从“Putty”更改为真正的主机名。就像我想要的一样! - Ben
  1. 屏幕截图显示的是旧的ConEmu版本。
  2. 你可以使用-new_console:t重命名选项卡吗?
  3. 这取决于您配置的选项卡模板。
- Maximus
  1. 是的,抱歉,这是一个旧版本。它是随Cmder下载一起提供的。我所在的公司,出于某种原因,已经封锁了github.io。
  2. 我尝试删除“-new_console:t rename”,但仍然出现相同的行为。
  3. 抱歉,请问您所说的选项卡模板是什么意思?
- Ben
所以,您无法访问文档网站吗?https://conemu.github.io/en/InternetIssues.html#auto-location 和 https://conemu.github.io/en/SettingsTabBar.html#id2106 - Maximus

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