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 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. 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. |
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).
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:
- 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).
- 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
- Crossover/WineX: uma solução como o Wine, porém comercial (em torno de $67): http://www.codeweavers.com/
- Cedega: https://gametreedeveloper.com/
- Cider: que pode ser baixado no próprio site do Cedega.
- 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
- wwine: empacotador Wine: http://random.zerodogg.org/wwine/download/
- Zero Wine: Analisador de Malwares: http://zerowine.sourceforge.net/
- Sidenet: Configurador de ambiente Wine: http://sidenet.ddo.jp/winetips/config.html
- ULL: Carregador Linux que cuida dos patches e inicializa jogos produzidos pela NCSoftsob o Wine: http://sourceforge.net/projects/ull/
- Dx Wine: Mais uma ferramenta (prealpha) para directx: http://sourceforge.net/projects/dxwine/
- PlayOnLinux (http://www.playonlinux.com/en/)
- Q4wine é uma GUI (http://sourceforge.net/projects/q4wine/)
- Wine Blue Remix é um tema desenvolvido especialmente para o Gnome: (http://linux.softpedia.com/get/Desktop-Environment/Icons/Wine-Blue-Remix-98525.shtml)
- WineFix é um projeto que oferece uma integração de área de trabalho melhorada: (http://linux.softpedia.com/get/Utilities/Winefix-31532.shtml)
- KDE2wine Colorsync Script que importa as cores do KDE para o Wine: http://linux.softpedia.com/get/Utilities/KDE2Wine-Colorsync-34116.shtml
- Wine Doors ferramente para gerenciamento do Wine no Gnome: http://sourceforge.net/projects/winedoors/files/?source=directory
- K-wine Ferramenta de interoperabilidade entre KDE e Wine http://kwine.sourceforge.net/
- Winetricks: é um script para instalação de componentes básicos e ajustar configurações: https://code.google.com/p/winetricks/ ; http://en.wikipedia.org/wiki/Winetricks
- Winetools: WineTools é um instalador dirigido por menu para instalação de torno de 90 programas do Windows sob processador na arquitetura x86 (Athlon ou Intel PC) com o sistema operacional Linux utilizando Wine: http://www.von-thadden.de/Joachim/WineTools/
- Wine Locale: é um programa utilizado para configurar local onde as aplicações windows que rondam pelo Wine: (http://linux.softpedia.com/get/System/Emulators/Wine-Locale-100317.shtml)
Emuladores:
- DOSEMU (http://sourceforge.net/projects/dosemu/?source=directory); D-Fend Reloaded (GUI) http://sourceforge.net/projects/dfendreloaded/?source=recommended
- DosBlaster (requer o DOXBOX) http://sourceforge.net/projects/dosblasterx/?source=recommended
- CigWin que utiliza a winelib (http://wiki.winehq.org/Winelib) para gerar um terminal Unix dentro do Windows. Há uma cheat sheet sobre o Cygwin muito interessante que foi feito pela pcwdld que vale a pena ser conferido clicando aqui.
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:
- Darling que é uma camada de tradução que permite executar binários do OS X no Linux (esse é bem parecido com o Wine) http://www.darlinghq.org/
- Mini vMac é um emulador que permite executar aplicações de antigos Mac em computadores modernos. Está disponivel para várias plataformas: http://minivmac.sourceforge.net/
- SoftPear PC/Mac interoperability que visa criar compatibilidade entre computadores IBM PC e Apple Macintosh http://softpear.sourceforge.net/
Existem
outros projeto iguais para outros sistemas, mas aqui abordei somente
voltado a Linux.
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.