web-dev-qa-db-fra.com

Vscode dans WSL: comment sudo un fichier racine afin que je puisse le modifier

WSL V.1 - VSCODE V1.40.1 (Utilisation de l'extension 'Remote - WSL' 40.3)

Comment ouvrir un fichier appartenant à une racine pour modifier avec sudo et vscode? (Sans courir en tant que root)

Si j'ouvre un fichier racine sans Sudo, je ne peux pas le modifier (attendu): $ code /etc/profile.d/custom-profile.sh $ $

enter image description here

Mais si j'essaie de Sudo code Le fichier, je reçois:

$ Sudo code /etc/profile.d/custom-profile.sh
[Sudo] password for xxxx:
Sudo: code: command not found

La réponse de Binarify ci-dessous montre que je peux changer l'utilisateur par défaut à root, mais je ne veux absolument pas courir en tant que root, alors je suis toujours à la recherche d'une autre solution.

19
Hawkeye Parker

Ssh en tant que root à travers le code vs

Je ne sais pas si c'est la meilleure approche, mais cela a fonctionné pour moi. Notez que cela ne doit être utilisé que sur des fichiers que seule la racine a accès en premier lieu. Je pense que les fichiers sauvegardés appartiennent à la racine. Utilisez-le pour modifier rapidement certains paramètres mais ne pas écrire de code pouvant effectué par l'utilisateur ordinaire.

1. Installez SSH-Server sur WSL

Sudo apt install ssh

2. Autoriser la connexion à distance en tant que root.

Éditer ou ajouter PermitRootLogin yes à l'intérieur /etc/ssh/sshd_config

3. Redémarrez SSH Server

Sudo service ssh stop
Sudo service ssh start

4. Connectez-vous à WSL dans le code VS

Ctrl + Shift + P -> Remote SSH: Add new ssh Host -> [email protected] Acceptez toutes les empreintes digitales et toutes les trucs et vous êtes en tant que root. Vous devriez être capable de faire n'importe quoi maintenant.

1
Pavel Skipenes

Définir la variable d'environnement:

export VISUAL="code -nw"

Ensuite, vous pouvez modifier n'importe quel fichier comme celui-ci:

Sudo -e file

Il effectuera automatiquement une copie du fichier et, lorsque vous fermez l'éditeur, copiez-le.

0
Barafu Albino