Eu confesso que torcia muito o nariz pro Windows mesmo quando usei o WSL pela primeira vez. Não me lembro qual versão foi, mas sei que estava muito lento pra executar os comandos.
Como era um laptop corporativo do cliente eu pensei que pudesse ser pela alta carga de coisas que rodavam nele, principalmente o antivirus. Eu acabei configurando muita coisa nele e até deixei usável, mas a lentidão me atrapalhava um pouco e eu acabei fazendo uma gambiarra pra usar o meu laptop em vez do corporativo.
Mas, em Dezembro do ano passado, eu pensei em vender meu laptop e comprar um desktop. Eu ando muito pau da vida com a Apple e decidi sair de vez desse jardim murado no inferno. Mas eu não queria voltar pro Linux como OS, então resolvi testar o WSL em um Intel NUC Skull Canyon que eu usava pra lab enquanto esperava pelas peças do desktop.
Rapaz!!! Que maravilha!!! Eu não senti nenhum engasgo pra uso geral. Mudei pro WSL2 e mesmo o IO sendo algo mais limitado não me atrapalhou. Isso porque eu uso o WSL pra tudo o que é relacionado a desenvolvimento, ou seja, meu banco de dados, cache, application server, tudo está dentro do WSL. As ferramentas ficam no Windows mesmo e eu configurei os editores pra usar o line feed do Linux. Também fiz uns “aliases” no WSL pra chamar os executáveis do Windows pra abrir os editores.
Como ainda uso um laptop da empresa (que não roda Windows), compartilho toda a estrutura de profile do meu WSL com ele. Foi bem simples fazer tudo funcionar em ambos (nada que um if não resolva).
Não rodo nada desktop no WSL, somente command line. Uso o docker de vez em quando e ainda não esbarrei em nenhum cenário onde ele me limitou. O mais legal foi que, quando meu desktop chegou, eu simplesmente exportei o WSL, importei no desktop, e continuei trabalhando normalmente.
Ok, eu tive que fazer uma coisinha antes. O WSL por padrão tem algumas configurações que são feitas quando você inicia uma distro pela primeira vez depois de baixar da Windows Store. Se você simplesmente importar uma distro Debian (meu caso, por exemplo) e começar a escrever arquivos lá dentro via Windows, vai notar que os arquivos serão criados tendo o root como owner. Então eu baixei o binário do Debian pro WSL (semelhante ao que você baixa da Windows Store, mas foi mais prático) e rodei o comando:
debian config --default-user ataxexe
E pronto! Meus arquivos voltaram a ser criados tendo meu usuário como owner. O chato é que eu não consegui achar nada sobre esse problema. Provavelmente porque eu não fiz a pergunta certa pro Google, mas pelo menos eu resolvi.
Parece besteira, mas uma das coisas que me deixava louco de raiva pra usar o WSL era o terminal do Windows. O novo terminal é super agradável de usar e o Fluent Terminal é ainda mais agradável.
O IntellijIDEA acabou de ser atualizado e trouxe suporte ao WSL. Ainda não testei totalmente, mas esta foi a gambiarra que usei pra não ter problemas com classloading quando eu rodava um projeto Java dentro do WSL: criei um drive apontando pra dentro do WSL.
Sim, foi só usar algo como Z:\home\ataxexe\blablabla
que eu podia usar o java no windows e carregar as classes do WSL. Parece que agora o Intellij já vai usar tudo de dentro do WSL, então creio que vá ficar ainda melhor.
Em pouco mais de 5 meses usando o WSL e o Windows, só sinto falta de uma tecla adicional pra teclas de atalho mas o AutoHotkey tá se saindo super bem pra eu usar a tecla WIN. Eu consigo criar atalhos que chamam scripts dentro do WSL sem problema algum.
O que houve com o NUC? Bem, ele voltou a ser meu lab e eu “terceirizo” algumas coisas pra ele, então eu provavelmente não estou tendo problemas relacionados a rede porque muita coisa que eu preciso roda no NUC.
Talvez meu uso seja bem simples, não uso VPN pra essas coisas, meus editores ficam no Windows e os códigos ficam no WSL. No meu caso, eu estou muito satisfeito e não me arrependo nem um pouco de ter saído do mundo Apple.