Uma breve visão sobre o projeto Wine

Uma breve visão sobre o projeto Wine
Uma breve visão sobre o projeto Wine

    Wine é um projeto que foi desenvolvimento inicialmente por Bob Amstadt (hoje Alexandre Julliarde em seu lugar) em 1993 para funcionar como uma camada de compatibilidade binária sendo assim capaz de executar programas da API Windows (WinAPI) na API POSIX como se fosse de forma nativa. Ou melhor dizendo, dentro de sistemas operacionais Unix/Like tais quais as distribuições Linux, os SunOS (Solaris e seus derivados que incluem também seus forks) e os BSDs (junto aos seus derivados).

Pokémon: Type Wild rodando no Linux Mint.
Pokémon: Type Wild rodando no Linux Mint.

Pokémon: Type Wild rodando no Fedora 33 com Btrfs.
Pokémon: Type Wild que apesar de ser open source, está disponível somente para Windows, rodando no Fedora 33 através do Wine.

Pokémon: Type Wild que apesar de ser open source, está disponível somente para Windows, rodando no Fedora 33 através do Wine com tela cheia.
Pokémon: Type Wild que apesar de ser open source, está disponível somente para Windows, rodando no Fedora 33 através do Wine com tela cheia. Espero que um dia a galera porte esse game para Linux.

    O nome Wine surgiu a principio da junção da frase “Emulador Windows” (Windows Emulator), mas que depois de um pouco pensar, perceberam que o nome não era um nome sugestivo desde que o Wine não é um emulador, daí fizeram o acrônimo “Wine não é um emulador” (Wine Is Not an Emulator).

    O Wine não emula as plicações Windows e sim traduz suas requisições on-the-fly fazendo com que sejam executados como se fosse nativamente em um Unix não sofrendo perda desempenho (como é o caso do que ocorre em emuladores).

    (29 de Setembro de 2021) Um bom exemplo para melhor entender seria compararmos o Cygwin e o WSL (Windows Subsystem for Linux). O Cygwin é um emulador de terminal de comandos POSIX para Windows (tanto é que vemos os comandos com a extensão .exe). Já o WSL faz uso do protocolo 9P (que é um protocolo de redes que surgiu no sistema operacional Plan-9) para servir como uma ponte de comunicações entre aplicações nativas do Linux e o Windows.

    Mas um ponto muito interessante que podemos até mesmo ler na FAQ do Wine é que, se levarmos em conta que Windows Vista pode ser considerado um emulador do Windows XP, neste sentido o Wine  também pode ser considerado um emulador (ambos permitem a execução de programas ao traduzir system calls).
"Configurar o wine para imitar o Winows XP não é muito diferente de configurar o Vista para carregar uma aplicação no modo de compatibilidade do XP."

    O Wine continua em pleno desenvolvimento, amadurecimento e aprimoramento, vindo a expandir sua plataforma (está rodando até mesmo no Android). (29 de Setembro de 2021) O Wine é um projeto tão interessante que algumas máquinas virtuais utilizam alguns de seus recursos no Windows ao invés de realizarem emulação (algumas utilizam recursos do Qemu), sua biblioteca (Winlib) pode ser utilizada para portar programas do Windows para outros sistemas operacionais (fim da atualização de 2021) e o wine chega a dar origem a vários outros projetos e até mesmo a dar origem outros sistemas operacionais, como o ReactOS (http://www.reactos.org/; http://www.reactos.org/about-reactos) criado para ser um sistema binariamente compatível com a arquitetura WindowsNT (ou seja WindowsXP, Vista e etc). Na minha opinião, o ReactOS é um Windows melhor do que o Windows; um trocadilho utilizando a frase do Linus Torvalds. Logicamente ele não faz tudo o que o Windows faz e ainda está  em estagio alfa, mas é bem mais enxuto, mais leve e com melhor desempenho.

Esquema de como funciona o ReactOS utilizando o Wine.
Esquema de como funciona o ReactOS utilizando o Wine.

ReactOS
ReactOS, sistema operacional baseado no Wine e com kernel clone do Windows NT.

    E o Linux Unified Kernel, também conhecido como Longene ou simplesmente LUK (http://www.longene.org/en/index.php) que utilizando um kernel Linux híbrido que visa ser binariamente compatível tanto com o linux quanto com o windows em termos mais breves (pt.wikipedia.org/wiki/Núcleo_híbrido; http://en.wikipedia.org/wiki/Binary_code_compatibility).



Como descrito acima no manual em Inglês, não é aconselhado utilizar o Wine para todos os softwares possíveis. É mais interessante utilizá-lo como uma ultima opção em caso você definitivamente necessita um certo software. Busque primeiro algum software que seja similar para realizar o seu trabalho (como o LibreOffice que pode substituir o MSOffice facilmente) ou até mesmo softwares que já existam tanto para Windows quanto para Linux como o caso dos navegadores Firefox e Google-Chrome (que alias, funcionam bem melhor no Linux).
    Como descrito acima no manual em Inglês, não é aconselhado utilizar o Wine para todos os programas possíveis. É mais interessante utilizá-lo como uma ultima opção em caso você definitivamente necessita um certo software. Busque primeiro algum software que seja similar para realizar o seu trabalho ou até mesmo programas que existam para ambos como é o caso dos navegadores Firefox e Google-Chrome (que alias, funcionam muito melhor no Linux).

    Duas grandes utilidades que encontrei para o Wine (além da galera utilizar para jogos, que foi bem incorporado isso na versão 1.7.19 e no exato momento que escreve esse parágrafo está na versão 1.7.29) foram:
  1. Em ambientes corporativos. Atender necessidade de clientes que possuem ambiente Linux e a ferramenta que necessitam utilizar estar disponível somente para a plataforma Windows (como foi no caso que me aconteceu alguns anos atrás e pode ser conferido no vídeo a seguir).
  2. Ambiente de desenvolvimento de software. Para os desenvolvedores que desejam disponibilizar seu software para Windows (também) e não desejam utilizar o Windows em seu computador. Foi o caso que disse à um amigo que estava desenvolvendo um player e queria disponibilizá-lo para Linux e outras sistemas amplamente utilizados na atualidade. O Windows acabou sumindo da sua lista por que ele não queria utilizar o sistema somente para tal fim (nem mesmo em uma maquina virtual). Foi aí que lhe sugeri o uso do Wine.


    O vídeo a seguir é a situação real do projeto de implantação de um sistema de ronda em um cliente onde era um ambiente totalmente Linux. Houve mais um caso de ambiente corporativo (quando trabalhei para um e-comerce em 2.008) em que o estúdio utilizavam iMac e a empresa utilizava um software desenvolvido internamente para gerenciamento. Consequentemente o estúdio necessitava do uso do tal software. A solução foi utilizar o Wine para Mac:

Como mencionado anteriormente, o Wine deu origem a vários outros projetos e podem ser conferidos na lista abaixo.

Projetos Relacionados ao Wine

  • WineCE: futura solução para execução de aplicações do WindowsCE (quem sabe a gente não rode os jogos do DreamCast melhor ao invés de usar emuladores hehehehe)





IEs4Linux  é um script que permite a instalação do internet explorer no Linux. O Site estava apresentando erros, então estou deixando outros links aqui: http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.99.0.tar.gz ; https://github.com/pld-linux/ies4linux ; https://github.com/drafnel/ies4linux; https://github.com/freeweb14/certificated

  • Open EXE with Either Wine or Mono dialog









GUIs:

Emuladores:
    Mas não há emuladores ou ferramente tradutoras de binários somente para aplicações Windows, há também ferramentas com o mesmo objetivo para OSX como lista abaixo:

Existem outros projeto iguais para outros sistemas, mas aqui abordei somente voltado a Linux.


Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)