Was macht Terminal-Öffner?
Verwenden Sie scripts/open-terminal.js, um eine ausführbare Datei und jedes Argument als separate Prozesseinträge zu erhalten. Interpolieren Sie niemals einen Shell-Befehl als Zeichenkette. Behalten Sie jedes Spawn auf shell: false. Standardmäßig einen nicht startenden Plan verwenden. Verwenden Sie --launch erst, nachdem der Benutzer explizit ein echtes Fenster angefordert hat und das argv überprüft wurde. Der gestartete Prozess erbt die vollständige Umgebung des aufrufenden Prozesses, einschließlich Variablen mit Geheimnissen. Der Starter filtert die Umgebung nicht. Führen Sie ihn von einer Shell aus, deren Umgebung sicher ist, sie dem Zielbefehl auszusetzen.
Einen Befehl starten
Geben Sie Starter-Optionen vor -- an, dann genau eine ausführbare Datei, gefolgt von ihrem Argument-Array:
node skills/terminal-opener/scripts/open-terminal.js \
--launch \
--cwd /absolute/host/path \
-- ssh -t example.test command-with-arguments
Führen Sie zuerst den normalen Modus aus. Lassen Sie WezTerm mit seinem Mux und einem neuen Fenster versuchen, dann den Starter auf einen abgetrennten wezterm start-Prozess zurückfallen, falls der Mux nicht verfügbar ist. Wenn der Fallback verwendet wird, lesen Sie muxFailure aus der JSON-Ausgabe (oder der menschenlesbaren Fehlerzeile), um zu diagnostizieren, warum der Mux-Pfad fehlschlug.
Von der Terminal-Konfiguration wiederherstellen
Fügen Sie --recover oder --standalone hinzu, wenn die Benutzerkonfiguration oder der Mux-Zustand den angeforderten Befehl stören könnte. Starten Sie einen abgetrennten WezTerm-Prozess mit:
--skip-config start --always-new-process
Erwarten Sie, dass der Wiederherstellungsmodus absichtlich alle Benutzer-Terminalkonfigurationen überspringt.
Vor dem Start überprüfen
Lassen Sie --launch weg (oder fügen Sie --dry-run hinzu) und fügen Sie --json hinzu, um die genaue ausführbare Datei, argv, das Arbeitsverzeichnis, den Terminal-Adapter, den primären Start und den Fallback zu überprüfen, ohne ein Fenster zu öffnen. Behandeln Sie den JSON-Plan als die Zusammensetzungsgrenze für Aufrufer.
Führen Sie --detect --json ohne Befehl aus, um die Terminalverfügbarkeit zu prüfen. Folgen Sie der zurückgegebenen action, wenn der Adapter fehlt oder nicht unterstützt wird. Verwenden Sie WezTerm für den aktuellen Adapter; behandeln Sie andere angeforderte Terminals als nicht unterstützte Pläne, nicht als auszuführende Befehle.