Wine no Windows 10. Funciona

O Wine é um programa para executar aplicativos do Windows em computadores executando o Unix.

O lançamento do Wine no Windows foi um sonho tornado realidade para os fãs que seguem o chamado do coração "Fazemos o que devemos, porque não somos obrigados a fazê-lo", pelo menos desde 2004, quando alguém tentou compilar o Wine no Cygwin e quebrou o registro do host sistema

Justificação: "Mas e as aplicações antigas que não funcionam corretamente no Windows recente?" Mas entendemos que a verdadeira razão é "sofri por muito tempo pela minha arte, agora é a sua vez".

No final de 2008, fui superada por uma obsessão - e eu (ao que parece, fui eu) criei a página WineOnWindows no wiki do Wine. Resumindo: isso não era possível, pois tudo funcionava através do Cygwin, MinGW ou Windows Services for Unix. A página atual não tem muito mais sucesso.

O Windows 10 introduziu o subsistema Windows para Linux e o Ubuntu é convenientemente baixado da Microsoft Store. Como resultado, nossa idéia estúpida é realizada quase por si só, a menos que você precise definir manualmente a variável de ambiente DISPLAY.

Até agora, é incrivelmente inútil. O Wine só funciona com aplicativos Windows de 64 bits, ou seja, nem mesmo com todos os aplicativos fornecidos com o próprio Windows 10.

(O projeto inicial foi iniciado depois que alguém não conseguiu executar o Encarta 97 no Windows 10. Portanto, como qualquer solução nerd de verdade, ele realmente não resolve o problema original do usuário).

Mas quero enfatizar mais uma vez: agora funciona trivialmente . Não sou um gênio louco que realizou um projeto fantástico - apenas pareço ser o primeiro a anunciar publicamente esse fato.

Como fazer essa coisa estúpida


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 ou desativar os Recursos do Windows. Marque a caixa "Windows Subsystem for Linux". Reinicie o Windows.

3. Vá para a Microsoft Store, instale o Ubuntu (basicamente, o WSL foi criado para iniciá-lo). Eu instalei o Ubuntu 18.04 LTS. Abra o Ubuntu e você verá o terminal bash.

4. Instale o seguinte na linha de comando bash:

sudo dpkg --add-architecture i386 sudo apt update; sudo apt upgrade sudo apt install wine-stable 

Você pode instalar uma versão mais atual do Wine se quiser brincar (não se esqueça das duas novas bibliotecas necessárias para o wine-devel> = 4.5 e que ainda não estão incluídas no Ubuntu!). Deixe-me saber se isso funciona.

5. Adicione a seguinte linha ao seu .bashrc :

 export DISPLAY=:0.0 

Você provavelmente também deseja executar isso na janela atual do bash.

6. Instale o VcXsrv , uma versão lindamente compilada do xorg compilada para Windows - basta pegar o último executável e executá-lo. Inicie o X Server através do botão Iniciar e do XLaunch. Ele o guiará pelos padrões - deixe a maioria deles como estão. Apenas no caso, verifiquei o "Desativar controle de acesso". Salve a configuração.

6a Se você deseja verificar se o servidor X está configurado corretamente, instale o sudo apt install x11-apps e execute xeyes para uma breve viagem de volta aos anos 80-90.

7. O wine si não funciona, porque os binários de 32 bits não iniciam na WSL . No Windows 10 de 64 bits, o erro /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error . Aparentemente, isso foi corrigido no WSL 2 .

Enquanto isso, execute o Notepad no Wine!

  wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe 



A FAZER: suporte de 32 bits. Teremos que aguardar o lançamento do WSL 2 . Gostaria de saber se os antigos programas Win16 funcionarão - em teoria, eles devem rodar no Wine, mesmo que não funcionem mais no próprio Windows.

Aplicativos de 32 bits através do qemu


Obrigado a um comentarista anônimo que sugeriu como abordar o lançamento de aplicativos de 32 bits.

  sudo apt install qemu-user-static
 sudo update-binfmts - instala i386 / usr / bin / qemu-i386-static --magic '\ x7fELF \ x01 \ x01 \ x01 \ x03 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x03 \ x00 \ x03 \ x00 \ x01 \ x00 \ x00 \ x00 '--mask' \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xfc \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xf8 \ xff \ xff \ xff \ xff \ xff \ xff \ xff '
 serviço sudo 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
 vinho: falha de página não tratada no acesso de leitura a 0xffffffff no endereço 0x11df: 0x00002c11 (thread 0011), iniciando o depurador ...
 0011: err: seh: start_debugger Não foi possível iniciar o depurador ("winedbg --auto 15 108") (2)
 Leia o Wine Developers Guide sobre como configurar o winedbg ou outro depurador 

Para aqueles que estão no tópico: file diz SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x , portanto, precisamos ir até os raros programas de 16 bits.

O Encarta 97 é instalado e funciona perfeitamente no Wine 4.13 no Linux ... mas ainda não no 4.13 no Windows 10:

  fun @ DESKTOP-7F6DU8P: ~ $ wine /mnt/e/SETUP.EXE
 Xlib: extensão "MIT-SHM" ausente no visor ": 0.0".
 Xlib: extensão "MIT-SHM" ausente no visor ": 0.0".
 0009: err: process: __ espera de evento de inicialização wine_kernel_init expirou
 001d: err: process: __ tempo de espera do evento de inicialização wine_kernel_init expirou
 vinho: falha de página não tratada no acesso de leitura a 0xffffffff no endereço 0x11cf: 0x00002c11 (thread 001e), iniciando o depurador ... 001e: err: seh: start_debugger Não foi possível iniciar o depurador ("winedbg --auto 28 152") (2)
 Leia o Wine Developers Guide sobre como configurar o winedbg ou outro depurador
 001d: err: ntdll: seção RtlpWaitForCriticalSection 0x7e6273e0 "syslevel.c: Win16Mutex" espera expirada no encadeamento 001d, bloqueado por 001e, repetindo (60 s)
 Xlib: extensão "MIT-SHM" ausente no visor ": 0.0".
 Não foi possível carregar a lagartixa.  A renderização HTML será desativada.
 001e: err: seh: raise_exception Código de exceção não tratada c0000005 sinalizadores 0 endereço 0x7b4a6abc
 erro do cliente wine: 1e: write: descritor de arquivo incorreto 

Obviamente, ele produz diferentes mensagens de erro em várias partidas ...

Source: https://habr.com/ru/post/pt463375/


All Articles