Не удается открыть код Visual Studio на компьютере Centos 7.3: не удается записать пользовательские данные программы

#linux #visual-studio-code

#linux #visual-studio-код

Вопрос:

Я пытаюсь открыть код Visual Studio (я пробовал версии 1.39.2, а также 1.51.1) на компьютере CentOS 7.3, на котором у меня нет привилегий root. Я использую следующие параметры командной строки :

./VSCode-linux-x64/bin/code —user-data-каталог my_dir -подробный

Однако, несмотря на использование моего собственного каталога с возможностью записи (my_dir), VS Code открывает диалоговое окно с сообщением об ошибке: «Невозможно записать пользовательские данные программы. Пожалуйста, убедитесь, что следующие каталоги доступны для записи: »

 $my_path/mydir 
$my_home_dir/.vscode/extensions
/run/user/31848
 

Из них первые два имеют права на запись, но у меня нет доступа к / run на этом компьютере. Похоже, VS Code нуждается в доступе к этому каталогу для записи некоторых файлов .socket. Это ожидаемое поведение? Есть ли какие — то обходные пути ?

Я также получаю следующее сообщение об ошибке, как только закрываю диалоговое окно :

 [main 2020-12-04T21:31:30.942Z] Error: listen EACCES /run/user/31848/vscode-08e0415b-1.39.2-main.sock
    at Server.setupListenHandle [as _listen2] (net.js:1269:19)
    at listenInCluster (net.js:1334:12)
    at Server.listen (net.js:1432:5)
    at Promise (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:189:883)
    at new Promise (<anonymous>)
    at Object.t.serve (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:189:820)
    at Object.doStartup (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:536:523)
    at i.invokeFunction (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:534:927)
    at h.invokeFunction (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:251:263)
    at Object.startup (/depotbld/RHEL7.0/VS-Code/VS-Code-1.39.2/resources/app/out/vs/code/electron-main/main.js:534:763)
 

Ответ №1:

Я нашел решение этой проблемы :

Расположение каталога tmp можно изменить с помощью среды XDG_RUNTIME_DIR:

XDG_RUNTIME_DIR=my-runtime-dir ./VSCode-linux-x64/bin/code —user-data-dir my_dir