Quais são as diferenças entre o Windows Bash e o Cygwin?

47

Quais são as diferenças entre o Windows Bash e o Cygwin? A nova atualização das janelas com o bash "linux" é nova, mas quais são as diferenças para o Cygwin que podem fazer você escolher uma sobre a outra?

    
por Martijn van Wezel 18.08.2016 / 17:36

2 respostas

50

O Cygwin é uma ótima ferramenta se você quiser viver inteiramente no Windows e quiser dirigir / automatizar tarefas do Windows com scripts bash. No entanto, o Cygwin é incapaz de executar binários Linux não modificados.

É aí que a WSL entra:

O Subsistema Windows para Linux (WSL), é uma nova camada do kernel do Windows, que visa fornecer um alto grau de compatibilidade com a ABI do kernel do Linux. Isso permite que binários nativos, não modificados, do Linux ELF64 sejam executados no WSL.

É assim que a WSL pode executar uma distribuição genuína de usuário do Ubuntu, e quaisquer pacotes que você baixar do apt-get, ou pacotes .deb de qualquer outro lugar, sem nenhuma mudança.

O ponto da WSL é permitir que desenvolvedores trabalhando no Windows possam executar muitas das ferramentas e trabalhar em muitos projetos, que dependem de binários, recursos, comportamentos, layout de sistema de arquivos, modelo de processo, etc. / p>

Embora a WSL ainda esteja no início de sua implementação, estamos trabalhando duro para melhorar a amplitude e profundidade de nossas implementações syscall para melhorar continuamente a capacidade da WSL de executar um conjunto cada vez maior de ferramentas e oferecer suporte a um número crescente de Ruby. Java, nó, etc. pacotes e projetos.

Atualização: 2017-09-07

Desde que escrevemos o acima, enviamos o Windows 10 Creators Update, que melhora MASSIVELY a compatibilidade do WSL com MUITAS das ferramentas que você deseja / precisa executar.

O desenvolvimento também continuou inabalável e estamos enviando o Win10 Insiders nos últimos meses a caminho da entrega do Fall Creators Update (FCU) em outubro de 2017.

Na FCU, estamos adicionando a capacidade de instalar e executar mais de uma distribuição lado a lado: o Ubuntu, o openSUSE e o SLES estão atualmente disponíveis, com o Fedora e outros a caminho. A WSL também oferece suporte a comunicações via USB e montagem de compartilhamentos de rede e armazenamento USB, além de outras melhorias em nossas configurações, melhorando a compatibilidade com mais ferramentas.

HTH.

    
por Rich Turner 19.08.2016 / 02:12
8

Subsistema do Windows para Linux

Estou usando o WSL no Windows 10 há alguns meses. Finalmente eu posso inicializar no Windows para jogos e ainda acessar o prompt do bash e executar o CLI e muitos programas GUI. Existem limitações, como nenhum dos diretórios virtuais conhecidos do Kernel do Linux. O planejamento é necessário para compartilhar o mesmo script bash entre o Ubuntu e a WSL em uma máquina de inicialização dupla.

Há muitas coisas que eu gostaria de ver melhoradas, mas posso viver com isso por um ano ou mais.

Fonte fechada

Uma coisa a lembrar é que a MS é um sistema fechado e você não recebe a enxurrada de terceiros escrevendo atualizações como você gosta no Linux. Mas todas as coisas consideradas você compra um novo laptop e ele vem com o Windows 10 de qualquer maneira, então você poderia dizer que é "livre", pelo menos:)

O Cygwin é controlado pelo Red Hat Linux, que não é exatamente conhecido por distribuir as coisas de graça também. Seu "livre" Linux Distribution Fedora parece um "campo de testes" para alguns.

Ciclos de manutenção

O Cygwin tem 15 anos de atualizações. É notável que o mesmo gerente de projetos esteja em vigor desde 2003. Há muitos mantenedores em tempo integral e muitos outros colaboradores voluntários.

O WSL fornece atualizações importantes duas vezes por ano, toda primavera e outono. Atualizações secundárias semanais estão disponíveis para aqueles na lista de assinaturas dos desenvolvedores. Embora a Microsoft tenha recursos para lançar milhares de pessoas no desenvolvimento da WSL, parece que você pode contar os membros da equipe com os dedos.

Problemas de velocidade

Você verá muitas reclamações sobre a velocidade da WSL. Por exemplo, a pintura de tela demora muito mais no Windows 10 em relação ao Ubuntu 16.04, ou seja, você pode realmente ver o cursor se mover no Windows 10:

Demora cerca de 5 segundos para a tela inicial do Bash da WSL pintar. Por comparação, é cerca de 1 1/2 segundos para a mesma tela inicial no Ubuntu 16.04:

O Cygwin tem sua própria participação na velocidade reclamações com bash .

postagem original abaixo para referência histórica.

A resposta aqui é de 1 ano de idade, então acho que uma pequena atualização está em ordem. Com o Windows 10 Home, se é o Windows de 32 bits, significa que ele não executará o subsistema Ubuntu / Windows de 64 bits como a Microsoft nos diz aqui: ( subsistema Windows Linux no win10 HOME BASIC ).

É como um sonho que se tornou realidade rodando o Ubuntu no Windows com suporte superior a jogos para a nVidia, mas antes de comprar um novo (ou usado) laptop, verifique se ele tem o Windows 10 de 64 bits e não o de 32 bits versão se você quiser rodar coisas do Ubuntu / Linux nativamente no Windows. Nos sites da MS, eles referem-se à edição do Windows Anniversary como um pré-requisito para executar o Windows Subsystem para Linux.

No entanto, se você não quiser desembolsar US $ 200 + pelo Windows 10 e tiver um laptop mais antigo executando o Windows 8.1 de 64 bits, e tiver um laptop ainda mais antigo executando o Windows Vista de 64 bits, então o Cggwin é a resposta.

O Cygwin suporta mais versões do Windows como as listas do site :

  

Espera-se que o Cygwin rode em todas as versões modernas lançadas   Janelas. Estado de janeiro de 2016 isso inclui o Windows Vista, Windows   Server 2008 e todas as versões posteriores do Windows até o Windows 10 e   Windows Server 2016. A versão de 32 bits do Cygwin também é executada   Ambiente WOW64 de 32 bits nas versões lançadas de 64 bits do Windows, o   Versão de 64 bits, claro, apenas no Windows de 64 bits.

     

Tenha em mente que o Cygwin só pode fazer o mesmo que o SO subjacente   suporta. Por causa disso, o Cygwin se comportará de maneira diferente e exibirá   limitações diferentes, nas várias versões do Windows.

    
por WinEunuuchs2Unix 06.09.2017 / 01:29

Tags