O WSL é uma excelente alternativa para desenvolvedores que querem possuir todas as vantagens do Windows e ainda manter toda a produtividade que o ambiente Linux pode oferecer.
Esta postagem é uma versão customizada do artigo da Fullcycle que está nesse link: Guia rápido do WSL2 + Docker.
Também vou deixar o aqui os videos do youtube e postagens que me ajudaram a fazer esta configuração.
- A forma mais produtiva para utilizar Docker no Windows e WSL2
- Ambiente perfeito de Docker com VSCode e WSL2
- O Melhor Setup Dev com Arch e WSL2
- Instalando e Configurando o ZSH no Ubuntu 20.04
Índice
- Configurando o WSL com o Ubuntu 22.04 + ZSH
- Índice
- Instalando o WSL2
- Escolhendo uma distro Linux
- Usando docker nativo
- Habilitando o VScode
- ZSH
Instalando o WSL2
Antes de iniciar a instalação do WSL2 propriamente dita acredito que valha muito a pena instalar antes o windows terminal por ser um emulador de terminal melhorar muito nossa produtividade alem de ser altamente customizável. Pode ser encontrado diretamente na Microsoft Store procurando por windows terminal, também será mostrado o windows terminal preview que é a versão beta que recebe as atualizações mais recentes.
Agora que temos o windows terminal instalado podemos executa-lo em modo administrador, de acordo com a documentação mais atualizada, você deve rodar o comando.
Para Windows 11
wsl --install
O processo pode ser um pouco demorado e por padrão no windows 11 a distro Ubuntu é instalada, para especificar qual distro você deseja instalar primeiro precisa listar as disponíveis usando o comando:
wsl --list --online
E o resultado apresentado no terminal será este:
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
SLES-12 SUSE Linux Enterprise Server v12
SLES-15 SUSE Linux Enterprise Server v15
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_8_5 Oracle Linux 8.5
OracleLinux_7_9 Oracle Linux 7.9
Escolhida a distro executamos o comando com o nome igual ao apresentado na lista acima.
wsl --install -d Ubuntu-22.04
Para Windows 10
Aqui as etapas mudam um pouco, inicialmente vamos rodar o seguinte comando para habilitar o WSL, sempre em modo administrador
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Em seguida habilitamos a virtualização
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Em seguida reiniciamos o sistema.
Agora precisamos baixar o pacote de atualização do kernel do linux e executa-lo. Com a instalação concluída com sucesso vamos tornar a versão do WSL2 como a padrão.
wsl --set-default-version 2
Configuração de recursos de maquina no WSL
Em termos de recurso o WSL é um lobo feroz, podendo consumir por padrão os seguintes números.
- Quase totalmente o processamento disponível
- 80% da memória RAM
- 25% do SWAP
Para limitar esse consumo basta criar o arquivo .wslconfig em sua pasta raiz do usuário C:\Users\nameuser como demostrado a seguir.
[wsl2]
memory=3GB
processors=4
swap=4GB
Escolhendo uma distro Linux
Abra a Microsoft store e escolha sua distro.
Selecione a que mais te agradar clique em instalar, nesse caso selecionaremos a 22.04 LTS
Terminada a instalação da distro ao inicia-la teremos a seguinte imagem solicitando a criação de um usuário para o sistema. Com isso temos certeza que nosso WSL2 está funcionando plenamente.
Com sua conta criada com sucesso está será sua visualização, agora oficialmente você é um usuário do Linux no Windows. Parabéns!!!
PS: Caso nenhuma das distro apresentadas seja do seu agrado é possível instalar qualquer distro, mas como o foco aqui é no Ubuntu deixo somente o link para quem quiser se aventurar. Importar qualquer distribuição do Linux a ser usada com o WSL
Usando docker nativo
Além de reduzir o consumo de recursos drasticamente em relação ao docker desktop temos o controle total dentro do Linux não dependendo de um terceiro. Neste link é explicado como fazer a instalação em outras distros Linux fora o Ubuntu.
Inicialmente temos que remover todas as versões antigas, mas isso é só mais uma garantia do que uma necessidade uma vez que estamos instalando o sistema
sudo apt-get remove docker docker-engine docker.io containerd runc
No meu caso a saída foi essa pois a distro já tinha docker e docker-engine instaladas.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'docker.io' is not installed, so not removed
E: Unable to locate package docker
E: Unable to locate package docker-engine
Agora faremos a atualização do sistema seguida da ativação dos pacotes com HTTPS.
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
Concluída essa etapa vamos habilitar o docker para uso no Ubuntu
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Para configurar o repositório usamos o comando.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Rodamos a atualização mais uma vez.
sudo apt-get update
Estamos quase lá, só falta realizar a instalação do pacote de fato usando comando.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Deu certo! agora você possui o docker instalado, precisamos habilitar nosso usuário para a ferramenta.
sudo usermod -aG docker $USER
Agora ligamos o docker usando o comando
sudo service docker start
OBS: sempre use o comando acima para iniciar/ligar o docker no wsl.
E testamos usando o comando de hello world do docker
sudo docker run hello-world
Habilitando o VScode
Eu vou admitir que esteja usando o VScode, mas caso esteja usando outra IDE vou deixar o link do tutorial da fullcycle que explica como fazer isso, show! No VScode basta realizar a instalação do pacote de extensões Remote Development, feito isso você verá o ícone do pacote no canto inferior esquerdo do VScode, clicando lá essa será a imagem.
Selecione a segunda opção para selecionar em qual distro instalada no WSL deseja que o VScode seja usada e pronto agora temos a IDE funcionado dentro do Linux via WSL2. E agora no canto inferior esquerdo temos indicando nossa distro instalada como no exemplo da imagem abaixo.
OBS: Para abrir a IDE no WSL basta dar o comando
code .
E na primeira vez que fizer isso ele fara um download e instalação da versão mais recente, também é importante mencionar que algumas de suas extensões terão que ser instaladas novamente.
ZSH
Por padrão temos o bash como shell instalado no ubuntu, mas para caso queira listar todos os shells disponíveis basta usar o comando.
sudo cat /etc/shells
O resultado é uma saída como essa.
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
Iniciamos atualizando o sistema
sudo apt update
Feito isso fazemos a instalação do zsh pelo comando
sudo apt install zsh -y
OBS: o “-y” no final do comando é para não ter confirmação antes da instalação.
Para verificar a versão instalada usamos o comando.
zsh --version
Antes de definir o zsh como shell padrão temos que saber onde o arquivo binário se encontra usando o comando.
whereis zsh
Essa é a saída apresentada.
zsh: /usr/bin/zsh /usr/lib/x86_64-linux-gnu/zsh /etc/zsh /usr/share/zsh /usr/share/man/man1/zsh.1.gz
Pronto agora que temos o caminho basta executar
sudo usermod -s /usr/bin/zsh $(whoami)
Feito isso, feche o terminal e abra novamente e para ter certeza que está usando o ZSH execute.
echo $SHELL
Sua saída será o caminho do binário do shell padrão, no nosso caso.
/usr/bin/zsh
Nerds Fonts
Antes de seguir com nossa configuração precisamos instalar uma fonte do tipo nerd fonts que nada mais são fonts que possuem ícones incorporados, então vamos fazer o download de uma delas.
Feito isso agora instale as fontes e feche e abra novamente o terminal e em configurações -> padrões -> fonts selecione MesloLGS NF. Nas configurações do vscode escreva terminal.integrated.fontFamily e selecione a mesma fonte.
O terminal integrado do VScode que roda no WSL não vai reconhecer essa font, pois a IDE está rodando no linux e a font está somente no windows, para corrigir isso vamos fazer assim.
Criamos a pasta onde nossa font vão ficar.
sudo mkdir /usr/share/fonts/meslolgsnf
Agora copiamos nossas fonts para este diretório, mas para localizar nossas fonts baixadas no windows a partir do wsl fazemos acesso ao diretório /mnt/c que nada mais é do que nosso disco C:/ visto a partir do Linux. Basta agora navegar pelos diretórios até onde fica os arquivos das fonts, no meu caso ficou assim.
cd /mnt/c/Users/<nome_usuario>/Downloads
Agora copiamos cada uma das fonts pelo comando
sudo cp MesloLGS\ NF\ Italic.ttf /usr/share/fonts/meslolgsnf
Tudo isso foi necessário para agora instalar o powerlevel10k que é um tema para o shell ZSH e deixar nosso terminal mais bonito e performático quando somado aos plugins.
powerlevel10k
Fazendo uso da instalação manual usamos o comando.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Feche o terminal e abra novamente, assim você inicia a configuração do tema, siga as instruções e customize seu terminal da forma que mais te agrada. Caso queira mudar o estilo apresentado basta usar o comando.
p10k configure
e fazer o processo novamente.
plugins zsh
Bonito o terminal já está, mas precisamos deixar performático, pra isso vamos usar os seguintes plugins:
- zsh-autosuggestions
- zsh-syntax-highlighting
zsh-autosuggestions
Esse plugin é responsável por usar nosso histórico de comandos para sugerir qual próximo comando você deseja usar e auto completa o comado quando usamos TAB ou seta direita. Para instalar executamos.
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Agora adicionamos os caminho do plugin em nosso arquivo /.zshrc
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
Feche e abar novamente o terminal para usar o plugin
zsh-syntax-highlighting
Esse plugin é responsável dar realce/cores nos comandos, diretórios e arquivos no sistema no terminal.
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
Para ativar o plugin em nosso Shell executamos o comando.
source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
E é isso seu ambiente está totalmente pronto! Boa sorte!
Top comments (0)