Como programador, é comum se encontrar dividido entre a conveniência do Windows, com seu vasto leque de ferramentas, jogos e softwares, e a robustez do Linux, ideal para o desenvolvimento. Em um cenário de máquina única, a escolha de um sistema operacional torna-se inevitável.
A alternativa de usar dois sistemas operacionais, seja através do dual boot (inicialização dupla), um procedimento arriscado e complexo, ou por meio de uma máquina virtual, que pode acarretar sobrecarga de desempenho, não é a mais atrativa. Felizmente, há uma solução que elimina a necessidade de escolher entre os dois: por que optar por um quando se pode ter ambos de forma simples?
O sistema operacional Windows agora oferece a possibilidade de unificar o poder do Linux e do Windows na mesma máquina. Dentro do ambiente Windows, você pode executar tanto aplicativos quanto comandos do Linux. Essa capacidade representa uma verdadeira revolução.
Inicialmente, essa integração permite que você usufrua do melhor de dois mundos em um único dispositivo, sem custos adicionais. Você poderá acessar toda a gama de softwares do Windows, desfrutando de seu design agradável e facilidade de uso, enquanto aproveita o poder da linha de comando do Linux. Isso facilita a automatização de tarefas, o trabalho com diversas ferramentas de código aberto e o acesso a arquivos e executáveis do Windows diretamente de um shell bash.
Ademais, a execução de comandos Linux no Windows permite a instalação e gestão de software de forma simples, através de gerenciadores de pacotes Linux. Torna-se possível trabalhar em projetos multiplataforma e acessar utilitários Linux como SSH, grep, sed e awk de forma mais eficiente.
Por fim, o uso de comandos Linux no Windows proporciona uma introdução mais suave ao Linux para usuários do Windows, facilitando a transição completa para este sistema operacional, caso necessário. A ferramenta que possibilita essa integração é o Subsistema Windows para Linux (WSL).
Subsistema Windows para Linux (WSL)
O Subsistema Windows para Linux (WSL) é um recurso do Windows, introduzido em 2016. O WSL permite que você instale uma distribuição Linux genuína diretamente no Windows, executando seu sistema de arquivos, ferramentas de linha de comando, aplicativos GUI e utilitários diretamente, sem a necessidade de uma máquina virtual ou dual boot com Linux e Windows.
Para utilizar o WSL, é necessário o Windows 11 ou Windows 10 versão 2004 (ou superior), com build 19041 ou superior. O WSL oferece suporte a CPUs x64 e Arm.
O WSL possibilita a instalação de diversas distribuições Linux, como Ubuntu, OpenSUSE, Kali, Debian, Fedora, Fedora remix e Arch Linux. Todas essas distribuições estão disponíveis na Microsoft Store.
Com o WSL, você terá uma experiência Linux integrada ao Windows, permitindo executar arquivos do Linux no Windows e visualizar arquivos do Linux no Windows. É igualmente possível executar executáveis do Windows e acessar arquivos do Windows a partir do shell Bash do Linux.
Como o Subsistema Windows para Linux Funciona
Nos bastidores, o WSL não é um emulador ou virtualizador. Ele funciona como uma camada de compatibilidade entre o Windows e o Linux. Tecnicamente, o WSL permite a execução de binários ELF64 Linux não modificados, proporcionando uma experiência integrada.
Para isso, o WSL fornece uma interface de kernel Linux, desenvolvida pela Microsoft, que opera sobre o kernel do Windows. Este kernel Linux é executado dentro do Windows e é baseado na tecnologia central do Hyper-V.
O Hyper-V é um hipervisor nativo, um software capaz de criar e executar máquinas virtuais. O Hyper-V oferece virtualização de hardware, o que significa que as máquinas virtuais são executadas em hardware virtual. O WSL, construído sobre essa tecnologia, proporciona um desempenho de sistema de arquivos superior e melhor suporte a aplicativos Linux.
Para a execução de binários ELF64 Linux não modificados, o WSL traduz chamadas de sistemas Linux em chamadas de sistema Windows, permitindo sua execução em velocidade nativa.
Na interface do kernel Linux, executada no Windows e fornecida pelo WSL, diferentes distribuições Linux podem ser instaladas. Estas distribuições oferecem um ambiente semelhante a um contêiner, com todas as dependências e gerenciamento de pacotes necessários para executar aplicativos Linux. É nesse ambiente que os aplicativos Linux são executados.
Por que Utilizar o Subsistema Windows para Linux?
Se você já utilizou uma máquina virtual para executar o Linux no Windows, pode estar se questionando o que o WSL oferece que uma máquina virtual não pode. Para começar, o WSL utiliza menos recursos do computador do que a execução de uma máquina virtual.
O WSL consome muito menos armazenamento e memória, além de não exigir tanto uso da CPU quanto uma máquina virtual. O WSL também permite o acesso aos seus arquivos do Windows a partir do Linux, uma funcionalidade que possibilita o uso de ferramentas de linha de comando do Linux nos mesmos arquivos que você utiliza com seus aplicativos do Windows.
Outra característica essencial do WSL é a facilidade de execução do Linux. A virtualização pode ser complexa, e o WSL simplifica todo esse processo. Ele facilita também a instalação de diversas distribuições Linux e a alternância entre elas.
Para desenvolvedores, o WSL permite o melhor dos dois mundos. Você pode executar o Linux e ter acesso a todas as ferramentas de programação exclusivas e recursos de código aberto desenvolvidos com o Linux em mente, enquanto desfruta de todos os recursos do Windows.
Com o WSL, você não terá problemas de compatibilidade, pois está utilizando ferramentas projetadas para o Linux. Adicionalmente, alternar entre os dois sistemas operacionais torna-se mais rápido e fácil, sem a necessidade de configurações complexas ou de um computador extra.
Para começar a usar comandos Linux, o primeiro passo é instalar o Subsistema Windows para Linux em sua máquina.
Como Instalar o Subsistema Windows para Linux
1. Verifique se seu computador atende aos seguintes requisitos: ser de 64 bits e ter o Windows 11 ou Windows 10 versão 2004 ou superior. No Windows 10, a build deve ser 19041 ou superior. Certifique-se também de estar conectado à internet.
2. Abra o menu Iniciar, pesquise por Powershell e selecione “Executar como administrador” para abrir com privilégios de administrador.
3. No PowerShell, digite o seguinte comando:
wsl --install
Este comando habilitará todos os recursos necessários para a execução do WSL e realizará as atualizações que seu sistema operacional necessitar para que o WSL funcione perfeitamente. Primeiro, a plataforma de máquina virtual será instalada e, por fim, o WSL. Seja paciente, pois este processo pode demorar um pouco.
4. Após a conclusão do processo, confirme se o WSL foi instalado executando o comando `wsl –install` novamente. Se uma página de ajuda do WSL, como a apresentada abaixo, for exibida, a instalação foi bem-sucedida.
5. O próximo passo é instalar uma distribuição Linux para usar com o WSL. Para ver todas as distribuições disponíveis para instalação, execute o seguinte comando no PowerShell:
wsl --list --online
Você verá uma lista das distribuições disponíveis, como a mostrada abaixo:
6. A partir da lista, você pode instalar a distribuição Linux desejada digitando:
wsl --install -d <nome da distribuição>
Por exemplo, para instalar o Ubuntu 22.04 Long Term Support, execute o seguinte comando:
wsl --install -d Ubuntu-22.04
Aguarde o término do processo. Você receberá uma mensagem de conclusão bem-sucedida, e uma janela de terminal do Ubuntu será aberta, como mostrado abaixo:
Digite seu nome de usuário e senha para configurar seu ambiente. Lembre-se de que, no Linux, ao inserir a senha no terminal, nenhum caractere será exibido, mas a entrada é capturada.
Uma alternativa à instalação através do PowerShell é abrir a Microsoft Store e pesquisar por WSL. Todas as distribuições disponíveis serão exibidas. Clique em “Obter” para instalar a distribuição desejada.
7. Após inserir seu nome de usuário e senha, você poderá acessar o Ubuntu no Windows, como mostrado abaixo:
Sinta-se à vontade para começar a usar seus comandos favoritos do Linux.
A distribuição Linux instalada pode ser facilmente acessada no menu Iniciar quando você quiser abri-la.
No seu explorador de arquivos, você também notará um novo local de armazenamento chamado “Linux”, onde todas as suas distribuições e arquivos Linux são armazenados.
O Subsistema Windows para Linux é uma maneira excelente de executar comandos Linux no Windows. Caso você não consiga instalar o WSL em sua máquina, provavelmente porque seu computador não atende aos requisitos necessários para a instalação, existem outras alternativas que podem ser instaladas. Vejamos dois emuladores que podem auxiliar na execução de comandos Linux no Windows.
Utilizando comandos Linux no Windows com Cygwin
Cygwin é uma vasta coleção de ferramentas GNU e de código aberto que, juntas, oferecem uma funcionalidade semelhante à de uma distribuição Linux no Windows.
Cygwin é um emulador UNIX e fornece um ambiente shell UNIX no Windows, dando acesso a uma série de ferramentas do ecossistema Linux.
Como o próprio slogan afirma, o Cygwin busca fornecer a sensação de Linux no Windows. No entanto, o Cygwin não permite a execução de aplicativos Linux no Windows. O Cygwin funciona em todas as versões x86_64 do Windows, a partir do Windows 7.
Para instalar o Cygwin:
1. Acesse a página de instalação, baixe o arquivo setup-x86_64.exe e execute-o.
2. Avance pelas primeiras telas do assistente de instalação, clicando em “Avançar” para manter as seleções padrão. Isso manterá a fonte de download para instalação pela internet, utilizará a raiz sugerida e o diretório de pacote padrão, além das configurações de proxy do sistema.
3. Ao escolher um site para baixar os pacotes Cygwin, clique em qualquer um dos links fornecidos e depois em “Avançar”.
4. Ao selecionar os pacotes a serem instalados, mantenha a seção padrão. Isso está em “Visualização”; certifique-se de que a categoria esteja selecionada e clique em “Avançar”. Isso o direcionará para a tela de revisão e confirmação das alterações. Clique em “Avançar” para iniciar a instalação do Cygwin.
5. Aguarde a conclusão do processo de instalação.
6. Clique em “Concluir” para finalizar o processo de instalação. Você pode desmarcar as caixas caso não queira criar um ícone do Cygwin na área de trabalho e no menu Iniciar.
7. Você pode encontrar o ícone do Cygwin no menu Iniciar ou na área de trabalho. Clique duas vezes para iniciar o Cygwin.
8. O Cygwin será aberto com uma janela de shell bash, onde você poderá começar a utilizar comandos Linux como se estivesse em uma máquina Linux.
Utilizando Comandos Linux no Windows com QEMU
QEMU é um emulador e virtualizador de máquina genérico e de código aberto. QEMU é comumente usado como um emulador de sistema, onde fornece um modelo virtual de outra máquina onde você pode executar um sistema operacional diferente daquele em que se encontra.
Para instalar o QEMU:
1. Acesse a página de downloads e baixe o arquivo .exe de configuração do QEMU para computadores de 64 bits e execute-o assim que o download for concluído.
2. A janela do assistente de configuração do QEMU será exibida. Clique em “Avançar” para prosseguir. Nas próximas telas, aceite o contrato de licença, clique em “Avançar” para instalar os componentes padrão selecionados e selecione o local de instalação (ou deixe o padrão, Disco Local C). Para simplificar, não altere o local de instalação.
3. Aguarde a conclusão da instalação e clique em “Concluir”.
4. O próximo passo é adicionar o caminho do arquivo onde o QEMU foi instalado à variável de ambiente. Para fazer isso, acesse “Este Computador -> Disco Local C -> Arquivos de Programas -> qemu”, conforme mostrado:
5. Selecione e copie o caminho do arquivo onde o QEMU está instalado em sua máquina.
6. Abra as “Configurações do Windows”, clique em “Sistema”, role a barra de menu à esquerda e selecione “Sobre”. Na página “Sobre”, clique em “Configurações avançadas do sistema” para abrir a janela “Propriedades do sistema”.
7. Na janela “Propriedades do Sistema”, na aba “Avançado”, clique em “Variáveis de Ambiente”.
8. Na página “Variáveis de Ambiente”, clique duas vezes em “Caminho” para adicionar o caminho onde o QEMU foi instalado.
9. Clique em “Novo”, cole o URL do caminho que você copiou e clique em “OK” para adicioná-lo. Clique em “OK” nas janelas “Variáveis de ambiente do Windows” e “Propriedades do Sistema” para salvar as alterações e fechar as janelas.
10. Para confirmar que o QEMU foi instalado com sucesso e que seu caminho foi adicionado às variáveis de ambiente, abra o PowerShell e execute o seguinte comando:
qemu-img --help
Se ambos os processos forem bem-sucedidos, você verá uma janela exibindo a versão do `qemu-img` instalada e sua página de ajuda.
11. Para começar a emular um sistema operacional Linux, você terá que baixar a imagem .iso da distribuição Linux que deseja emular usando o QEMU. Em seguida, no Powershell, navegue até o local de armazenamento do arquivo .iso e execute:
qemu-system-x86_64.exe -boot d -cdrom <nome_da_distribuição_linux> -m <RAM_a_ser_alocada>
Para emular o Ubuntu 22.04.3 a partir de um arquivo iso que baixei, navegaria até onde o arquivo .iso está localizado e executaria:
qemu-system-x86_64.exe -boot d -cdrom ubuntu-22.04.3-desktop-amd64.iso -m 2048
Isso abrirá uma janela do shell bash, onde você poderá começar a usar os comandos Linux.
Conclusão
Ao usar o Linux no Windows, é importante ter em mente que, embora você possa acessar arquivos do Windows a partir do Linux e vice-versa, os caminhos dos arquivos podem precisar de ajustes.
Alguns comandos específicos de cada sistema operacional podem não funcionar como esperado; as permissões de arquivo entre os dois sistemas são tratadas de maneira diferente; e será preciso gerenciar a alocação de recursos para ambos os sistemas, a fim de garantir que cada um tenha o suficiente para funcionar corretamente. Adicionalmente, faça sempre backup de seus arquivos importantes, caso algo saia errado.
Você também pode explorar os recursos do WSL2, seu processo de instalação e como utilizá-lo de forma eficaz.