Todo o apelo do WSL é que você pode instalá-lo e começar a digitar comandos do Linux imediatamente. Não há necessidade de baixar um ISO ou configurar inicialização dupla. Mas a configuração padrão do WSL não é otimizada para usuários que passam todos os dias em um terminal, e isso se torna aparente no momento em que você começa a usar o Linux para trabalho real.
Tenho usado WSL como meu ambiente Linux principal há alguns anos e cada nova instalação faz as mesmas alterações antes de começar a usá-lo. As configurações WSL são muito fáceis de editar, desde que você saiba onde procurá-las, e usá-las agora evitará dores de cabeça mais tarde ao tentar executar aplicativos Linux em WSL.
Desative o compartilhamento PATH
Dois sistemas operacionais compartilhando o mesmo PATH nunca foi uma boa ideia
Por padrão, o WSL anexa todo o PATH do Windows ao caminho do Linux. A razão para isso é que você pode chamar executáveis do Windows, por exemplo notepad.exe ou code de dentro da WSL. Às vezes, isso pode ser conveniente, mas também abre a possibilidade de conflitos de versão. eu tive python e node resolver instalações do Windows que eu nem sabia que estavam no PATH, e não aquelas que configurei especificamente em minha distribuição.
Uma linha dentro /etc/wsl.conf irá excluir isso:
(interop)
appendWindowsPath=false
Reinicie o WSL com wsl --shutdown comando do PowerShell e os binários do Windows desaparecerão do shell do Linux. De qualquer forma, nunca encontrei muita utilidade em chamar executáveis do Windows a partir do WSL, mas ainda é possível usar um caminho completo ou link simbólico. Para mim, isso é melhor do que fazer com que o WSL pesquise vários diretórios do Windows sempre que digito um comando e as possíveis dores de cabeça que isso causa com incompatibilidades de versões.
Limita a memória e o uso da CPU
Se você deixar, a WSL destruirá todos os seus recursos
WSL é classificado como uma máquina virtual leve, mas suas configurações padrão permitem que ele reivindique metade da RAM do seu sistema e todos os núcleos da CPU do seu sistema, se você permitir. Se você estiver tentando realizar uma tarefa que exige muito da CPU no modo WSL, como compilar um programa grande, não poderá fazer muito mais no Windows enquanto o WSL estiver sobrecarregando sua CPU.
Defino limites razoáveis de CPU e RAM %UserProfile%\.wslconfig arquivo:
(wsl2)
memory=8GB
processors=8
Ajuste esses números de acordo com o que sua máquina pode suportar no WSL. O meu está configurado para metade do núcleo da minha CPU e um quarto da minha RAM. Isso limita o que o WSL pode usar, para que o restante do Windows continue funcionando perfeitamente, mesmo quando o WSL está ocupado fazendo algo intenso.
Mudar para o modo de rede espelhada
Isso faz com que a rede WSL funcione como você espera
A rede padrão do WSL me causou mais problemas do que qualquer outra configuração. Ele usa NAT para colocar a distribuição Linux em sua própria sub-rede privada atrás do roteador virtual. O resultado é que o WSL obtém um endereço IP diferente do Windows, o que torna o encaminhamento do host local muito mais difícil. Alterar a rede para o modo de espelhamento coloca o Windows e o WSL na mesma interface de rede localhost significa a mesma coisa em ambos os lugares, e as conjunções funcionam mais como você esperaria.
Essa mudança acontece dentro %UserProfile%\.wslconfig arquivo:
(wsl2)
networkingMode=mirrored
Os arquivos do Windows não devem parecer ter permissões quebradas
Quando o WSL monta suas unidades do Windows, ele não rastreia as permissões do Unix, portanto, cada arquivo /mnt/c tem permissões idênticas, independentemente do que realmente seja. Isso dificulta o uso eficaz das permissões e causa problemas como chaves SSH armazenadas em um disco do Windows, pois o SSH não funcionará com chaves que perderam permissões.
Adicionando suporte a metadados /etc/wsl.conf corrige:
(automount)
options="metadata,umask=22,fmask=11"
Quando esta opção é implementada, as permissões chmod e de arquivo se comportam como seria de esperar em um sistema de arquivos Linux real. Você precisará reiniciar o WSL ou reconectar as unidades para que as alterações tenham efeito.
Habilite VHD esparso e recuperação automática de armazenamento
Controle o tamanho do disco virtual
O sistema de arquivos da distribuição é armazenado em um disco virtual e esse arquivo não diminui. Portanto, se você excluir alguns gigabytes de dados do WSL, não verá nenhum espaço livre na unidade do Windows.
Esta linha dentro %UserProfile%\.wslconfig permite que o Windows recupere automaticamente o espaço não utilizado:
(experimental)
sparseVhd=true
Meu VHD ultrapassou 80 GB uma vez antes que eu percebesse. Sem essa configuração, você deverá executar periodicamente manualmente os comandos de compactação para controlar o tamanho.
WSL tem um desempenho muito melhor com essas configurações otimizadas
Os padrões WSL são para todos, o que significa que não são otimizados para ninguém. Cinco pequenas definições de configuração transformam uma máquina virtual em um ambiente compatível com Linux para a maioria dos usuários avançados que precisam dele. As configurações do WSL são muito fáceis de alterar, portanto, a otimização da sua configuração leva apenas um ou dois minutos após a instalação do WSL pela primeira vez.







