Требуемый ввести пароль каждый раз я хочу сохранить файл в VSCode

Поскольку я читал вокруг из нескольких потоков здесь. Я не должен выполнять VSCode как корень, потому что это опасно. Но каждый раз, когда я поразил CTRL+S, я должен спуститься до нижнего правого выполнения и выполнения щелчка как администратор и ввести мой пароль. Не только однажды, но и каждый раз я сохранил файл. Даже тот же файл, который я уже просто сохранил 2 секунды назад.

Я сохраняю файлы в папке на своем рабочем столе: ~/Desktop/github.

Почему это происходит и как я могу избежать его?

3
задан 26 May 2018 в 18:01

5 ответов

Вы не владеете каталогом "GitHub"

Откройте терминал

cd Desktop
chown $USER:$USER github

... и можно сохранить файлы в том каталоге. Но действительно имейте думание об этом 1-м: кто или что создало его? Возможно, Вы, как предполагается, не используете тот каталог? Это называют GitHub по определенной причине? Я предположил бы, что VSCode будет использовать "Документы".

2
ответ дан 1 December 2019 в 15:21

проверьте владение и полномочия для того файла.

ls -l

это даст Вам список файла, разрешение и владение. Вот пример, снимок экрана списка файлов. Если у Вашего пользователя нет владения, можно изменить его использование

sudo chown -R $USER:$USER FOLDER_NAME

или если Вы находитесь в группе пользователей (как www-данные) и Вашей группе пользователей собственные файлы, но Вы не можете сделать изменений, необходимо изменить уровень разрешения на 775 путем выполнения этого.

sudo chmod 775 FILE_NAME
5
ответ дан 1 December 2019 в 15:21

Выполнение VSCode как корень на Уэйленде

Если Ваш дистрибутив использует Уэйленд, а не X11, чем выполнение vscode, поскольку sudo не будет работать.

Единственное решение, в которое я приехал после маленького исследования, состояло в том, чтобы создать сценарий удара, который использует известное и принятое обходное решение xhost корень.

Сохраните следующий сценарий в/home/your-username/bin (создайте, если не существует), также удостоверьтесь, чтобы Вы добавили что папка к своему пути. Я назвал файл, содержащий сценарий wsudocode

Примечание: Этот сценарий предполагает, что Ваш пользовательский dir данных для корня vscode /home/your-username/.vscode-root

#!/bin/bash
#small script to enable root access to x-windows system 
xhost +SI:localuser:root
sudo code --user-data-dir=/home/$USER/.vscode-root --verbose $1 > /dev/null 2>&1
#disable root access after application terminates
xhost -SI:localuser:root
#print access status to allow verification that root access was removed
xhost

Использование

wsudocode [target file or directory path]

Примечания

По некоторым причинам это кажется смешным, я мог только заставить vscode работать как sudo этот путь с - подробная опция, следовательно почему это находится в сценарии.

Также помните, что VSCode сохранит все файлы с корневыми полномочиями, когда выполнено как корень, это может быть непреднамеренно, и таким образом необходимо было бы изменить владение и вероятные полномочия сохраненных файлов, если это верно.

Адаптированный из универсального решения jeepr здесь https://www.reddit.com/r/Fedora/comments/5eb633/solution_running_graphical_app_with_sudo_in/

-1
ответ дан 1 December 2019 в 15:21

Вам необходимо удалить разрешения только на чтение из папки приложения следующим образом:

sudo chmod -R 7777 <project_folder_name>
-1
ответ дан 14 March 2020 в 16:25

Если у кого-то по-прежнему возникают проблемы с этим после выполнения некоторых из описанных выше шагов, дважды проверьте свои расширения VSCode. Для меня действительно не VSCode имел дело с ошибками разрешений, а скорее расширение SFTP VSCode, которое я установил.

0
ответ дан 30 April 2020 в 20:11

Другие вопросы по тегам:

Похожие вопросы: