terminal linux no windows

Como usar terminal Linux no Windows com WSL2 + Plugins avançados

Ao longo dos últimos anos, o Windows tem se esforçado para se tornar uma plataforma mais amigável para desenvolvedores, oferecendo cada vez mais suporte a ferramentas e tecnologias usadas no mundo Linux. Um desses recursos é o Windows Subsystem for Linux (WSL), que permite que você execute um ambiente Linux completo diretamente no Windows, sem a necessidade de uma máquina virtual ou um computador dedicado. Neste artigo, você aprenderá como instalar e configurar o Terminal Linux no Windows com WSL 2.

Também irei abordar a instalação de plugins e customizações extras, que vão deixar o teu terminal ainda mais legal, prático e otimizado, parecido com este:

terminal linux no windows
terminal linux no windows

O que é WSL 2?

WSL 2 é a segunda geração do Windows Subsystem for Linux, que fornece um ambiente de tempo de execução do Linux em contêineres leves no Windows. Permitindo executar aplicativos Linux nativamente no Windows, sem as complexidades e o consumo de recursos típicos de uma virtualização completa. Além disso, WSL 2 é baseado em um kernel Linux real, o que significa que ele oferece melhor desempenho e compatibilidade do que a versão anterior.

Requisitos

Antes de instalar o WSL 2, verifique se seu sistema atende aos seguintes requisitos mínimos:

  • Windows 10 versão 2004 ou posterior
  • Processador de 64 bits
  • 4 GB de RAM (recomendado: 8 GB ou mais)
  • Virtualização habilitada no BIOS

Instalação do WSL 2 – Linux no windows

Sim, basicamente a instalação do WSL é com 1 único comando wsl --install, que deve ser executado dentro de um terminal no Prompt de Comando ou no PowerShell do Windows. Ele é utilizado para instalar o Subsistema Windows para Linux (WSL2 Windows) e a distribuição Linux padrão(Ubunto é a padrão) em sistemas Windows que suportam essa funcionalidade:

# Instalar linux no windows
wsl --install
wsl2 windows
instalação do WSL2 Windows

Não irei abordar detalhes adicionais sobre o comando de instalação, qualquer detalhe adicional pode ser conferido no material da Microsoft: https://learn.microsoft.com/pt-br/windows/wsl/basic-commands

Utilizando o comando wsl --list --verbose, verifico se a instalação foi bem sucedida. Este comando retorna as distribuições que temos instaladas no WSL:

wsl --list --verbose
linux no windows

No meu caso, não constava o Ubuntu ainda, foi necessário reboot no computador para terminar de instalar o Linux no Windows.

Após o reboot e ao abrir o terminal novamente, ele vai concluir a instalação da distribuição do Ubuntu e solicitar algumas informações, como o usuário e senha desejados:

terminal linux para windows

Então vai retornar:

instalar linux no windows

Validando que o terminal com Linux está operacional:

windows 10 linux

Com o comando wsl --list --online, podemos listar as distribuições disponíveis, caso queira instalar alguma versão diferente do Ubuntu ou colocar uma outra distro:

wsl --list --online
como usar linux no windows

Definindo WSL 2 como sua versão padrão

Execute o seguinte comando no terminal(Prompt / PowerShell) para definir o WSL 2 como padrão:

wsl --set-default-version 2
wsl2 windows padrao
wsl2 windows

Veja que o comando foi executado no terminal do Windows PowerShell com sucesso.

Vantagens

Comparando o WSL 2 com o uso de máquinas virtuais (VMs) Linux tradicionais, há várias vantagens que o WSL 2 oferece:

1. Integração do terminal Linux com o Windows

  • Integração Direta: O WSL 2 permite uma integração mais fluida entre o ambiente Linux e o Windows. Você pode acessar arquivos do Windows diretamente do WSL e vice-versa sem precisar configurar compartilhamento de pastas ou redes complexas. Aplicativos Linux podem ser executados e integrados diretamente no ambiente de trabalho do Windows.

2. Desempenho Melhorado

  • Menor Sobrecarga de Recursos: O WSL 2 Windows utiliza uma máquina virtual leve, otimizada para desempenho, consumindo menos recursos do sistema do que VMs tradicionais. Isso significa que você pode rodar tarefas Linux intensivas em um sistema Windows sem sobrecarregar o sistema com o uso de RAM ou CPU, típico de uma VM completa.
  • Startup Instantâneo: O WSL 2 inicia quase instantaneamente, ao contrário das VMs, que podem demorar para inicializar o sistema operacional.

3. Fácil Configuração e Uso

  • Configuração Simplificada: Com o WSL2, não há necessidade de gerenciar configurações complexas de máquinas virtuais, como alocação de recursos ou redes virtuais. A instalação é direta, e você pode começar a usar um ambiente Linux com apenas alguns comandos.
  • Sem necessidade de virtualização de terceiros: O WSL2 usa a própria funcionalidade de virtualização do Windows, eliminando a necessidade de softwares adicionais como VMware ou VirtualBox.

4. Acesso a Recursos do Sistema

  • Compartilhamento de Hardware: Diferentemente das VMs, que têm recursos dedicados e limitados (como alocação de memória e CPU), o WSL2 compartilha recursos do sistema diretamente, o que permite uma utilização mais eficiente do hardware disponível.

5. Atualizações e Manutenção

  • Kernel Linux Atualizável: O kernel do Linux no WSL 2 Windows é atualizado automaticamente pelo Windows Update, o que simplifica a manutenção do sistema. Em uma VM tradicional, você teria que gerenciar manualmente as atualizações do sistema operacional e do kernel.

6. Menos Isolamento

  • Acesso Simplificado entre Ambientes: No WSL 2, o acesso entre arquivos e diretórios do Linux e do Windows é mais simples e direto. Em VMs tradicionais, você precisaria configurar compartilhamento de pastas ou sistemas de arquivos em rede para acessar arquivos entre os dois sistemas.

7. Uso de Recursos Avançados

  • Suporte a Contêineres: O WSL 2 permite o uso de contêineres Docker de maneira mais eficiente em comparação com VMs tradicionais, sem a sobrecarga de rodar o Docker dentro de uma VM separada.
  • Acesso a GPUs e Outros Periféricos: Com atualizações recentes, o WSL 2 Windows também oferece suporte para aceleração de hardware, como acesso direto a GPUs para tarefas que envolvem computação gráfica ou aprendizado de máquina, o que pode ser mais difícil de configurar em VMs.

8. Melhor Experiência de Desenvolvimento

  • Integração com Ferramentas de Desenvolvimento: Ferramentas como VS Code podem ser usadas de forma mais eficiente com WSL 2, permitindo a edição de código, depuração e execução diretamente no ambiente Linux, sem as complexidades de configurar uma VM separada.

9. Economia de Espaço em Disco

  • Gerenciamento de Imagens Menor: VMs tradicionais geralmente exigem imagens de disco grandes e estáticas. O WSL 2 utiliza um disco virtual dinâmico que pode aumentar ou diminuir conforme necessário, otimizando o uso do espaço em disco.

10. Portabilidade

  • Ambientes de Desenvolvimento Leves: O WSL 2 é mais leve para movimentar e recriar em diferentes máquinas. Por exemplo, exportar e importar distribuições WSL é mais simples em comparação à movimentação de uma VM completa.

Essas vantagens tornam o WSL2 uma excelente alternativa ao uso de VMs Linux tradicionais, especialmente para desenvolvedores que precisam de um terminal Linux para Windows funcional sem sacrificar a simplicidade e eficiência.

Instalando o ZSH no WSL 2

Se você está procurando uma alternativa ao Bash no seu Terminal Linux no Windows com WSL 2, o ZSH (Z Shell) pode ser uma ótima opção. O ZSH é um shell de código aberto que oferece recursos avançados e personalização aprimorada em relação ao Bash. Na sequência, vou ensinar como instalar e configurar o ZSH no Terminal Linux para Windows com WSL 2.

Vantagens e Desvantagens do ZSH

Antes de instalar o ZSH, é importante considerar suas vantagens e desvantagens em relação ao Bash. Algumas vantagens do ZSH incluem:

  • Melhor completação de comandos e argumentos
  • Histórico de comandos avançado
  • Personalização aprimorada
  • Suporte a plugins e temas

No entanto, algumas desvantagens do ZSH incluem:

  • Maior consumo de memória em comparação com o Bash
  • Curva de aprendizado mais íngreme devido aos recursos avançados

Comandos para instalar o ZSH

Abra o Terminal Linux no WSL 2.

Atualize os pacotes:

sudo apt update && sudo apt upgrade
como usar o linux no windows
wsl linux windows

Digite o comando sudo apt install zsh para instalar o ZSH:

sudo apt install zsh
wsl linux windows

Resultado esperado:

windows terminal linux

Verifique se o ZSH foi instalado corretamente executando o seguinte comando:

zsh --version
zsh windows linux

Deve retornar com sucesso a versão do zsh que foi instalada no teu sistema WSL.

Dicas para Usar o ZSH


Aqui estão algumas dicas para usar o ZSH:

  • Use o comando zsh para abrir o terminal ZSH.
  • Use o comando source ~/.zshrc para carregar as configurações do ZSH.
  • Use o comando zsh -c "comando" para executar um comando no ZSH.

OMZ – Oh My Zsh – Instalação

Se você já instalou o ZSH no seu Terminal Linux com WSL 2 e deseja aproveitar ao máximo suas funcionalidades, o OMZ (Oh My Zsh) é uma ferramenta que pode ajudar. O OMZ é um framework de plugins e temas para o ZSH que facilita a configuração e personalização do seu shell.

Requisitos

Requisitos para instalar e configurar o OMZ – Oh My Zsh no Terminal Linux para Windows com WSL 2:

  1. Um sistema operacional Windows 10 com a atualização de outubro de 2019 (versão 2004) ou posterior instalada.
  2. O Windows Subsystem for Linux (WSL) 2 habilitado e configurado no sistema operacional Windows 10.
  3. Um Terminal Linux instalado e configurado no WSL2 Windows, como Ubuntu, Debian ou Kali Linux.

Além disto, vamos precisar do Git e o Curl instalados no seu sistema para instalar e configurar o OMZ – Oh My Zsh e conseguir fazer todos os passos deste tutorial. O script de instalação do OMZ – Oh My Zsh usa o curl para baixar o arquivo de instalação a partir do repositório do GitHub e o Git para clonar repositórios de plugins e temas adicionais.

Requisitos adicionais

  • Git instalado no seu sistema operacional Linux
  • Curl instalado no seu sistema operacional Linux

Comandos para instalar o Git e o Curl

  • sudo apt update && sudo apt upgrade para atualizar as listas de pacotes
  • sudo apt install git para instalar o Git
  • sudo apt install curl para instalar o Curl

Verificar se o Git e o Curl estão instalados

  • git --version para verificar a versão do Git
  • curl --version para verificar a versão do Curl
sudo apt update && sudo apt upgrade
sudo apt install git
git windows linux

Instalando o curl:

sudo apt install curl

Para checar se foi instalado corretamente execute o comando:

curl --version

Resultado esperado:

curl windows linux

Observação

  • Se você já tiver o Git e o Curl instalados no seu sistema, você pode pular esses passos.
  • Se você tiver problemas para instalar o Git e o Curl, você pode tentar usar o comando sudo apt install -y git curl para instalar os dois pacotes de uma vez.

Efetuando a instalação do OMZ(OhMyZsh)

Execute o seguinte comando para instalar o OMZ:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Aguarde a instalação ser concluída.

PowerLevel10k – Instalação e configuração

Se você está procurando por um tema moderno e altamente personalizável para o seu terminal Linux no Windows com WSL 2, o PowerLevel10k é uma ótima opção. Com suporte a ícones, cores e layouts personalizáveis, o PowerLevel10k é um tema de terminal popular entre os usuários do ZSH e do OMZ.

Requisitos

  • Ter concluído todos os passos anteriores.
  • Fontes: Não é mandatório, mas é interessante ter configurado fontes monoespaçadas que incluem ícones e símbolos adicionais, essenciais para temas de terminal modernos, como o PowerLevel10k.

O Que São Nerd Fonts e Por Que Usá-las?

Nerd Fonts são fontes monoespaçadas que incluem ícones e símbolos adicionais. Esses ícones são usados para exibir informações visuais, como status de branches do Git, indicadores de erro, e muito mais, de forma elegante e compacta. Usar Nerd Fonts permite que você visualize esses símbolos corretamente no seu terminal.

Instalar Nerd Fonts

Para que os ícones do PowerLevel10k sejam exibidos corretamente, você precisa de uma fonte Nerd Font instalada e configurada no seu terminal.

  • Baixar e Instalar uma Nerd Font: Visite o repositório de Nerd Fonts e escolha uma fonte. Algumas das fontes mais populares incluem:
    • FiraCode Nerd Font
    • Hack Nerd Font
    • MesloLGS NF (recomendada pelo PowerLevel10k)
nerd fonts windows linux

Opção de preview, para ter uma noção de como vai ficar aquela fonte no terminal:

https://www.programmingfonts.org/#commit-mono

font windows linux

No meu caso eu escolhi a fonte Courier Prime, mas fique a vontade para escolher a que mais lhe agradar:

https://www.programmingfonts.org/#courier-prime-code

font windows linux

Instalação no Windows:

  1. Baixe o arquivo de fonte.
  2. Extraia o conteúdo do arquivo ZIP.
  3. Clique com o botão direito nos arquivos de fonte e selecione “Instalar”.
font windows linux

Dois cliques no arquivo .ttf e clique em “instalar”:

font windows linux

Agora basta abrir o PowerShell novamente.

Ajustando a fonte para o Ubuntu

Para personalizar a fonte do seu ambiente Ubuntu no terminal Windows, siga estes passos:

  1. Acesse as opções de configuração do terminal. Você pode fazer isso de duas maneiras:
    • Use o atalho de teclado Ctrl + ,
    • Ou clique no ícone de seta próximo à aba e selecione “Configurações” no menu
      image
  2. Na janela de configurações, localize e selecione o perfil “Ubuntu” na lista de perfis disponíveis.
  3. No painel lateral, procure e clique na seção “Aparência”.image
  4. Dentro das opções de aparência, encontre o campo relacionado às fontes.
  5. Neste campo, selecione a nova fonte que você previamente instalou no seu sistema.imageimage
  6. Aplique as mudanças clicando em “Salvar” e feche a janela de configurações.

Após estes passos, seu terminal Ubuntu no Windows exibirá o texto com a nova fonte escolhida.

Instalando o PowerLevel10k

Sua instalação é surpreendentemente fácil. Aqui está como fazer:

  1. Primeiro, certifique-se de que você tem o git instalado no seu sistema.
  2. Abra seu terminal.
  3. Cole e execute o comando de clonagem do PowerLevel10k e adicione a configuração no seu .zshrc:
    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
    echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
  4. Após a conclusão do download, feche o terminal atual.
  5. Abra uma nova janela do terminal. Surpresa! Você será recebido com o assistente de configuração do PowerLevel10k.
  6. Siga as instruções na tela para personalizar sua config/experiência.

E pronto! Com esses passos simples, você terá um terminal turbinado com o PowerLevel10k. A beleza deste método é que ele elimina a necessidade de configurações manuais complicadas, tornando todo o processo rápido e descomplicado.

Comandos utilizados:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
PowerLevel10k windows

Assistente de configuração – p10k

Depois de reiniciar o terminal, será exibido um assistente de configuração que permitirá escolher as opções visuais conforme suas preferências. Você pode personalizar a aparência do PowerLevel10k de acordo com seu gosto. Se desejar repetir a configuração mais tarde, basta executar o comando:

p10k configure

p10k configure

Com isto, estará concluída a instalação e configuração do PowerLevel10k no seu WSL.

Erros comuns – Troubleshooting

Caso a sua instalação tenha sido bem sucedida, pode ignorar este tópico.

p10k not found

Caso você encontre o mesmo problema que eu:

p10k configure windows

Onde o p10k não é encontrado e ocorrem alguns erros ao tentar carregar o .zshrc:

p10k configure windows error

-bash: builtin: setopt: not a shell builtin
-bash: ((: $+__p9k_root_dir : syntax error: operand expected (error token is "$+__p9k_root_dir ")
-bash: ${${(%):-%x}:A:h}: bad substitution
-bash: ((: $+__p9k_intro : syntax error: operand expected (error token is "$+__p9k_intro ")
-bash: typeset: __p9k_intro_base: readonly variable
-bash: typeset: __p9k_intro_locale: readonly variable
-bash: ${${__p9k_intro_base/ match / match reply }/ MATCH / MATCH REPLY }: bad substitution
zmodload: command not found
-bash: /home/fernando/powerlevel10k/powerlevel10k.zsh-theme: line 47: syntax error near unexpected token `)'
-bash: /home/fernando/powerlevel10k/powerlevel10k.zsh-theme: line 47: `() {'
-bash: local: can only be used in a function
-bash: builtin: setopt: not a shell builtin
-bash: ((: $+__p9k_root_dir : syntax error: operand expected (error token is "$+__p9k_root_dir ")
-bash: ${${(%):-%x}:A:h}: bad substitution
-bash: ((: $+__p9k_intro : syntax error: operand expected (error token is "$+__p9k_intro ")
-bash: typeset: __p9k_intro_base: readonly variable
-bash: typeset: __p9k_intro_locale: readonly variable
-bash: ${${__p9k_intro_base/ match / match reply }/ MATCH / MATCH REPLY }: bad substitution
zmodload: command not found
-bash: /home/fernando/powerlevel10k/powerlevel10k.zsh-theme: line 47: syntax error near unexpected token `)'
-bash: /home/fernando/powerlevel10k/powerlevel10k.zsh-theme: line 47: `() {'
fernando@desktop-xpg:~$

Para resolver, é necessário executar o comando:

exec zsh

Responder a todas as perguntas do assistente de configuração:

p10k configure windows config assist

Preencher o que é perguntado até o final.

Resultado esperado:

p10k configure windows final
Powerlevel10k não carrega automaticamente

Encontrei outro problema durante as configurações, que foi powerlevel10k não carregar sozinho no WSL 2, sendo necessário executar o comando exec zsh toda vez que abria o terminal.

Consegui ajustar seguindo estes passos:

Defina o Zsh como shell padrão:

  • Verifique se a linha abaixo está presente no final do arquivo .bashrc para garantir que o Zsh seja iniciado automaticamente quando você abrir o WSL2 Windows:
exec zsh
exec zsh

Feito isto, ao abrir novamente o WSL o ZSH e o tema do Powerlevel carregam automaticamente:

p10k

Plugins no ZSH

Se você está procurando por uma maneira de melhorar sua experiência de terminal no Windows com WSL 2, considerar usar o ZSH (Z Shell) e plugins pode ser uma ótima opção. Com uma variedade de plugins disponíveis, como zsh-syntax-highlighting e zsh-autosuggestions, você pode personalizar e melhorar sua experiência de terminal. Vou ti explicar como instalar e configurar os plugins zsh-syntax-highlighting e zsh-autosuggestions no Terminal Linux com WSL 2.

Instalando os plugins zsh-syntax-highlighting e zsh-autosuggestions

Agora que o ZSH está instalado, é hora de instalar os plugins zsh-syntax-highlighting e zsh-autosuggestions. Siga as etapas abaixo para instalar os plugins:

  1. Clone o repositório do zsh-syntax-highlighting usando o comando git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions.
  2. Clone o repositório do zsh-autosuggestions usando o comando git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting.
  3. Abra o arquivo de configuração do ZSH usando o comando vi ~/.zshrc.
  4. Localize a linha que começa com plugins= e adicione os nomes dos plugins separados por espaços, por exemplo, plugins=(git zsh-syntax-highlighting zsh-autosuggestions).
  5. Salve e feche o arquivo de configuração do ZSH.
  6. Atualize a configuração do ZSH usando o comando source ~/.zshrc.

Comandos utilizados:

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

vi ~/.zshrc

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

source ~/.zshrc

Visual Studio Code – vscode

Uma das principais vantagens do WSL2 é sua integração com o VSCode. Com essa configuração, você pode utilizar a IDE para acessar e editar arquivos e diretórios diretamente no ambiente Linux, além de gerenciar pacotes e monitorar o status do Git de seus projetos durante o desenvolvimento, tudo em tempo real.

Pré-requisitos

wsl extensao

Utilizando o Vscode + WSL

Após instalados VSCODE + WSL2, acesse o terminal e execute:

code nome-do-arquivo

Ou então code ., que vai abrir a pasta atual no vscode diretamente, basta clicar em “Yes” na mensagem que surge:

code .
vscode

Clique em “Yes”:

vscode

Com isto, temos nosso código e terminal acessiveis via vscode:

vscode
vscode

O Ubuntu abrirá o arquivo ou diretório diretamente no VSCode, operando dentro do ambiente Linux. Se tudo estiver funcionando corretamente, você notará no canto inferior esquerdo uma etiqueta azul com o nome semelhante a: WSL: Ubuntu, indicando que o terminal integrado do VSCode está ativo e operando na instância do WSL.

O WSL 2 é uma ferramenta incrível que pode ser usada para executar um sistema operacional Linux diretamente no Windows. Com o WSL 2, você pode ter acesso a um terminal Linux para Windows, sem precisar instalar um sistema operacional Linux separado. Neste artigo, mostramos como instalar e configurar o WSL2 Windows, ZSH, OMZ e plugins. Se você está procurando por uma ferramenta para executar um sistema operacional Linux no Windows, o WSL 2 é uma ótima opção.

Material extra

Video muito legal sobre a instalação de todos estes itens que foram abordados neste artigo:

Como configurar WSL 2 + Docker + Terminal ZSH + OHMYZSH + POWERLEVEL10K!

Conheça mais sobre o WSL 2

Compartilhe / Share
Fernando Müller Junior
Fernando Müller Junior

Eu sou o Fernando Müller, um Tech Lead SRE com 16 anos de experiência em TI, atualmente eu trabalho na Appmax, uma fintech localizada no Brasil. Apaixonado por trabalhar com arquiteturas e aplicações Cloud Native, ferramentas Open Source e tudo que existe no mundo SRE, sempre procurando se desenvolver e aprender constantemente(Lifelong learning), atuando em projetos inovadores!

Artigos: 36

Receba as notícias por email / Receive news by email

Insira seu endereço de e-mail abaixo e assine nossa newsletter / Enter your email address below and subscribe to our newsletter

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *