Change:
Type: <bBug</bThe terminal cannot be opened when multiple users use remote-ssh When I used Remote-SSH today, I found that the terminal could not be opened. After checking the log, I found the following error output: Since the terminal I use is , vscode-server copies my to , and the permission of this file belongs to me. As a result, the other users who use as the terminal cannot open the terminal when using Remote-SSH for no permission to overwrite this file. And I find that when the user uses bash, vscode-server does not copy to . Therefore, this bug does not exist when is used by all users VS Code version: Code 1.70.0 (, 2022-08-04T04:38:55.829Z) OS version: Darwin x64 20.6.0 Modes: Remote OS version: Linux x64 5.4.0-122-generic Remote OS version: Linux x64 5.4.0-122-generic <details<summarySystem Info</summary </details<details<summaryExtensions (10)</summaryExtensionVersion ------ pythonsnippets1.0.2 vscode-language-pack-zh-hans1.70. jupyter-keymap1.0.0 remote-containers0.241.3 remote-ssh0.84.0 remote-ssh-edit0.80.0 material-icon-theme4.19.0 svg-preview2.8.3 jinja0.0.8 material-theme3.15.2 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
EDIT: I found the log... I encountered the same problem. When upgrading to 1.70 the zsh shell only opens for the first remote user...
You can find the error log in of , as shown below. <img width="1099" alt="" src="https://user-"After I rolled the software back to the previous version, the issue was solved.
Thx, I found the log also now. Rolling back to 1.69.2 and disabling auto update of VSCode solves the problem currently... I hope the VSCode team will take care of this issue, for the next release
I tried also to find the line which is copying the file in the script, but was not really able to find it... I believe the command is hidden somewhere in the method
Thanks for the report, you can workaround this by disabling shell integration automatic injection with and then in your :
thanks, your workaround works!
yes thanks, I was having to go back to the previous release until sent me here!
This is fixed in that it will no longer block the terminal from being created, as called out in though we need to make sure that multiple users are able to write the same file. We could perhaps solve this by moving the zsh shell integration files into their own folder in the bundle and just use that?
is this workaround still valid or should we be waiting for an update in vs code?
it's fixed in insider's it's reopened bc of some complications that the fix has caused

Discussion:
newArgs = [...newArgs]; // Shallow clone the array to avoid setting the default array newArgs[newArgs.length - 1] = format(newArgs[newArgs.length - 1], appRoot); // Move .zshrc into $ZDOTDIR as the way to activate the script <del> const zdotdir = path.join(os.tmpdir(), 'vscode-zsh'); </del> <ins> const zdotdir = path.join(os.tmpdir(), `${os.userInfo().username}-vscode-zsh`); </ins> envMixin['ZDOTDIR'] = zdotdir; const filesToCopy: IShellIntegrationConfigInjection['filesToCopy'] = []; filesToCopy.push({

*--------------------------------------------------------------------------------------------*/ import { deepStrictEqual, ok, strictEqual } from 'assert'; <ins> import { userInfo } from 'os'; </ins> import { NullLogService } from 'vs/platform/log/common/log'; import { ITerminalProcessOptions } from 'vs/platform/terminal/common/terminal'; import { getShellIntegrationInjection, IShellIntegrationConfigInjection } from 'vs/platform/terminal/node/terminalEnvironment';

if (process.platform !== 'win32') { suite('zsh', () => { suite('should override args', () => { <del> const expectedDir = /.+/vscode-zsh/; const expectedDests = [/.+/vscode-zsh/.zshrc/, /.+/vscode-zsh/.zprofile/, /.+/vscode-zsh/.zshenv/, /.+/vscode-zsh/.zlogin/]; </del> <ins> const username = userInfo().username; const expectedDir = new RegExp(`.+/${username}-vscode-zsh`); const expectedDests = [ new RegExp(`.+/${username}-vscode-zsh/.zshrc`), new RegExp(`.+/${username}-vscode-zsh/.zprofile`), new RegExp(`.+/${username}-vscode-zsh/.zshenv`), new RegExp(`.+/${username}-vscode-zsh/.zlogin`) ]; </ins> const expectedSources = [ /.+/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-rc.zsh/, /.+/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-profile.zsh/,