Ā ā programma, lai palaistu Windows lietojumprogrammas Unix datoros.
Wine darbÄ«ba Windows vidÄ ir bijusi fanu sapnis, kas seko sirdsapziÅas saucienam āMÄs darÄm to, ko mums vajag, jo mums nav tÄ jÄdara,ā vismaz no 2004. gada, kad kÄds mÄÄ£inÄja kompilÄt Wine Cygwin vidÄ un .
Attaisnojums: āBet ko darÄ«t ar vecajÄm lietojumprogrammÄm, kas nefunkcionÄ pareizi jaunajÄs Windows versijÄs?ā Bet mÄs saprotam, ka patiesÄ cÄlonis ir āEs ilgi mocÄ«jos dÄļ sava mÄkslas, tagad jÅ«su kÄrtaā.
2008. gada beigÄs mani pÄrÅÄma apsÄstÄ«ba ā un es (Ŕķiet, tas biju es) izveidoju lapu Wine viki. ÄŖsumÄ: Tas bija pilnÄ«gi neiespÄjami, jo viss darbojÄs caur Cygwin, MinGW vai Windows Services for Unix. nav daudz veiksmÄ«gÄka.
Windows 10 ieviesa Windows subsistÄmu Linux; Ubuntu Ärti lejupielÄdÄ no Microsoft Store. TÄdÄjÄdi mÅ«su muļķīgÄ ideja faktiski Ä«stenojas pati par sevi, tikai ir jÄinstalÄ vide mainÄ«gais DISPLAY.
LÄ«dz Å”im tas ir prÄta aptumsums bezjÄdzÄ«gi. Wine strÄdÄ tikai ar 64 bitu Windows lietojumprogrammÄm, tÄtad pat ne ar visÄm lietojumprogrammÄm, kas nÄk ar paÅ”u Windows 10.
(SÄkotnÄjais projekts sÄkÄs pÄc tam, kad kÄds nespÄja palaist Encarta 97 Windows 10. TÄdÄjÄdi, tÄpat kÄ jebkuram patiesam geeka risinÄjumam, tas faktiski nerisina sÄkotnÄjo lietotÄja problÄmu).
Bet es vÄlos vÄlreiz uzsvÄrt: tagad tas darbojas trivÄli. Es neesmu kÄds traks Ä£Änijs, kurÅ” realizÄja fantastisku projektu ā es vienkÄrÅ”i esmu pirmais, kurÅ” publiski paziÅoja par Å”o faktu.
KÄ izdarÄ«t Å”o muļķīgo lietu
1. Jums ir 64 bitu Windows 10, vai ne? Tas ir vienīgais variants ar WSL.
2. InstalÄjiet WSL. Kontroles panelis -> Lietojumprogrammas -> Programmas un funkcijas -> Windows funkciju ieslÄgÅ”ana vai izslÄgÅ”ana. AtzÄ«mÄjiet āWindows subsistÄma Linuxā. RestartÄjiet Windows.
3. Ieejiet Microsoft Store, instalÄjiet Ubuntu (galvenokÄrt, lai to palaistu un izveidotu WSL). Es instalÄju Ubuntu 18.04 LTS. Atveriet Ubuntu, un jÅ«s redzÄsiet bash terminÄli.
4. InstalÄjiet sekojoÅ”o, izmantojot bash komandrindu:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stableJa vÄlaties, varat instalÄt jaunÄku Wine versiju (neaizmirstiet par divÄm jaunÄm bibliotÄkÄm, kas nepiecieÅ”amas wine-devel >=4.5 un kuras vÄl nav iekļautas Ubuntu!). Dariet man zinÄmu, ja tas darbosies.
5. Pievienojiet savai .bashrc Å”Ädu rindu:
export DISPLAY=:0.0IespÄjams, vÄlÄsities to palaist arÄ« paÅ”reizÄjÄ bash logÄ.
6. , skaisti iekļauta xorg versija, kas kompilÄta Windows, ā vienkÄrÅ”i paÅemiet jaunÄko izpildÄmÄ faila versiju un palaidiet to. Palaidiet X Server caur pogu āSÄktā un XLaunch. Tas vadÄ«s jÅ«s cauri noklusÄjumiem ā atstÄjiet lielÄko daļu no tiem tÄpat. Es, gadÄ«jumam ja, atzÄ«mÄju āAtspÄjot piekļuves kontroliā. SaglabÄjiet konfigurÄciju.
6a. Ja vÄlaties pÄrbaudÄ«t, vai X serveris ir pareizi konfigurÄts, instalÄjiet sudo apt install x11-apps un palaidiet xeyes Ä«sam ceļojumam atpakaļ uz 80-90. gadiem.
7. PaÅ”reiz wine nefunkcionÄ, jo . MÅ«su 64 bitu Windows 10 izsaka kļūdu /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. IzskatÄs, ka to .
Bet pagaidÄm palaidÄ«sim Notepad Wine!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

TO DO: 32 bitu atbalsts. JÄgaida . Interesanti, vai strÄdÄs seni Win16 programmas ā teorÄtiski, tÄm vajadzÄtu palaisties Wine, pat ja tÄs vairs nedarbojas pats Windows.
32 bitu lietojumprogrammas caur qemu
Paldies , kurÅ” ieteica, kÄ pievÄrsties 32 bitu lietojumprogrammu palaiÅ”anai.
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
Un tagad mÄs varam darÄ«t:
fun@DESKTOP-7F6DU8P:~$ wine --version wine-3.0 (Ubuntu 3.0-1ubuntu1)
TomÄr, Encarta 97 joprojÄm nedarbojas:
fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: NeparedzÄta lapu kļūda nolasot piekļuvi 0xffffffff adresÄ 0x11df:0x00002c11 (pavedienÄ 0011), sÄkot debuggers...
0011:err:seh:start_debugger NevarÄja sÄkt debugger ("winedbg --auto 15 108") (2)
Izlasiet Wine attÄ«stÄ«tÄju ceļvedi par to, kÄ iestatÄ«t winedbg vai citu debugger. Pats par sevi, file stÄsta SETUP.EXE: MS-DOS izpildÄmais fails, NE priekÅ” MS Windows 3.x, tÄpÄc mums jÄiecieÅ” retÄs 16 bitu programmas.
Encarta 97 tiek instalÄta un darbojÄs nevainojami Wine 4.13 Linux⦠bet 4.13 Windows 10 joprojÄm nav:
fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extensions "MIT-SHM" trÅ«kst displejÄ ":0.0".
Xlib: extensions "MIT-SHM" trÅ«kst displejÄ ":0.0".
0009:err:process:__wine_kernel_init boot notikuma gaidīŔana beidzÄs ar laiku
001d:err:process:__wine_kernel_init boot notikuma gaidīŔana beidzÄs ar laiku
wine: NeapstrÄdÄta lapu kļūda pie lasīŔanas piekļuves 0xffffffff adresÄ 0x11cf:0x00002c11 (threads 001e), sÄk debugeri...001e:err:seh:start_debugger NeizdevÄs palaist debugeri ("winedbg --auto 28 152") (2)
Izlasiet Wine izstrÄdÄtÄju rokasgrÄmatu par to, kÄ iestatÄ«t winedbg vai citu debuggÄÅ”anas rÄ«ku
001d:err:ntdll:RtlpWaitForCriticalSection sekcija 0x7e6273e0 "syslevel.c: Win16Mutex" gaidīŔana beidzÄs ar laiku thread 001d, bloÄ·Äts 001e, atkÄrtoju (60 sekundes)
Xlib: extensions "MIT-SHM" trÅ«kst displejÄ ":0.0".
NeizdevÄs ielÄdÄt wine-gecko. HTML attÄloÅ”ana tiks izslÄgta.
001e:err:seh:raise_exception NeapstrÄdÄts izÅÄmuma kods c0000005 karogi 0 addr 0x7b4a6abc
wine klienta kļūda:1e: rakstÄ«t: Nepareizs faila apraksts Protams, tas iznÄk dažÄdas kļūdas ziÅas vairÄkos palaiÅ”anas gadÄ«jumosā¦
Avots: habr.com
