Como edito o .bashrc
arquivo no subsistema Windows para Linux com segurança?
Este artigoalerta para nunca editar arquivos armazenados na AppData
pasta WSL usando ferramentas do Windows.
Mas então como você edita arquivos .bashrc
de maneira segura?
Responder1
Use o editor integrado nano
como:
nano ~/.bashrc
Os atalhos mais importantes nano
são Ctrl+ Opara salvar o arquivo e Ctrl+ Xpara fechar o editor.
Um guia simples de uso nano
pode ser encontrado noWiki do Gentoo Linux.
Responder2
Eu pensoCódigo do Visual Studiofunciona bem. Basta instalar oRemoto - WSLextensão.
Para usá-lo basta abrir cmd e digitar bash
. Em bash
type cd
, então use code .bashrc
.
Voilá! O VS Code abre no WSL e você pode editar os arquivos que desejar.
Responder3
Desculpe adicionar mais uma resposta aqui, mas a pergunta em si (junto com todas as outras respostas aqui) precisacontextoisso está faltando para qualquer outra pessoa que venha e tente entendê-lo.
O aviso da Microsoft vinculado à pergunta original refere-se à edição de arquivos WSL1através do Windowsusando %AppData%
o caminho do Windows. Na versão 1 do WSL (mas não na versão 2), o WSL armazenou todo o sistema de arquivos da instância do Linux em uma pasta do Windows. Esses arquivos, embora visíveis para o usuário no Windows, não devem ser editados no Windows. Como diz o aviso, a corrupção da instância WSL é provável se for ignorada.
Isso não é um problema no WSL versão 2. Como o sistema de arquivos é armazenado em um disco virtual, simplesmente não é possível editar o sistema de arquivos diretamente.
Em qualquer versão, no entanto,éseguro para editar os arquivos (incluindo ~/.bashrc
)dentroa instância WSL. Pronto, é apenas um arquivo normal no sistema de arquivos WSL. As duas respostas de 2019 (Besta de CaerbannogeWinEunuuchs2Unix) utilizam essa abordagem. Não há nada de errado com isso - ambas são respostas corretas. Embora eu diria que instalar um Windows X Server e gedit
apenas editar um arquivo WSL é provavelmente um exagero. Praticamente qualquer outro editor também poderia ter sido citado (alguém quer fornecer uma resposta do Emacs para completar? ;-)).
OResposta de 2020 de Brixton Mavu, que menciona o uso de VSCode, também é uma variação da mesma ideia. Mesmo usando uma ferramenta Windows, o VSCode lança um servidor dentro da instância WSL com o qual se comunica para permitir a edição, navegação e até depuração da instância WSL.
Então háResposta recente de @Jon(o que esbarrou nessa questão e foi por isso que a vi). Esta é (principalmente) a resposta correta sobre como editar arquivos WSL com segurança de dentro do Windows, em vez de dentro da instância WSL. Na verdade, isso já foi mencionado na entrada do blog da Microsoft que foi vinculada à pergunta original.
Digo "principalmente", porque você deve, em geral, evitar o uso de ferramentas do Windows para editar arquivos do Linux, já que muitos editores do Windows usam como padrão finais de linha do DOS/Windows, o que ~/.bashrc
também causará falhas. Algumas ferramentas são inteligentes o suficiente para reconhecer que o arquivo existente é um arquivo Linux, outras não, mas a maioria das ferramentas será padronizada para CRLF (DOS/Windows) na ausência de qualquer outro formato.
Se a instância WSL não iniciar devido a um erro no ~/.bashrc
, então vocêpoderiause a sugestão de @Jon \\wsl$\
para editá-lo, mas também existem (IMHO) outras alternativas mais seguras.
Para editar ~/.bashrc
quando esse arquivo está impedindo sua inicialização, execute:
wsl -e bash --norc -c "vi ~/.bashrc"
ou
wsl ~ -e bash --norc
vi .bashrc
Isso será lançado bash
sem terceirizar o arquivo ~/.bashrc
.
Outras alternativas incluem iniciar a sessão como root:
wsl -u root
E então faça as edições necessárias.
WSL, em geral, possui alguns mecanismos de recuperação incríveis por meio do uso dos wsl
argumentos do comando para iniciar a instância.
Responder4
Se você preferir um editor GUI, instale VcXsrv
conforme detalhado aqui:
Então usegedit ~/.bashrc