터미널 오프너은(는) 무엇을 하나요?
scripts/open-terminal.js를 사용하여 실행 파일과 모든 인수를
개별 프로세스 항목으로 보존합니다. 셸 명령 문자열을 절대 보간하지 마세요.
모든 spawn은 shell: false로 유지하세요. 기본적으로 실행하지 않는 계획을 제공합니다.
사용자가 명시적으로 실제 창을 요청하고 argv가 검토된 후에만 --launch를 사용하세요.
실행된 프로세스는 호출 프로세스의 전체 환경을 상속받으며,
여기에는 비밀 변수도 포함됩니다. 실행기는 환경을 필터링하지 않습니다.
대상 명령에 노출되어도 안전한 셸에서 실행하세요.
명령 실행
실행기 옵션을 -- 앞에 전달하고, 그 뒤에 정확히 하나의 실행 파일과
인수 배열을 전달하세요:
node skills/terminal-opener/scripts/open-terminal.js \
--launch \
--cwd /absolute/host/path \
-- ssh -t example.test command-with-arguments
먼저 일반 모드로 실행하세요. WezTerm이 mux로 새 창을 시도하게 한 후,
mux를 사용할 수 없으면 실행기가 분리된 wezterm start 프로세스로 폴백하도록 하세요.
폴백이 사용되면 JSON 출력(또는 사람이 읽을 수 있는 실패 줄)에서 muxFailure를 읽어
mux 경로가 실패한 이유를 진단하세요.
터미널 설정에서 복구
사용자 설정이나 mux 상태가 요청된 명령을 방해할 수 있는 경우 --recover 또는
--standalone을 추가하세요. 분리된 WezTerm 프로세스를 다음으로 시작하세요:
--skip-config start --always-new-process
복구 모드는 모든 사용자 터미널 설정을 의도적으로 건너뛸 것으로 예상하세요.
실행 전 검사
--launch를 생략하거나(또는 --dry-run을 추가) --json을 추가하여
정확한 실행 파일, argv, 작업 디렉터리, 터미널 어댑터, 기본 실행 및
폴백을 창을 열지 않고 검사하세요. JSON 계획을 호출자를 위한 구성 경계로 취급하세요.
--detect --json을 명령 없이 실행하여 터미널 가용성을 탐색하세요.
어댑터가 없거나 지원되지 않을 때 반환된 action을 따르세요.
현재 어댑터에는 WezTerm을 사용하세요. 다른 요청된 터미널은 실행할 명령이 아닌
지원되지 않는 계획으로 취급하세요.