Skip to content

Commit f2f21da

Browse files
committed
1 parent fcfe90d commit f2f21da

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

src/vs/code/electron-main/main.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { ILogService, ConsoleLogMainService, MultiplexLogService, getLogLevel }
2323
import { StateService } from 'vs/platform/state/node/stateService';
2424
import { IStateService } from 'vs/platform/state/common/state';
2525
import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment';
26-
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
26+
import { EnvironmentService, xdgRuntimeDir } from 'vs/platform/environment/node/environmentService';
2727
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
2828
import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
2929
import { IRequestService } from 'vs/platform/request/common/request';
@@ -330,11 +330,19 @@ class CodeMain {
330330

331331
private handleStartupDataDirError(environmentService: IEnvironmentService, error: NodeJS.ErrnoException): void {
332332
if (error.code === 'EACCES' || error.code === 'EPERM') {
333+
const directories = [environmentService.userDataPath];
334+
335+
if (environmentService.extensionsPath) {
336+
directories.push(environmentService.extensionsPath);
337+
}
338+
339+
if (xdgRuntimeDir) {
340+
directories.push(xdgRuntimeDir);
341+
}
342+
333343
this.showStartupWarningDialog(
334344
localize('startupDataDirError', "Unable to write program user data."),
335-
environmentService.extensionsPath
336-
? localize('startupUserDataAndExtensionsDirErrorDetail', "Please make sure the directories {0} and {1} are writeable.", environmentService.userDataPath, environmentService.extensionsPath)
337-
: localize('startupUserDataDirErrorDetail', "Please make sure the directory {0} is writeable.", environmentService.userDataPath)
345+
localize('startupUserDataAndExtensionsDirErrorDetail', "Please make sure the following directories are writeable:\n\n{0}", directories.join('\n'))
338346
);
339347
}
340348
}
@@ -392,4 +400,4 @@ class CodeMain {
392400

393401
// Main Startup
394402
const code = new CodeMain();
395-
code.main();
403+
code.main();

src/vs/platform/environment/node/environmentService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { URI } from 'vs/base/common/uri';
1919

2020
// Read this before there's any chance it is overwritten
2121
// Related to https://github.com/Microsoft/vscode/issues/30624
22-
const xdgRuntimeDir = process.env['XDG_RUNTIME_DIR'];
22+
export const xdgRuntimeDir = process.env['XDG_RUNTIME_DIR'];
2323

2424
function getNixIPCHandle(userDataPath: string, type: string): string {
2525
const vscodePortable = process.env['VSCODE_PORTABLE'];

0 commit comments

Comments
 (0)