Subsistema Windows para Linux (WSL): o que não posso fazer com o aplicativo Ubuntu para Microsoft Windows?


23

Como muitos de vocês sabem, na Microsoft Store, existem três versões do Ubuntu . Isso significa que no Windows eu posso emular o Ubuntu e ter a linha de comando do Ubuntu diretamente no Windows.

A pergunta é muito fácil: o que não posso fazer a partir da linha de comando do Ubuntu emulada no Windows que posso fazer em um Ubuntu baseado no Linux? É útil baixar este aplicativo Ubuntu, instalá-lo e trabalhar apenas com ele em vez do sistema operacional real? É possível instalar todas as bibliotecas de desenvolvimento? Posso escrever (ou não) drivers de dispositivo? Em outras palavras: quais são os limites?

Quais recursos do Ubuntu Linux estão faltando no Ubuntu no Windows?

Novas respostas são bem-vindas: eu sei que todo software está sempre mudando, melhorando características e recursos!


Se você inicializou no Windows, talvez para jogos, é bom ter o Ubuntu 16.04 instalado lá quando você está em um micro-break, lendo as perguntas e respostas do Ubuntu aqui e deseja verificar rapidamente alguns comandos sem reiniciar. Se você deseja as limitações do Ubuntu no Windows, sua melhor aposta é acessar o site da Microsoft e ler todas as solicitações de novos recursos ou bugs que os usuários postaram: docs.microsoft.com/en-us/windows/wsl/faq
WinEunuuchs2Unix

1
A WSL ainda é muito mais lenta em termos de E / S (operações de disco), mesmo em comparação com as máquinas virtuais Linux em execução no Windows. No entanto, essa parece ser uma área trabalhada pela Microsoft.
Liori 2/07

@ jpaugh, exatamente, obrigado! Eu também acaba de atualizar a pergunta novamente :)
Leos313

Respostas:


19

O Ubuntu que é executado no Windows 10 Subsystem para Linux não é uma distribuição completa. De fato, não é Linux - não possui kernel Linux. Portanto, você não pode testar ou tentar extensões do kernel, incluindo drivers, porque você não está executando o Linux .

Se você quiser fazer coisas assim, instale o Ubuntu em uma VM - o Win10 inclui o Hyper-V, mas pessoalmente, prefiro o VirtualBox, que é gratuito - ou inicialize sua máquina com o Ubuntu rodando apenas o metal. Você certamente encontrará o último mais rápido que o Windows - eu o encontro em todas as minhas máquinas. Em parte, isso ocorre porque você precisa de proteção antivírus ao executar o Windows, o que diminui o desempenho, especialmente o desempenho do disco. E porque você precisa, o Win10 inclui antivírus embutido.

Com o Linux, você não precisa de nenhum, portanto, há menos impacto no desempenho.


20
Por que você acha que não precisa de antivírus no Linux?

7
@SeligkeitIstInGott Não é um emulador. É uma camada de compatibilidade, assim como no Wine no Linux.
Eric Duminil

6
"Com o Linux, você não precisa de nenhum [antivírus], portanto, há menos impacto no desempenho". - O Linux não é imune a vírus / malware / etc. O Antivirus SW é útil no Linux, tanto para se proteger quanto para impedir que coisas ruins se espalhem para outros ambientes (por exemplo, Windows). Sei que não é normalmente usado, mas isso não significa que a ameaça não exista.
Daniel Daniel

4
Eu tenho um problema com isso. 1. O antivírus não é "necessário" para executar o Windows. O sistema operacional Windows será executado sem um antivírus. Ele também vem com um antivírus, que leva ao ponto 2: escolher um software aleatório para apontar como "desacelerar o sistema operacional" parece arbitrário - e se eu argumentasse que o ubuntu era mais lento porque eu precisava de um monte de software extra para fazer aplicativos funcionarem? só funciona no Windows? (como uma VM para que eu pudesse jogar jogos AAA?). 3. Você não forneceu evidências para apoiar esta reivindicação.
Caleb Jay

6
@ Hack-R Não há engano. Eles ficaram bem claros desde o início que este não é o kernel Linux real. Começou como "executando ferramentas Linux, especialmente o Bash", para "executando ambientes / distribuições / aplicativos Linux". Se algo disso é enganoso, o mesmo acontece com o WINE.
Bob

7

Uma das coisas que você não pode fazer com facilidade no Windows Subsystem for Linux (WSL) é executar aplicativos da GUI do Linux.

Para fazer isso, você deve instalar um servidor X11 não suportado, como VcXsrv ou Xming.

A ativação do WSL é relativamente trivial. Parece ser muito bom como uma terra de usuário da linha de comando do Linux.


Eu não ligaria para não VcXsrvsuportado. Eles lançaram cerca de 10 atualizações desde que eu o uso (outubro de 2017).
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix: Eu quis dizer não suportado pela Miscrosoft, no sentido em que eles suportam o WSL implementando a API do kernel, distribuindo a área de usuário do Ubuntu, fornecendo ferramentas para instalar / ativar o WSl e assim por diante.
RedGrittyBrick

7

Há muitas informações úteis em cada uma das respostas acima. Estou aqui resumindo os principais conceitos de cada um deles.

Atualização de maio de 2019 : como apontado em uma das respostas mais recentes, a WSL está evoluindo usando o verdadeiro Linux Kernel e fornecendo muito mais opções. Passei por este documento e, se confirmado, será um grande passo em frente. Aqui você pode encontrar um bom artigo sobre o tópico "kernel Linux real no W10"

Resumindo: "O Ubuntu no Windows é a área de usuário completa do Ubuntu, sobre um kernel do Windows no modo Compatibilidade com Linux", como apontado em um dos comentários.

O que não posso fazer:

  • Oficialmente, nenhuma interface gráfica é compatível até o momento. Isso significa também que aplicativos gráficos não podem ser executados. Além disso, as GUIs padrão do clássico Ubuntu Linux não são suportadas por esse motivo, é claro.
  • O kernel do Linux desenvolvido pela Linus NÃO faz parte do Windows Subsystem for Linux (WSL). Isso significa que você não pode desenvolver drivers e testá-lo diretamente.
  • Nem toda linha de comando funciona.

O que eu posso fazer:

  • Use a linha de comando e o shell Bash básico. É possível escrever e executar scripts.
  • Desenvolva aplicativos (compile ou compile de forma cruzada e execute-os), mas sem gráficos até o momento.
  • Use "apt-get" para instalar / remover pacotes novos / antigos.

Informação adicional:

  • outras distribuições são oficialmente suportadas (como, por exemplo, Debian e Kali)
  • esses aplicativos podem ser baixados gratuitamente na Windows Store e aqui você encontra as instruções para instalá-lo e usá-lo.

  • Nesta outra questão do blog, algumas sugestões sobre como usar uma GUI para WSL (não oficial, de terceiros)

ATUALIZAÇÃO agosto de 2019 : o novo WSL 2 foi lançado (leia aqui para mais informações). Parece que você pode trabalhar com um kernel linux real e com um sistema de arquivos Linux. Inicialmente, ainda não tentei a nova versão (está na minha lista de tarefas).


4

Do How-To Geek :

O [It] ainda não suporta software de servidor em segundo plano e não funcionará oficialmente com aplicativos gráficos de desktop Linux. Nem todos os aplicativos de linha de comando funcionam, pois o recurso não é perfeito.

Atualização do comentário de allquixotic :

No Windows 10, as tarefas em segundo plano v1803 são suportadas.


6
No Windows 10, as tarefas em segundo plano v1803 são suportadas.
allquixotic

Pode ser útil apontar "tarefas em segundo plano" = crontabe outros daemons. Aqui está um exemplo prático de carregamento crontabquando o Windows é inicializado. Em seguida, usando a rsynccada 2 dias para fazer backup do banco de dados do Windows: blog.snowme34.com/post/…
WinEunuuchs2Unix

2

A partir de maio de 2019, o WSL 2 está em desenvolvimento .

O desempenho dramático do sistema de arquivos aumenta e a compatibilidade total de chamadas do sistema, o que significa que você pode executar mais aplicativos Linux no WSL 2, como o Docker.

...

O WSL 2 usa uma arquitetura totalmente nova que usa um kernel Linux real .

...

As versões iniciais do WSL 2 estarão disponíveis no programa Windows privilegiado até o final de junho de 2019.

(ênfase minha)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.