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')