Wine Π½Π° Windows 10. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

WineΒ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΏΠΎΠ΄ Unix.

Запуск Wine Π½Π° Windows Π±Ρ‹Π» ΠΌΠ΅Ρ‡Ρ‚ΠΎΠΉ Ρ„Π°Π½Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·ΠΎΠ²Ρƒ сСрдца Β«ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ обязаны это Π΄Π΅Π»Π°Ρ‚ΡŒΒ», ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, с 2004 Π³ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ попытался ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Wine Π² Cygwin ΠΈ сломал рССстр хост-систСмы.

ΠžΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅: «А ΠΊΠ°ΠΊ ΠΆΠ΅ старыС прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² послСдних Windows?Β». Но ΠΌΡ‹-Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ истинная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Β β€” Β«Π― Π΄ΠΎΠ»Π³ΠΎ страдал Π·Π° своё искусство, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ваша ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΒ».

Π’ ΠΊΠΎΠ½Ρ†Π΅ 2008 Π³ΠΎΠ΄Π° мСня ΠΎΠ΄ΠΎΠ»Π΅Π»Π° навязчивая ΠΌΡ‹ΡΠ»ΡŒΒ β€” ΠΈ я (каТСтся, это Π±Ρ‹Π» я) создал страничку WineOnWindows Π½Π° Π²ΠΈΠΊΠΈ Wine. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅: это Π±Ρ‹Π»ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Ρ‡Π΅Ρ€Π΅Π· Cygwin, MinGW ΠΈΠ»ΠΈ Windows Services для Unix. ВСкущая страница Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½Π΅Π΅.

Windows 10 прСдставила подсистСму Windows для Linux, Π° Ubuntu ΡƒΠ΄ΠΎΠ±Π½ΠΎ загруТаСтся ΠΈΠ· Microsoft Store. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ наша глупая идСя рСализуСтся практичСски сама собой, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды DISPLAY.

Π”ΠΎ сих ΠΏΠΎΡ€ это ΡƒΠΌΠΎΠΏΠΎΠΌΡ€Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ бСсполСзно. Wine Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с 64-разрядными прилоТСниями Windows, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½Π΅ со всСми прилоТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ Π² составС самой Windows 10.

(ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стартовал послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ смог Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Encarta 97 Π½Π° Windows 10. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ любоС настоящСС гиковскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

Но я Ρ…ΠΎΡ‡Ρƒ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ: сСйчас это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎ. Π― Π½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠΈΠΉ Π³Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» фантастичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β β€” просто я, каТСтся, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ объявил ΠΎ Π΄Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΊΡ‚Π΅.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эту Π³Π»ΡƒΠΏΡƒΡŽ Π²Π΅Ρ‰ΡŒ

1. Π£ вас ΠΆΠ΅ 64-битная Windows 10, Π²Π΅Ρ€Π½ΠΎ? Π­Ρ‚ΠΎ СдинствСнная вСрсия с WSL.

2. УстановитС WSL. ПанСль управлСния -> ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ -> ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ -> Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Windows. ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° Windows для LinuxΒ». ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Windows.

3. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Microsoft Store, установитС Ubuntu (Π² основном, для Π΅Ρ‘ запуска ΠΈ создан WSL). Π― установил Ubuntu 18.04 LTS. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ubuntu, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» bash.

4. УстановитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки bash:

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

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Wine, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ°ΡΡ‚ΡŒΡΡ Π΄ΡƒΡ€ΡŒΡŽ (Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ Π΄Π²ΡƒΡ… Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для wine-devel >=4.5 ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ вошли Π² Ubuntu!). Π”Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Ссли это сработаСт.

5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ своСму .bashrc Ρ‚Π°ΠΊΡƒΡŽ строчку:

export DISPLAY=:0.0

ВСроятно, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это ΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ bash.

6. УстановитС VcXsrv, красиво ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ xorg, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для Windows, β€” просто Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ запуститС Π΅Π³ΠΎ. ЗапуститС X Server Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΡƒΡΠΊΒ» ΠΈ XLaunch. Он ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρ‹ β€” ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Π― Π½Π° всякий случай поставил Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа». Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

6Π°. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ X-сСрвСр настроСн ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, установитС sudo apt install x11-apps ΠΈ запуститС xeyes для ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² 80-90-Π΅.

7. Π‘Π°ΠΌ wine Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² WSL. На нашСй 64-Π±ΠΈΡ‚Π½ΠΎΠΉ Windows 10 выдаётся ошибка /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Π’ΠΈΠ΄ΠΈΠΌΠΎ, это исправили Π² WSLΒ 2.

А ΠΏΠΎΠΊΠ° запустим Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Π² Wine!

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

Wine Π½Π° Windows 10. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

TO DO: 32-битная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. ΠŸΡ€ΠΈΠ΄Ρ‘Ρ‚ΡΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° WSL 2. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Ρ€Π΅Π²Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Win16 β€” ΠΏΠΎ ΠΈΠ΄Π΅Π΅, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² Wine, Π΄Π°ΠΆΠ΅ Ссли большС Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² самой Windows.

32-Π±ΠΈΡ‚Π½Ρ‹Π΅ прилоТСния Ρ‡Π΅Ρ€Π΅Π· qemu

Бпасибо Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ», ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒΡΡ ΠΊ запуску 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

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

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

fun@DESKTOP-7F6DU8P:~$ wine --version
wine-3.0 (Ubuntu 3.0-1ubuntu1)

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Encarta 97 всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

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)
Read the Wine Developers Guide on how to set up winedbg or another debugger

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π² Ρ‚Π΅ΠΌΠ΅: file Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Ρ€Π΅Π΄ΠΊΠΈΡ… 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Encarta 97 устанавливаСтся ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΠΎ Π² Wine 4.13 Π½Π° Linux… Π½ΠΎ Π² 4.13 Π½Π° Windows 10 всС Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extension "MIT-SHM" missing on display ":0.0".
Xlib: extension "MIT-SHM" missing on display ":0.0".
0009:err:process:__wine_kernel_init boot event wait timed out
001d:err:process:__wine_kernel_init boot event wait timed out
wine: Unhandled page fault on read access to 0xffffffff at address 0x11cf:0x00002c11 (thread 001e), starting debugger...001e:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 28 152") (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger
001d:err:ntdll:RtlpWaitForCriticalSection section 0x7e6273e0 "syslevel.c: Win16Mutex" wait timed out in thread 001d, blocked by 001e, retrying (60 sec)
Xlib: extension "MIT-SHM" missing on display ":0.0".
Could not load wine-gecko. HTML rendering will be disabled.
001e:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4a6abc
wine client error:1e: write: Bad file descriptor

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… запусках…

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com