From 54a3514eb2d32b656f741ee543e6d29b595ff8bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=9C=B1?= <10714957+xiao-zhu245@user.noreply.gitee.com> Date: Thu, 17 Jul 2025 12:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8C=87=E5=AE=9A=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=B8=8B=E6=97=A0=E6=B3=95=E8=87=AA=E5=8A=A8=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E5=88=B0=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/modules/terminal/TerminalManager.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/modules/terminal/TerminalManager.ts b/server/src/modules/terminal/TerminalManager.ts index 8447d84..5c8912b 100644 --- a/server/src/modules/terminal/TerminalManager.ts +++ b/server/src/modules/terminal/TerminalManager.ts @@ -194,8 +194,9 @@ export class TerminalManager { const userExists = await this.checkUserExists(defaultUser) if (userExists) { // 如果配置了默认用户且用户存在,使用su命令切换到该用户 - args.push('-cmd', JSON.stringify(['su', '-', defaultUser])) - this.logger.info(`使用默认用户启动终端: ${defaultUser}`) + // 使用 su -c 来在指定的工作目录中启动bash + args.push('-cmd', JSON.stringify(['su', defaultUser, '-c', `cd '${workingDirectory}' && exec /bin/bash`])) + this.logger.info(`使用默认用户启动终端: ${defaultUser},工作目录: ${workingDirectory}`) } else { // 用户不存在,记录警告并使用默认bash this.logger.warn(`配置的默认用户 '${defaultUser}' 不存在,使用默认bash`)