Aposto que você não esperou viver o suficiente para ver este dia, certo? Quem diria… Aplicações Linux rodando no Windows, tal como as aplicações Windows que rodam no Linux com o WINE?
Pois é, esse dia chegou. Bem, ainda não completamente, mas já estamos quase lá.
A Microsoft pegou o mundo de surpresa no Build 2016 ao anunciar o Bash on Windows, resultado de uma parceria com a Canonical e que resultou na possibilidade de rodar partes do Linux (a userland, para ser mais preciso) sobre o Windows através de uma camada de tradução de syscalls (chamadas ao kernel Linux), tal como o projeto WINE faz tradução de chamadas Win32 para permitir a execução de aplicativos desktop Windows no Linux. Esse “WINE” da Microsoft é o Windows Subsystem for Linux, mostrado abaixo:
Entretanto, o Bash on Windows suporta apenas aplicações de linha de comando. Em tese, aplicativos gráficos não poderiam ser executados no Windows através do Bash.
Mas por que não?
Se você é como eu, então não aceita um “não” como resposta. Pelo menos, não sem luta!
Back to basics – aplicativos GUI no Linux
A interface gráfica do Linux é baseada numa tecnologia chamada de X Window System (mais comumente chamada de X11). O X11 divide as aplicações entre X Clients (são as aplicações gráficas propriamente ditas, como o Firefox ou Gimp) e o X Server (componente que gerencia o hardware gráfico e faz a exibição de imagens).
O Bash on Windows não tem como exibir aplicativos gráficos pelo simples motivo de que não há um X Server rodando. Como o foco da Microsoft com o Bash é suportar a interface de linha de comando (CLI, “command-line interface”), não faz sentido oferecer um componente de suporte a aplicações gráficas (GUI, “graphical user interface”).
Agora, e se tivéssemos um X Server rodando no Windows? Será que funcionaria?
Bem, ‘bora testar!
Instalando o Bash on Windows
Para nosso teste, precisamos do Bash on Windows. Na data em que este post foi escrito, ele estava disponível apenas para Windows Insiders no Fast Ring (Windows 10 Insider Preview, build 14316 ou posterior).
Com a versão correta do Windows, basta abrir o prompt de comando do Windows (CMD) e digitar bash
:
X Server no Windows
O primeiro desafio é arrumar um X Server. Não dá para pegar um do Linux – como o servidor X interage com dispositivos gráficos, ele precisa de acesso de baixo nível. Portanto, precisa ser escrito especialmente para Windows.
Precisamos, assim, de um port do X Server para Windows. Para nosso teste, usei o Xming X Server. Baixe-o e o instale no seu computador.
Hora da verdade
Inicie o Xming a partir do Menu Iniciar para termos nosso servidor X rodando.
Agora, abra o Bash a partir do Menu Iniciar. Para nosso teste iremos instalar o famoso Gimp. É só ir na linha de comando do bash e digitar apt install gimp
:
Como o Bash on Windows não sabe que agora temos um servidor X rodando, precisamos informar isso na linha de comando. Digite o comando DISPLAY=:0 gimp
para iniciar o Gimp no Windows:
Conclusão
Este post foi apenas para matar a curiosidade de saber se seria possível rodar aplicações Linux no Windows. A resposta inicial é um surpreendente e animador “sim!”, mas a verdade é mais complexa que isso.
Primeiramente é importante destacar que as aplicações, neste instante, estão instáveis e travam o tempo todo. É praticamente impossível usar o Gimp neste momento. Mas isso era esperado, afinal o Windows Subsystem for Linux (WS4L) ainda não está pronto. Como o foco da Microsoft é a linha de comando, provavelmente há recursos de kernel necessários para aplicações X que ainda não estão disponíveis no WS4L. Aliás, pode ser que nunca venham a estar disponíveis. Mas o simples fato de já ser possível executar aplicações Linux GUI no Windows 10 é algo que seria inimaginável há alguns poucos dias atrás. Quem sabe o que o futuro nos reserva?
Minha sugestão: Experimente com outras aplicações. Pode ser que umas sejam mais estáveis que outras. Tem gente que conseguiu rodar VIM e Firefox. Dê uma olhada nesta thread no Reddit, onde as pessoas estão trocando dicas e truques a respeito deste assunto.
E você, o que acha deste admirável mundo novo? Compartilhe sua experiência nos comentários!
Um abraço,
Igor
(Cross-post de http://www.tshooter.com.br/2016/04/12/execute-aplicacoes-gui-linux-no-windows-10/)
Igor Abade
Igor Abade V. Leite ([email protected]) é Microsoft MVP (Most Valuable Professional) de Visual Studio ALM desde 2006. Palestrante em diversos eventos da comunidade de desenvolvimento de software (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON e outros), é também autor de artigos em revistas e sites como o MSDN Brasil. Desde março de 2011 é um dos sócios da Lambda3, uma consultoria especializada em ALM, desenvolvimento de software e treinamentos. Siga-o no Twitter @igorabade.