使用 conemu -new_console 从 node exec 切换

使用 conemu -new_console 从 node exec 切换

ConEmu 有一个很好的功能,可以在启动应用程序时使用 -new_console 将它们放在新选项卡中。

当使用 putty 执行此操作时putty -new_console,它甚至可以将 putty 终端很好地集成到新选项卡中。

但是,当我运行节点脚本时,它exec('putty -new_console')会打开一个新选项卡,但无法捕获已启动的 putty 终端。

我已经阅读了 ConEmu wiki 的大部分内容,试图找到与作为启动进程的父进程的另一个进程相关的内容,希望找到这个方向的解决方案,但却没能让它发挥作用。

为了重现,这应该足够了:

var exec = require('child_process').exec; exec('putty -new_console');

这段 node.js 代码将打开一个新标签,启动 putty,但不会捕获终端窗口。

答案1

您的调用不会直接执行 putty.exe!而是使用 /c 开关运行 cmd.exe。当然,-new_console 将在新选项卡中运行 cmd.exe。然后 putty 将不会作为 ChildGui 附加到 ConEmu 选项卡中,因为没有这样的请求!

您需要强制节点运行正确的命令。这不是与 ConEmu 相关的问题。

作为解决方法,您可以执行以下操作:

exec('ConEmu /reuse /cmd putty')

相关内容