Як запустити Visual Studio Code як корінь


40

Нещодавно я встановив редактор коду 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 як корінь в Ubuntu 16.04?

редагувати: я вважаю за краще рішення, що дозволяє уникнути зміни дозволів каталогів.

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


6
чому б просто не встановити дозволи на папку проекту, щоб вона могла зберігатись?
The Wanderer

2
Я не розумію, чому ви хочете запустити код як root; це потенційно небезпечно. Ви повинні з'ясувати справжні причини, чому ви не можете зберегти файл.
edwinksl

1
Де папка вашого проекту
Nuwan Thisara

1
@Nuwan /var/www/project(я використовую Apache з vhost)
wdarking

Відповіді:


53

Дуже небезпечно запускати VScode як root (як і будь-який інший додаток), однак, якщо вам абсолютно потрібно:

Ви повинні вказати каталог даних користувачів, який буде використовуватися при запуску vs коду:

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

Потім у вікні ви можете відкрити папку свого проекту

Знову ж таки: це не рекомендується. Весело.

Оновлення травня 2018 року

Для всіх, хто запитує, чому це не рекомендується, ви чітко не розумієте, чому це sudoвзагалі існує. З цього питання AskUbuntu :

Він перемагає модель безпеки, яка існує роками. Програми призначені для запуску з адміністративною безпекою (або як просто смертні), тому вам доведеться підвищити їхні привілеї для зміни базової системи. Наприклад, ви не хочете, щоб останнім збоєм Rhythmbox було видалено всю каталог / usr через помилку. Або та вразливість, яка щойно була розміщена в ProFTPD, щоб зловмисник мав змогу отримати оболонку ROOT.

Це просто хороша практика в будь-якій операційній системі запускати ваші програми на рівні користувача та залишати адміністративні завдання кореневому користувачеві, і лише за потребою.

Я не кажу, що ніколи не слід використовувати VSCode як корінь (хоча це досить легко уникнути). Я кажу, що вам слід бути обережними, коли ви хочете це зробити і знати ризики.

Абсолютно найкраще, що потрібно зробити, - це зробити копію обмеженого файлу, відредагувати його та скопіювати назад, коли ви абсолютно впевнені, що це закінчено.

Також для редагування файлів, на які ваш користувач не має дозволів, я б рекомендував відповідь Talha Junaid, яка просить дозволу щоразу, коли ви хочете зберегти файл. Підказки до кореневого доступу не було, коли я писав цю відповідь.


4
чому не рекомендується запускати VScode як root? Як щось змінити, наприклад, у хостах? Мені знадобиться кореневий дозвіл ні?
zwitterion

1
Спасибі це працює: тепер у мене є одне вікно VSCode, що працює як root, і я хочу запустити інше вікно vscode як root, чи можливо це?
RLaaa

1
Так, можливо, відкрийте інший термінал.
Лукас DAW

3
@MarcoDufal Абсолютно ні. Це жахлива ідея. Особливо, працюючи з файлами ОС, ви абсолютно не повинні встановлювати дозвіл на 777. Це означає, що все в системі, незалежно від того, хто / що її запустив або що це дозволило зробити, має дозвіл на зміну цього набору файлів і папок. Максимум, ви повинні "Влаштовувати" файли, щоб ви могли редагувати їх чимось ближче до 755 дозволів.
zawata

3
@zawata ви абсолютно праві! Прошу вибачення новачка. Дякую за голову вгору!
Марко Дюфал

14

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

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

    Не вдалося зберегти "grub": недостатньо дозволів. Виберіть "Спроба як адміністратора", щоб повторити спробу як адміністратор

    введіть тут опис зображення

  • Натисніть на Retry as Admin. Він запитає облікові дані адміністратора

    введіть тут опис зображення

  • Введіть облікові дані та насолоджуйтесь збереженням файлів за допомогою коду vs.


1
Чи можна це зробити, не роблячи це кожен раз для кожного файлу? У мене є сотні файлів, які мені потрібно внести зміни, і VS Code постійно запитує мій пароль. Я готовий кинути ноутбук на стіну.
Джошуа Кеммерер

Тоді ви можете слідувати прийнятій відповіді, наведеній вище. askubuntu.com/a/820205/367228
Талха

4

Ви повинні дати дозвіл на папку html.

спробуйте це у своєму терміналі.

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

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


9
Це найглупіша порада, що коли-небудь ... є обмежені права для припинення шкідливих процесів для зміни або знищення вашої системи. Працюйте над копією обмежених файлів, а потім скопіюйте їх на місці, а ще краще, зробіть сценарій встановлення, щоб це зробити. Ви також можете додати свого користувача до групи, що володіє каталогами та файлами.
Сорен А

CD у папку вашого проекту та запустіть sudo chmod -R 777 <project_dir_name> і готово
lilhamad

1
CD у папку вашого проекту та запустіть sudo chmod -R 777 <project_dir_name> і готово
lilhamad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.