Este guia cobre do zero ao ambiente completo: WSL2 instalado, Ubuntu atualizado, terminal customizado com Oh My Zsh + Agnoster e SSH autenticado no GitHub — tudo funcionando dentro do Windows 11.
Pré-requisitos
Antes de começar, confirme:
- Windows 11
- Virtualização habilitada na BIOS/UEFI
- Conexão com a internet
- PowerShell com privilégios de administrador
Para verificar a virtualização, abre o Gerenciador de Tarefas → aba Desempenho → CPU → confirma se Virtualização: Habilitada aparece no canto inferior direito.
Instalando o WSL2
Instalação com um único comando
Abre o PowerShell como Administrador e roda:
wsl --install
Esse único comando faz tudo automaticamente: habilita os recursos do Windows necessários, baixa e instala o kernel Linux mais recente, define WSL2 como padrão e instala o Ubuntu.
Após o comando terminar, é obrigatório reiniciar o computador para concluir a instalação.
Verificando a instalação após o reboot
wsl --version
A saída esperada é algo como:
Versão do WSL: 2.x.x.x
Versão do kernel: 5.15.x.x
Versão do WSLg: 1.x.x
Para confirmar a versão da distro instalada:
wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
O VERSION 2 confirma que está rodando WSL2.
Para sempre garantir que o WSL2 é o padrão para novas distros: wsl --set-default-version 2
Configurando o Ubuntu
Primeiro boot e criação do usuário
Abre o Ubuntu no menu Iniciar (ou via wsl no terminal). Na primeira execução, vai pedir para criar um usuário Linux:
Enter new UNIX username: seuusuario
New password: ********
Retype new password: ********
A senha não aparece enquanto você digita — isso é comportamento normal do terminal Linux.
Atualizando o sistema
sudo apt update && sudo apt upgrade -y
Instala também pacotes essenciais:
sudo apt install -y curl wget git build-essential unzip
| Pacote | O que faz |
|---|---|
curl / wget |
Baixar arquivos via terminal |
git |
Controle de versão |
build-essential |
Compiladores e ferramentas de build |
unzip |
Descompactar arquivos |
Instalando o Zsh e Oh My Zsh
sudo apt install -y zsh
Com o Zsh instalado, instala o Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Durante a instalação, vai perguntar se deseja trocar o shell padrão para Zsh. Confirma com y.
Tema Agnoster
O Agnoster é um tema estilo powerline — mostra o diretório atual, branch Git e status do repositório em segmentos coloridos.
Instalando a fonte Powerline (no Windows)
A fonte precisa ser instalada no Windows, não no WSL, porque é o Windows Terminal quem renderiza os caracteres.
- Baixa a fonte MesloLGS NF: Download direto
- Clica duas vezes no
.ttfe clica em Instalar - Abre as configurações do Windows Terminal → perfil Ubuntu → Aparência → altera a fonte para MesloLGS NF
Ativando o tema
nano ~/.zshrc
Encontra a linha ZSH_THEME="robbyrussell" e troca por:
ZSH_THEME="agnoster"
Para ocultar o usuario@hostname no prompt e deixar mais limpo, adiciona logo abaixo da linha do tema:
prompt_context() {}
Plugins do Oh My Zsh
Instalando plugins externos
zsh-autosuggestions — sugestões baseadas no histórico:
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting — coloração de sintaxe em tempo real:
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Ativando os plugins no .zshrc
nano ~/.zshrc
Encontra a linha plugins=(git) e substitui por:
plugins=(
git
ssh-agent
zsh-autosuggestions
zsh-syntax-highlighting
)
| Plugin | O que faz |
|---|---|
git |
Aliases para Git (gst, gco, gp, etc.) |
ssh-agent |
Inicia o agente SSH automaticamente |
zsh-autosuggestions |
Sugere comandos anteriores em cinza |
zsh-syntax-highlighting |
Colore comandos válidos de verde e inválidos de vermelho |
Aplicando as alterações
source ~/.zshrc
Se aparecer erro de permissão no zsh-syntax-highlighting, roda:
chmod 755 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
SSH no GitHub
Gerando o par de chaves
ssh-keygen -t ed25519 -C "seu@email.com"
Use o mesmo e-mail cadastrado na sua conta GitHub. Quando perguntar o local de salvamento, pressiona Enter para aceitar o padrão. Para a passphrase, pode deixar em branco ou definir uma senha extra para mais segurança.
Adicionando a chave ao agente
ssh-add ~/.ssh/id_ed25519
Copiando a chave pública
cat ~/.ssh/id_ed25519.pub
Copia todo o output — começa com ssh-ed25519 e termina com seu e-mail.
Adicionando no GitHub
- Acessa github.com/settings/keys
- Clica em New SSH key
- Dá um nome descritivo, ex:
WSL2 Ubuntu - Windows 11 - Cola a chave e clica em Add SSH key
Validando a conexão
ssh -T git@github.com
A resposta esperada é:
Hi gsfalcon! You've successfully authenticated, but GitHub does not provide shell access.
SSH funcionando! A partir de agora você pode clonar, push e pull via SSH sem precisar digitar senha.
Visão geral do setup
Windows 11
└── WSL2
└── Ubuntu 24.04
├── Zsh
│ └── Oh My Zsh
│ ├── Tema: Agnoster
│ └── Plugins: git, ssh-agent, autosuggestions, syntax-highlighting
└── SSH → GitHub
Referência rápida
| Comando | O que faz |
|---|---|
wsl |
Abre o Ubuntu no PowerShell |
wsl --shutdown |
Para todas as instâncias WSL |
wsl --update |
Atualiza o kernel do WSL |
source ~/.zshrc |
Recarrega as configs do Zsh |
ssh -T git@github.com |
Testa a conexão SSH com o GitHub |
ssh-add -l |
Lista as chaves carregadas no agente |
Troubleshooting
Terminal mostrando ? ou caracteres estranhos no Agnoster
A fonte Powerline não está configurada no Windows Terminal. Revisa a instalação da MesloLGS NF.
ssh-add retorna Could not open a connection to your authentication agent
O agente SSH não está rodando. Inicia manualmente: eval "$(ssh-agent -s)" e depois ssh-add ~/.ssh/id_ed25519
wsl --install retorna erro de virtualização
Entra na BIOS (geralmente Del ou F2 no boot) e habilita Intel VT-x ou AMD-V nas configurações de CPU.