Windows 10 da vino. U ishlaydi

Vino - Unix kompyuterlarida Windows ilovalarini ishga tushirish uchun dastur.

Wine-ni Windows-da ishga tushirish kamida 2004-yildan buyon "Biz qilishimiz kerak bo'lgan ishni qilamiz, chunki biz qilishimiz shart emas" degan fikrga ergashadigan muxlislar uchun orzu bo'lib kelgan. xost tizimining registrini buzdi.

Uzr: "Oxirgi Windows-da to'g'ri ishlamaydigan eski ilovalar haqida nima deyish mumkin?" Lekin biz buni tushunamiz rost Sababi "Men san'atim uchun uzoq vaqt azob chekdim, endi navbat sizda".

2008 yil oxirida meni obsesif fikr bosib oldi - va men (menimcha, bu men) sahifa yaratdim. WineOnWindows Wine wiki-da. Qisqasi: Bu umuman mumkin emas edi, chunki hamma narsa Unix uchun Cygwin, MinGW yoki Windows xizmatlari orqali ishlagan. Joriy sahifa unchalik muvaffaqiyatli emas.

Windows 10 Linux uchun Windows quyi tizimini taqdim etdi va Ubuntu-ni Microsoft do'konidan yuklab olish qulay. Natijada, DISPLAY muhit o'zgaruvchisini qo'lda o'rnatmasak, bizning ahmoq g'oyamiz amalda amalga oshadi.

Bu hali ham aqlga sig'maydigan darajada foydasiz. Wine faqat 64 bitli Windows ilovalari bilan ishlaydi, ya'ni hatto Windows 10 ning o'zi bilan birga kelgan barcha ilovalar bilan ham ishlamaydi.

(Asl loyiha, kimdir Windows 97 da Encarta 10 ni ishga tushira olmaganidan keyin boshlandi. Demak, har qanday haqiqiy geeky yechim kabi, u aslida foydalanuvchining asl muammosini hal qilmaydi).

Ammo yana bir bor ta'kidlamoqchiman: endi u ahamiyatsiz ishlaydi. Men fantastik loyihani amalga oshirgan aqldan ozgan daho emasman - men bu haqiqatni birinchi bo'lib ommaga e'lon qilganga o'xshayman.

Bu ahmoqona ishni qanday qilish kerak

1. Sizda 64 bitli Windows 10 bor, to'g'rimi? Bu WSL bilan yagona versiya.

2. WSL-ni o'rnating. Boshqaruv paneli -> Ilovalar -> Dasturlar va xususiyatlar -> Windows funksiyalarini yoqing yoki o'chiring. "Linux uchun Windows quyi tizimi" katagiga belgi qo'ying. Windows-ni qayta ishga tushiring.

3. Microsoft do'koniga o'ting, Ubuntu-ni o'rnating (WSL asosan uni ishga tushirish uchun yaratilgan). Men Ubuntu 18.04 LTS ni o'rnatdim. Ubuntu-ni oching va siz bash terminalini ko'rasiz.

4. Bash buyruq satridan quyidagilarni o'rnating:

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

Agar xohlasangiz, Wine-ning yangiroq versiyasini o'rnatishingiz mumkin ahmoqlikdan azob chekmoq (wine-devel >=4.5 uchun zarur bo'lgan va Ubuntu-ga hali kiritilmagan ikkita yangi kutubxona haqida unutmang!). Bu ish qilsa, menga xabar bering.

5. O'zingiznikiga qo'shing .bashrc bu qator:

export DISPLAY=:0.0

Siz buni joriy bash oynasida ham ishga tushirishni xohlaysiz.

6. VcXsrv-ni o'rnating, Windows uchun tuzilgan xorg-ning yaxshi paketlangan versiyasi - bajariladigan faylning eng so'nggi versiyasini oling va uni ishga tushiring. X Serverni ishga tushirish tugmasi va XLaunch orqali ishga tushiring. U sizga sukut bo'yicha yo'l-yo'riq ko'rsatadi - ularning aksariyatini o'z holicha qoldiring. Har holda, men "Kirish boshqaruvini o'chirish" katagiga belgi qo'ydim. Konfiguratsiyani saqlang.

6a. Agar siz X serveri to'g'ri sozlanganligini tekshirmoqchi bo'lsangiz, o'rnating sudo apt install x11-apps va yugur xeyes 80 va 90-yillarga tez sayohat qilish uchun.

7. O'zini wine ishlamaydi, chunki 32-bitli ikkilik fayllar WSL-da ishlamaydi. Bizning 64-bitli Windows 10-da xatolik yuz berdi /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Ko'rinib turibdiki, bu WSL 2 da o'rnatildi.

Shu bilan birga, Wine-da bloknotni ishga tushiramiz!

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

Windows 10 da vino. U ishlaydi

QILMOQ: 32-bitli qo'llab-quvvatlash. Kutish kerak bo'ladi WSL 2 chiqishi. Qadimgi Win16 dasturlari ishlaydimi, deb o'ylayman - nazariy jihatdan ular Windows-ning o'zida ishlamasa ham, Wine-da ishlashi kerak.

Qemu orqali 32-bitli ilovalar

Rahmat anonim sharhlovchi, 32-bitli ilovalarni ishga tushirishga qanday yondashishni taklif qilgan.

sudo apt install qemu-user-static sudo update-binfmts --o'rnatish i386 /usr/bin/qemu-i386-static --magic 'x7fELFx01x01x01x03x00x00x00x00x00x00x00x00x03x00' -- -mask 'x ffxffxffxffxffxffxffxfcxffxffxffxffxffxffxffxffxf03xffxffxffxffxffxffxff' sudo xizmati binfmt-quvvatlashni ishga tushirish

Va endi biz qila olamiz:

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

Biroq, Encarta 97 hali ham ishlamaydi:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE sharobi: 0x0df:11x0c00002 (11-mavzu) manzilidagi 0011xffffffff-ga o'qishga kirishda ishlov berilmagan sahifa xatosi, tuzatuvchini ishga tushirish... 0011:err:seh'dulnst nosozliklarni tuzatuvchini ishga tushiring ("winedbg --auto 15 108") (2) Winedbg yoki boshqa tuzatuvchini qanday o'rnatish haqida Sharob ishlab chiquvchilar qo'llanmasini o'qing

Bilganlar uchun: file U gapiradi SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x, shuning uchun biz kamdan-kam uchraydigan 16 bitli dasturlarga o'tishimiz kerak.

Encarta 97 Linux-da Wine 4.13-da mukammal o'rnatiladi va ishlaydi... lekin Windows 4.13-da hali ham 10-da ishlamaydi:

fun@DESKTOP-7F6DU8P:~$ sharob /mnt/e/SETUP.EXE Xlib: "MIT-SHM" kengaytmasi ":0.0" displeyda yo'q. Xlib: "MIT-SHM" kengaytmasi ": 0.0" displeyda yo'q. 0009:err:process:__wine_kernel_init yuklash hodisasi kutish vaqti tugadi 001d:err:process:__wine_kernel_init yuklash hodisasi kutish vaqti tugadi vino: 0x0cf:11x0c manzilidagi 00002xffffffff o'qishga kirishda ishlov berilmagan sahifa xatosi: 11x001 (deb001) start... :err:seh:start_debugger Nosozliklarni tuzatuvchini ishga tushirib bo‘lmadi ("winedbg --auto 28 152") (2) Winedbg yoki boshqa nosozliklarni tuzatuvchini 001d:err:ntdll:RtlpWaitForCriticalSeection.section0velie7s "sozlash bo‘yicha Wine Developers qo‘llanmasini o‘qing. c: Win6273Mutex" kutish vaqti 0d ipida tugadi, 16e tomonidan bloklangan, qayta urinish (001 sek) Xlib: "MIT-SHM" kengaytmasi ":001" displeyda yo'q. Wine-gecko yuklanmadi. HTML ko'rsatish o'chirib qo'yiladi. 60e:err:seh:raise_exception Ishlanmagan istisno kodi c0.0 bayroqlari 001 addr 0000005x0b0a7abc vino mijozi xatosi: 4e: yozish: fayl identifikatori yomon

Albatta beradi turli bir nechta ishga tushirishda xato xabarlari...

Manba: www.habr.com

a Izoh qo'shish