Как запустить Visual Studio Code от имени пользователя root

Я недавно установил редактор кода Visual Studio. Я скачал 32-битный пакет.deb. Устанавливается и работает нормально, но когда я пытался сохранить файл в папке моего проекта, он возвращает разрешение отклонено. Итак, я перезапустить код с

sudo code .

и он возвращается

It is recommended to start vscode as a normal user.
To run as root, you must specify an alternate user data directory with the --user-data-dir argument.

Я искал, как указать альтернативный каталог пользовательских данных с --user-data-dir аргумент, но я не нашел много.

Итак, как мне запустить Visual Studio Code от имени root в Ubuntu 16.04?

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

edit2: каталог проекта: /var/www/project (Я использую Apache с vhost)

5 ответов

Решение

Однако запускать VScode от имени root (как и любого другого приложения) очень опасно, если вам абсолютно необходимо:

Вы должны указать каталог пользовательских данных, который будет использоваться при запуске против кода:

sudo code --user-data-dir="~/.vscode-root"

Затем из окна вы можете открыть папку вашего проекта

Опять же: это не рекомендуется. Повеселись.

Обновление май 2018

Для всех, кто спрашивает, почему это не рекомендуется, вы явно не понимаете, почему sudo даже существует. Из этого вопроса AskUbuntu:

Это побеждает модель безопасности, которая существовала годами. Приложения должны запускаться с неадминистративной безопасностью (или как простые смертные), поэтому вам необходимо повысить их привилегии, чтобы изменить базовую систему. Например, вы не хотели бы, чтобы недавний сбой Rhythmbox уничтожил весь каталог / usr из-за ошибки. Или ту уязвимость, которая была только что опубликована в ProFTPD, чтобы позволить злоумышленнику получить оболочку ROOT.

В любой операционной системе просто рекомендуется запускать приложения на уровне пользователя и оставлять административные задачи пользователю root и только по мере необходимости.

Я не говорю, что вы никогда не должны использовать VSCode в качестве пользователя root (хотя его довольно легко избежать), я говорю, что вы должны быть осторожны, когда вы хотите это сделать, и знать риски.

Абсолютно лучшее, что нужно сделать, это сделать копию файла с ограниченным доступом, отредактировать его и скопировать обратно, когда вы абсолютно уверены, что он закончен.

Также для редактирования файлов, к которым у вашего пользователя нет прав доступа, я бы порекомендовал ответ Talha Junaid, который запрашивает разрешения каждый раз, когда вы хотите сохранить файл. Когда я написал этот ответ, подсказка для root-доступа не существовала.

На всякий случай, если вы хотите внести изменения в один файл, я бы предпочел следующий подход.

  • Запустите vs-code от имени обычного пользователя.
  • внести изменения в файл
  • File -> Save или нажмите Ctrl + S
  • vs-код выскочит ошибка в правом нижнем углу, сказав

    Не удалось сохранить "grub": недостаточно прав. Выберите "Повторить как администратор", чтобы повторить как администратор

  • Нажмите на Retry as Admin, Он запросит учетные данные администратора

  • Введите учетные данные и наслаждайтесь сохранением файлов с помощью vs-кода.

чтобы открыть vs-code как root, откройте терминал и:

sudo code /directory-to-open --user-data-dir='.' --no-sandbox

убедитесь, что вы тоже это проверили: https://stackoverflow.com/a/68637450/10606346

Вы должны дать разрешение вашей папке HTML.

попробуйте это в вашем терминале.

sudo chmod -R 777 /var/www/html/

Предоставление привилегий root для VS Code или любого другого приложения уровня пользователя - не лучшая идея. Вместо того, чтобы предоставлять VS Code привилегии root, гораздо лучше дать разрешение на папку вашего проекта.

Ты можешь использовать sudo chmod -R 777, но, честно говоря, я бы не рекомендовал его, потому что он дает полный доступ к вашему каталогу проекта всем пользователям на машине.

Ты можешь использовать chown в каталоге проекта, чтобы владеть им только для себя

cd /location

sudo chown your_username your_project_directory

пример

скажем, у меня есть каталог с именем project1 в моем /var/opt местоположение и мое имя пользователя mir

cd /var/opt

sudo chown mir project1

Теперь запустите свой VS Code и попробуйте создать какой-нибудь файл, изменить и сохранить его, вы больше не будете запрашивать права root

Однако, если вы уже создали какой-то файл перед применением chown, не забудьте также изменить их разрешение

sudo chown your_username your_project_directory/your_file_name

пример

sudo chown mir project1/file1.txt
Другие вопросы по тегам