WSL2: Guia Completo para Iniciantes (Instalação, Configuração e Muito Mais!)

Windows e Linux figuram entre os sistemas operacionais (SOs) mais utilizados globalmente. Enquanto o Windows oferece uma experiência mais intuitiva para o usuário médio, o Linux se destaca pela sua alta capacidade de personalização, tornando-se a escolha preferida de desenvolvedores, profissionais de alta produtividade e estudantes.

Tradicionalmente, para utilizar ambos os sistemas simultaneamente, era necessário recorrer à virtualização dentro do Windows ou configurar um sistema de inicialização dupla (dual boot).

No entanto, uma nova funcionalidade do Windows agora permite o acesso ao Linux de forma nativa e simplificada.

Apresentamos o WSL2 – Subsistema Windows para Linux, um recurso do Windows que facilita a integração e o uso do Linux diretamente no ambiente Windows.

Este artigo abordará o WSL2 em detalhes, incluindo sua definição, propósito, processo de instalação e as melhores práticas para utilizá-lo de forma eficaz.

Vamos começar!

O que é o Subsistema Windows para Linux?

O Subsistema Windows para Linux proporciona acesso ao ambiente GNU/Linux diretamente do terminal do Windows, eliminando a necessidade de inicialização dupla ou de ferramentas de virtualização. Com ele, é possível interagir com o kernel do Linux, o que significa que você pode utilizar todos os recursos do Linux, como ferramentas de linha de comando, aplicativos e utilitários, sem sair do Windows.

O WSL2 é a versão mais recente do Subsistema Windows para Linux, oferecendo recursos aprimorados e maior velocidade em comparação com o WSL1 (lançado com o Windows 10). Além disso, o WSL já vem pré-instalado em diversas instalações do Windows. Para começar a usá-lo, é necessário apenas ativá-lo.

Internamente, o WSL2 emprega a tecnologia de máquina virtual Hyper-V do Windows, resultando em uma compatibilidade robusta com o Linux e velocidades de execução até 20 vezes mais rápidas em comparação com o WSL1.

Em suma, o WSL2 é o mais recente subsistema do Windows para Linux, proporcionando aos usuários do Windows acesso direto ao kernel do Linux.

Primeiros Passos com o WSL2

Neste tutorial, utilizaremos também o Windows Terminal, uma ferramenta moderna, ágil e eficiente para interagir com terminais no Windows, especialmente para aqueles que trabalham com ferramentas de linha de comando e com o WSL.

Requisitos do Computador

Nem todos os computadores são compatíveis com o WSL2. Seu sistema precisa ter suporte à virtualização para que o WSL2 funcione corretamente, uma vez que ele utiliza o Hyper-V internamente.

Além disso, é necessário um processador de 64 bits que possua suporte a SLAT (Second Level Address Translation). A maioria dos processadores modernos oferece essa funcionalidade.

Quanto ao espaço em disco, recomenda-se ter pelo menos 1 GB de espaço livre disponível.

Ativando a Virtualização na BIOS

Após confirmar que seu hardware atende aos requisitos, será preciso ativar a virtualização na BIOS da placa-mãe.

Acesse a BIOS pressionando as teclas apropriadas durante a inicialização do computador, como F2, Del ou F10.

Na BIOS, procure e habilite as opções “Secure Virtual Machines” (SVM) da AMD ou “Virtualization Technology VTx” da Intel. Depois de habilitar, reinicie o computador.

Para informações mais detalhadas, consulte as instruções em outro artigo, “Como instalar o Ubuntu no Windows 10 usando o Hyper-V”.

Habilitando os Recursos do Windows para o WSL2

Com os requisitos de hardware atendidos, é hora de habilitar o WSL2 no Windows.

O primeiro passo é verificar a versão do Windows para confirmar se ela é compatível com o WSL.

Para isso, pressione as teclas CMD + R e digite “winver”. Uma janela exibirá a sua versão do Windows.

Usuários do Windows 10, na maioria dos casos, estarão utilizando o WSL1. Por outro lado, a maioria dos usuários do Windows 11 já possui o WSL2.

Todas as versões do Windows 10 e 11, com exceção do Windows S (voltado para segurança e com a virtualização desativada), são compatíveis com o WSL2.

Se você usa o Windows S, precisará mudar para outra versão, como o Windows Home ou Pro.

Para fazer essa mudança, vá em Configurações> Atualização e segurança> Ativação e altere o seu sistema operacional.

É fundamental ter a versão mais recente do Windows instalada para garantir compatibilidade e suporte completo ao WSL2. Para atualizar seu sistema, vá para Configurações > Windows Update.

Para utilizar o WSL2, é preciso habilitar algumas funcionalidades do Windows.

Acesse o Painel de Controle > Programas e recursos. Lá, você encontrará “Ativar ou desativar recursos do Windows”. Clique nessa opção para abrir a janela “Recursos do Windows”.

Nesta janela, procure por “Hyper-V”, “Plataforma de Máquina Virtual” e “Subsistema do Windows para Linux”.

Após selecionar esses recursos, o sistema solicitará uma reinicialização para que as alterações sejam aplicadas.

Você também pode habilitar esses recursos utilizando os seguintes comandos no terminal:

  $ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  $ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  

Instalando o WSL2

Com todos os pré-requisitos em ordem, é hora de instalar o WSL.

Abra o Terminal do Windows (Windows 10) ou o Windows PowerShell (Windows 11) e digite o seguinte comando:

$ wsl

#saída

  Copyright (c) Microsoft Corporation. All rights reserved.
  Usage: wsl.exe [Argument]
  Arguments:
  …..
  

Isso indica que o WSL está disponível, mas ainda não está ativado.

Para instalar o WSL, execute o seguinte comando com privilégios de administrador:

$ wsl --install

#saída

  PS C:UsersLogan99> wsl --install
  Installing: Virtual Machine Platform
  Virtual Machine Platform has been installed.
  Installing: Windows Subsystem for Linux
  Windows Subsystem for Linux has been installed.
  Installing: Ubuntu
  Ubuntu has been installed.
  The requested operation is successful. Changes will not be effective until the system is rebooted.
  

Observação: é possível que você não veja essa saída, caso já tenha habilitado os recursos do Windows. Nesse caso, você deverá ver a seguinte saída (se for o caso, pule para a próxima seção):

  Ubuntu is already installed.
  Launching Ubuntu...
  Installing, this may take a few minutes...
  Please create a default UNIX user account. The username does not need to match your Windows username.
  For more information visit: https://aka.ms/wslusers
  Enter new UNIX username:
  New password:
  Retype new password:
  

Para verificar a versão do WSL, use o comando `wsl –version`:

$ wsl --version

#saída

  WSL version: 1.1.6.0
  Kernel version: 5.15.90.1
  WSLg version: 1.0.50
  MSRDC version: 1.2.3770
  Direct3D version: 1.608.2-61064218
  DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
  Windows version: 10.0.22621.1413
  

Como pode ser visto, a versão 1.1.6.0 do WSL já vem pré-instalada. Se você receber um erro ao executar este comando, significa que o WSL não está instalado corretamente.

Para mudar para o WSL2, execute o comando:

$ wsl --set-default-version 2

Como nosso sistema já possui o WSL pré-instalado, recebemos esta mensagem.

É possível instalar o WSL também pela Microsoft Store. Abra a loja e procure por “Windows Subsystem for Linux”.

Clique em “Obter” e aguarde a instalação.

Após a instalação, clique em “Abrir”. O Terminal do Windows será aberto com a mensagem “O Windows Subsystem para Linux não possui distribuições instaladas”.

Instalando uma Distribuição no WSL

Com o WSL instalado, é hora de instalar uma distribuição Linux.

Por padrão, o WSL instala a versão Ubuntu LTS. Para fazer isso, use o seguinte comando:

$ wsl --install

Este comando irá iniciar a instalação do Ubuntu. Durante a instalação, o sistema solicitará a criação de um novo nome de usuário e senha UNIX.

Após a conclusão da instalação, você terá um prompt do Ubuntu Linux, onde poderá utilizar todos os comandos do Linux. Vamos verificar a versão do Ubuntu:

$ lsb_release -a

#saída

      No LSB modules are available.
      Distributor ID: Ubuntu
      Description:   Ubuntu 22.04.1 LTS
      Release:    22.04
      Codename:     jammy
  

Pronto! Agora você tem acesso ao kernel do Linux.

Para sair da distribuição, digite o seguinte comando:

$ exit

#saída

      [email protected]:/mnt/c/Users/Logan99$ exit
      logout
  

Instalando Mais Distribuições

É possível instalar outras distribuições, como Fedora, Debian e OracleLinux_8_5. Para visualizar as opções de distribuições disponíveis, use o comando:

$ wsl --list --online

Para instalar o Debian, use o comando:

    $ wsl --install -d Debian
    Ou
    $ wsl.exe --install Debian
  

Assim como no Ubuntu, o sistema solicitará a criação de um nome de usuário e senha.

#saída

Vamos verificar a versão do Debian:

$ cat /etc/issue

#saída

$ Debian GNU/Linux 11 n l

E quanto ao Fedora? Ele não aparece na lista quando usamos o comando `wsl –list –online`.

Você pode instalar distribuições também pela Microsoft Store.

Abra a loja e procure por “Linux distros”. Ela exibirá todas as distribuições disponíveis. Aqui, você encontrará as distribuições oficiais com suporte.

Para distribuições não oficiais, é preciso pesquisar manualmente. Contudo, estas distribuições podem apresentar erros e não serem totalmente seguras. Utilize-as apenas para fins experimentais.

Clique em “Instalar” para disponibilizar a distribuição no seu sistema.

Definindo a Distribuição Padrão

Para ver a lista de distribuições instaladas, use o comando:

$ wsl --list

A palavra “Padrão” indica que o Ubuntu é a distribuição padrão que será iniciada quando você digitar “wsl” no terminal.

Para alterar a distribuição padrão, use o comando:

$ wsl --setdefault <NomeDaDistro>

Para definir o Debian como a distribuição padrão, use o comando:

$ wsl --setdefault Debian

Da próxima vez que você digitar “wsl” no terminal, o Debian será iniciado.

Alterando a Versão do WSL para a Distribuição

Por padrão, as distribuições utilizam o WSL2. Para visualizar suas distribuições e suas versões do WSL, use o comando:

$ wsl --list --verbose

#saída

      NAME      STATE       VERSION
      * Ubuntu    Stopped      2
      Debian     Stopped      2
    

O asterisco (*) indica a instalação padrão do Linux.

Para alterar a versão do WSL de 2 para 1, use o comando:

$ wsl --set-version Ubuntu 1

E para voltar para a versão 2, use o comando:

$ wsl --set-vesion Ubuntu 2

Observação: a conversão entre as versões pode levar algum tempo. Não feche a janela durante o processo.

Iniciando Distribuições Específicas com Nomes de Usuário Diferentes

Para iniciar uma distribuição específica, use o comando:

  $ wsl -d <NomeDaDistro>
    Ou
    $ wsl --distribution <NomeDaDistro>
  

Para iniciar o Ubuntu, use o comando:

$ wsl -d Ubuntu

Para iniciá-lo com um nome de usuário específico, adicione a opção `–user` seguida do nome do usuário:

$ wsl -d <NomeDaDistro> --user <NomeDeUsuario>

Por exemplo, para iniciar o Debian com o nome de usuário “root”, use:

$ wsl -d Debian --user root

Observação: iniciar a distribuição com um usuário inexistente resultará no erro “Usuário não encontrado”.

Atualizando o Linux

Para atualizar sua distribuição Linux, utilize os comandos:

    $ sudo apt update
    $ sudo apt upgrade
  

Além disso, você pode procurar por atualizações do kernel do Linux para WSL:

$ wsl --update

Configurando o Visual Studio Code com o WSL2

Você pode integrar o VS Code com o WSL. Dessa forma, você pode acessar o terminal WSL diretamente do VS Code, facilitando o desenvolvimento de aplicações baseadas em Linux e o uso de utilitários e ferramentas específicas.

Além disso, você pode continuar utilizando as ferramentas de produtividade do Windows enquanto aproveita as funcionalidades do VS Code.

Para integrar o VS Code com o WSL, instale o pacote de extensão Remote Development. Você pode encontrá-lo diretamente no VS Code, buscando pelo seu nome na guia de extensões.

Se você estiver trabalhando localmente, configure o terminal acessando o menu “Exibir” > “Terminal” no VS Code.

Ao abrir o terminal, você verá o símbolo “>” ao lado do símbolo “+”. Clique nele para visualizar a lista de terminais WSL.

Aqui, você pode selecionar o “Perfil Padrão”.

Isso é possível porque o VS Code tem acesso direto ao `\wsl$` e quaisquer depuradores rodando no localhost.

Utilizando Aplicações Gráficas com o WSL2

Para utilizar aplicações gráficas com o WSL2, é preciso instalar os drivers corretos. Intel, AMD e Nvidia oferecem drivers para WSL que permitem o funcionamento adequado das aplicações gráficas baseadas em Linux.

No entanto, podem ocorrer alguns problemas. Algumas funcionalidades podem não operar corretamente e certos aplicativos podem não funcionar, forçando você a procurar alternativas.

Em resumo, essa abordagem é baseada em tentativa e erro, e pode consumir bastante tempo.

Consulte o guia oficial do WSL2 para trabalhar com aplicações gráficas utilizando o Ubuntu.

Docker Desktop WSL2 no Windows

Se você não deseja configurar o ambiente de desenvolvimento localmente usando o Hyper-V, pode utilizar o Docker Desktop, que oferece suporte oficial ao WSL2. Com ele, você pode configurar um fluxo de trabalho mais rápido para utilizar as ferramentas do Docker diretamente no Windows. Para mais informações, consulte o guia aqui.

Por que a Microsoft está Levando o Linux a Sério?

A Microsoft é uma empresa proprietária que cria soluções como o Windows em um ambiente fechado e prefere que os usuários utilizem o Windows em vez do Linux.

Entretanto, em 2016, a empresa anunciou seu compromisso com o Open Source. Essa mudança de visão marcou uma grande diferença em comparação com o início dos anos 2000, quando Steve Ballmer chamou o Linux de “câncer”.

Em 2023, a Microsoft adota o Linux diretamente em seu ecossistema. Eles anunciaram o WSL2 em maio de 2019 e o introduziram na Microsoft Store em outubro de 2021. A versão WSL2 v1.0 foi lançada em novembro de 2022.

A Microsoft também disponibilizou softwares como Edge e Teams para usuários do Linux e contribui ativamente para o kernel do Linux, sendo membro da Linux Foundation.

Todas essas ações indicam o interesse da Microsoft em relação ao Linux. No entanto, alguns céticos questionam a sinceridade desse apreço.

Em suma, a Microsoft tem demonstrado interesse no Linux. Seu subsistema Window é uma prova do cuidado com o Linux e o código aberto. Mais importante, isso mostra que a empresa deseja que seus usuários tenham acesso direto ao kernel do Linux, sem precisar recorrer à virtualização ou ao dual boot para um sistema operacional Linux.

Considerações Finais

Na era da discussão sobre qual sistema operacional é melhor para desenvolvedores, o WSL2 oferece uma alternativa para acessar ambos os mundos. O WSL2 permite acesso ao kernel do Linux através de diversas distribuições, além de ser ágil e compatível com Docker.

Atualmente, o WSL2 está em desenvolvimento ativo, com foco na resolução de problemas de compatibilidade e na expansão das possibilidades para desenvolvedores. O futuro do WSL2 parece promissor, e a Microsoft demonstra o seu compromisso em tornar o kernel do Linux acessível para os usuários do Windows.

Para mais informações, consulte este guia sobre distribuições Linux para administradores de sistemas e desenvolvedores.