1 votes

Utilisation de l'argument -new_console de conemu à partir de node exec

ConEmu a une fonctionnalité intéressante à utiliser -new_console lors du lancement d'applications pour les placer dans un nouvel onglet.

Lorsque vous le faites avec putty, putty -new_console, il intègre même joliment le terminal putty à l'intérieur du nouvel onglet.

Cependant, lorsque j'exécute un script node, qui utilise exec('putty -new_console'), il ouvre un nouvel onglet, mais n'arrive pas à capturer le terminal putty lancé.

J'ai lu la majeure partie du wiki ConEmu en essayant de trouver quelque chose lié à un autre processus étant le parent du processus lancé, espérant trouver une solution dans cette direction, mais je n'ai pas réussi à le faire fonctionner.

Pour reproduire, cela devrait suffire:

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

Ce morceau de code node.js ouvrira un nouvel onglet, lancera putty, mais ne capturera pas la fenêtre du terminal.

1voto

Maximus Points 20409

Votre appel n'exécute pas directement putty.exe! Au lieu de cela, il lance cmd.exe avec l'interrupteur /c. Bien sûr, -new_console exécutera cmd.exe dans un nouvel onglet. Et ensuite, putty ne sera pas attaché en tant que ChildGui dans l'onglet ConEmu car il n'y avait pas de demande de ce type!

Vous devez forcer votre nœud à exécuter la commande appropriée. Et ce n'est pas une question liée à ConEmu.

Comme solution de contournement, vous pouvez faire l'appel suivant

exec('ConEmu /reuse /cmd putty')

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X