— programa para rodar aplicativos do Windows em computadores com Unix.
Executar Wine no Windows foi o sonho de fãs que seguem o chamado do coração "Fazemos o que devemos, porque não somos obrigados a fazer", pelo menos desde 2004, quando alguém tentou compilar o Wine no Cygwin e .
Justificativa: "E os aplicativos antigos que não funcionam corretamente nas versões mais recentes do Windows?" Mas sabemos que a verdadeira razão é "Eu sofri muito pela minha arte, agora é a sua vez".
No final de 2008, fui dominado por uma ideia obsessiva— e eu (parece que fui eu) criei uma página na wiki do Wine. Resumindo: isso era completamente impossível, pois tudo funcionava através do Cygwin, MinGW ou Serviços do Windows para Unix. não é muito mais bem-sucedida.
O Windows 10 introduziu a Subsistema do Windows para Linux, e o Ubuntu é facilmente baixado na Microsoft Store. Como resultado, nossa ideia tola se está realizando quase sozinha, exceto pela necessidade de configurar manualmente a variável de ambiente DISPLAY.
Até agora, isso é absurdamente inútil. O Wine funciona apenas com aplicativos Windows de 64 bits, ou seja, não é compatível com todos os aplicativos que vêm com o próprio Windows 10.
(O projeto original começou depois que alguém não conseguiu rodar o Encarta 97 no Windows 10. Assim, como toda solução verdadeira de nerd, na verdade não resolve o problema original do usuário).
Mas quero enfatizar mais uma vez: agora isso funciona de forma triviais. Não sou um gênio louco que implementou um projeto fantástico — só parece que fui o primeiro a anunciar publicamente este fato.
Como fazer essa coisa tola
1. Você tem o Windows 10 de 64 bits, certo? Esta é a única versão com WSL.
2. Instale o WSL. Painel de Controle -> Aplicativos -> Programas e Recursos -> Ativar e Desativar Recursos do Windows. Marque a opção "Subsistema do Windows para Linux". Reinicie o Windows.
3. Vá até a Microsoft Store, instale o Ubuntu (principalmente para sua execução e criando o WSL). Eu instalei o Ubuntu 18.04 LTS. Abra o Ubuntu, e você verá um terminal bash.
4. Instale o seguinte a partir da linha de comando bash:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stableVocê pode instalar uma versão mais recente do Wine, se desejar (não se esqueça das duas novas bibliotecas necessárias para wine-devel >=4.5 que ainda não estão incluídas no Ubuntu!). Avise se isso funcionar.
5. Adicione ao seu .bashrc a seguinte linha:
export DISPLAY=:0.0Provavelmente, você vai querer executar isso também na janela atual do bash.
6. , uma versão bem embalada do xorg, compilada para Windows – basta pegar a última versão do executável e executá-lo. Inicie o X Server através do botão ‘Start’ e XLaunch. Ele o guiará pelos padrões – mantenha a maioria deles como estão. Eu marquei ‘Desativar controle de acesso’ só por precaução. Salve a configuração.
6a. Se quiser verificar se o servidor X está configurado corretamente, instale sudo apt install x11-apps e execute xeyes para uma breve viagem de volta aos anos 80-90.
7. O próprio wine não funciona porque . No nosso Windows 10 de 64 bits, aparece um erro /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Supostamente, isso .
Mas, por enquanto, vamos executar o Bloco de Notas no Wine!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

A FAZER: suporte a 32 bits. Vamos ter que esperar . Fico curioso se programas antigos Win16 funcionarão — teoricamente, eles deveriam rodar no Wine, mesmo que não funcionem mais no próprio Windows.
Aplicativos de 32 bits via qemu
Obrigado , que sugeriu como abordar a execução de aplicativos de 32 bits.
sudo apt install qemu-user-static sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic 'x7fELFx01x01x01x03x00x00x00x00x00x00x00x00x03x00x03x00x01x00x00x00' --mask 'xffxffxffxffxffxffxffxfcxffxffxffxffxffxffxffxffxf8xffxffxffxffxffxffxff' sudo service binfmt-support start
E agora podemos fazer:
fun@DESKTOP-7F6DU8P:~$ wine --version wine-3.0 (Ubuntu 3.0-1ubuntu1)
No entanto, o Encarta 97 ainda não funciona:
fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Unhandled page fault on read access to 0xffffffff at address 0x11df:0x00002c11 (thread 0011), starting debugger...
0011:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 15 108") (2)
Leia o Guia dos Desenvolvedores do Wine sobre como configurar winedbg ou outro depurador. Para aqueles que estão a par: arquivo diz SETUP.EXE: executável MS-DOS, NE para MS Windows 3.x, então precisamos descer até os raros programas de 16 bits.
Encarta 97 instala e roda perfeitamente no Wine 4.13 no Linux... mas no 4.13 no Windows 10 ainda não está:
fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extensão "MIT-SHM" ausente na exibição ":0.0".
Xlib: extensão "MIT-SHM" ausente na exibição ":0.0".
0009:erro:processo:__wine_kernel_init tempo de espera do evento de inicialização esgotado
001d:erro:processo:__wine_kernel_init tempo de espera do evento de inicialização esgotado
wine: Falha de página não tratada ao acessar 0xffffffff no endereço 0x11cf:0x00002c11 (thread 001e), iniciando depurador...001e:erro:seh:start_debugger Não foi possível iniciar o depurador ("winedbg --auto 28 152") (2)
Leia o Guia dos Desenvolvedores do Wine sobre como configurar o winedbg ou outro depurador
001d:erro:ntdll:RtlpWaitForCriticalSection seção 0x7e6273e0 "syslevel.c: Win16Mutex" tempo de espera esgotado na thread 001d, bloqueado por 001e, tentando novamente (60 seg)
Xlib: extensão "MIT-SHM" ausente na exibição ":0.0".
Não foi possível carregar wine-gecko. A renderização HTML será desativada.
001e:erro:seh:raise_exception Código de exceção não tratado c0000005 flags 0 addr 0x7b4a6abc
erro do cliente wine:1e: write: Descritor de arquivo inválido Claro, ele gera mensagens de erro em várias execuções…
Fonte: habr.com
