From 70d416fa18f2e2cc9e14db7ed3c48e87e4c3ddc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Thu, 16 Apr 2026 22:59:06 -0400 Subject: [PATCH] fix(connector-auth): expand Linux terminal candidates and honor $TERMINAL --- src/main/connector-auth-service.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/connector-auth-service.ts b/src/main/connector-auth-service.ts index 0623d8ee..e036ffdb 100644 --- a/src/main/connector-auth-service.ts +++ b/src/main/connector-auth-service.ts @@ -53,13 +53,24 @@ function spawnTerminalWithScript(script: string, _title: string, _cwd: string): return true; } - // Linux — try multiple terminal emulators - const linuxCandidates: Array<[string, string[]]> = [ + // Linux — try $TERMINAL first, then a broad list of common emulators. + // Supported list documented in docs/platform-support.md. + const linuxCandidates: Array<[string, string[]]> = []; + const envTerminal = process.env.TERMINAL?.trim(); + if (envTerminal) { + linuxCandidates.push([envTerminal, ["-e", "sh", "-lc", script]]); + } + linuxCandidates.push( ["x-terminal-emulator", ["-e", "sh", "-lc", script]], ["gnome-terminal", ["--", "sh", "-lc", script]], ["konsole", ["-e", "sh", "-lc", script]], ["xfce4-terminal", ["-e", `sh -lc ${quoteShell(script)}`]], - ]; + ["kitty", ["sh", "-lc", script]], + ["alacritty", ["-e", "sh", "-lc", script]], + ["wezterm", ["start", "--", "sh", "-lc", script]], + ["tilix", ["-e", "sh", "-lc", script]], + ["terminator", ["-e", `sh -lc ${quoteShell(script)}`]], + ); for (const [binary, args] of linuxCandidates) { const availability = spawnSync("sh", ["-lc", `command -v ${quoteShell(binary)}`], {