شراب روشن Windows 10او کار می‌کند.

شراب - برنامه‌ای برای اجرای برنامه‌ها Windows در کامپیوترهای یونیکس

اجرای Wine Windows حداقل از سال ۲۰۰۴، زمانی که کسی سعی کرد Wine را به Cygwin کامپایل کند، رویای طرفدارانی بوده است که از روحیه‌ی «ما کاری را که باید انجام دهیم انجام می‌دهیم چون مجبور نیستیم» پیروی می‌کنند. رجیستری سیستم میزبان را شکست.

ببخشید: «در مورد برنامه‌های قدیمی که در آخرین نسخه‌ها به درستی کار نمی‌کنند، چه باید کرد؟» Windows«اما ما این را درک می‌کنیم» درست است، واقعی دلیلش این است که "من مدت طولانی برای هنرم زجر کشیدم، حالا نوبت توست."

در پایان سال 2008، یک فکر وسواسی بر من غلبه کرد - و من (فکر می کنم من بودم) صفحه ای ایجاد کردم واین‌آنWindows در ویکی شراب در کوتاه مدت: کاملاً غیرممکن بود، زیرا همه چیز از طریق Cygwin، MinGW یا Windows سرویس‌های یونیکس. صفحه فعلی خیلی موفق تر نیست

Windows 10 یک زیرسیستم معرفی کرد Windows برای Linuxو Ubuntu این برنامه که به راحتی از فروشگاه مایکروسافت دانلود شده است، ایده احمقانه ما عملاً به طور خودکار کار می‌کند، به جز تنظیم دستی متغیر محیطی DISPLAY.

هنوز هم به طرز شگفت‌آوری بی‌فایده است. Wine فقط با برنامه‌های ۶۴ بیتی کار می‌کند. Windowsیعنی حتی با وجود تمام برنامه‌هایی که همراه خود سیستم ارائه می‌شوند، این اتفاق نمی‌افتد. Windows 10.

(پروژه اصلی پس از آن آغاز شد که کسی نتوانست انکارتا ۹۷ را روی آن اجرا کند.) Windows 10بنابراین، مانند هر راه‌حل واقعاً تخصصی، در واقع مشکل اصلی کاربر را حل نمی‌کند.)

اما باز هم تاکید می کنم: در حال حاضر آن را بی اهمیت کار می کند. من یک نابغه دیوانه نیستم که یک پروژه خارق العاده را تحقق بخشد - به نظر می رسد من اولین کسی هستم که این واقعیت را به طور عمومی اعلام کردم.

چگونه این کار احمقانه را انجام دهیم

1. شما ۶۴ بیتی دارید Windows 10، درست است؟ این تنها نسخه‌ای است که WSL دارد.

2. نصب WSL. کنترل پنل -> برنامه‌ها -> برنامه‌ها و ویژگی‌ها -> روشن یا خاموش کردن ویژگی‌ها Windowsکادر «زیرسیستم» را علامت بزنید Windows برای Linux« شروع مجدد Windows.

3. به فروشگاه مایکروسافت بروید، نصب کنید Ubuntu (WSL اساساً برای اجرای آن طراحی شده است). من نصب کردم Ubuntu ۱۸.۰۴ 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 را از طریق دکمه Start و XLaunch اجرا کنید. این شما را در تنظیمات پیش‌فرض راهنمایی می‌کند - اکثر آنها را به همان صورت باقی بگذارید. من برای احتیاط، کادر "غیرفعال کردن کنترل دسترسی" را علامت زدم. پیکربندی را ذخیره کنید.

6a اگر می خواهید بررسی کنید که سرور X به درستی پیکربندی شده است، نصب کنید sudo apt install x11-apps و اجرا xeyes برای یک سفر سریع به دهه 80 و 90.

7. خود wine کار نمی کند زیرا باینری های 32 بیتی در WSL اجرا نمی شوندروی سیستم‌عامل ۶۴ بیتی ما Windows 10 خطایی نمایش داده می‌شود /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. ظاهرا این است در WSL 2 ثابت شده است.

در ضمن، بیایید Notepad را در Wine راه اندازی کنیم!

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

شراب روشن Windows 10او کار می‌کند.

انجام دادن: پشتیبانی 32 بیتی باید صبر کرد خروجی WSL 2من تعجب می‌کنم که آیا برنامه‌های قدیمی Win16 کار خواهند کرد یا خیر—آنها باید در Wine اجرا شوند، حتی اگر دیگر در خود Wine کار نکنند. Windows.

برنامه های 32 بیتی از طریق qemu

سپاس ها مفسر ناشناس، که نحوه راه اندازی برنامه های 32 بیتی را پیشنهاد کرد.

sudo apt install qemu-user-static sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic 'x7fELFx01x01x01x03x00x00x00x00x00x00x00x00x03x00x03x00x01x00x00x00x8xXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMXxXNUMX xffxffxffxffxffxffxfcxffxffxffxffxffxffxffxffxfXNUMXxffxffxffxffxffxffxff 'سرویس sudo binfmt-پشتیبانی شروع

و اکنون می توانیم انجام دهیم:

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

با این حال، Encarta 97 هنوز کار نمی کند:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE wine: خطای صفحه کنترل نشده در دسترسی خواندن به 0xffffffff در آدرس 0x11df:0x00002c11 (رشته 0011)، شروع اشکال‌زدا... 0011:err_art:seh راه اندازی دیباگر ("winedbg --auto 15 108") (2) راهنمای برنامه نویسان Wine را در مورد نحوه راه اندازی winedbg یا دیباگر دیگری بخوانید.

برای کسانی که می دانند: file می گوید SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x، بنابراین باید به سراغ برنامه های کمیاب 16 بیتی برویم.

انکارتا ۹۷ به طور بی‌نقص در Wine 4.13 نصب و اجرا می‌شود. Linux... اما در ساعت ۴.۱۳ Windows 10 هنوز نه:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE Xlib: پسوند "MIT-SHM" در نمایشگر ":0.0" وجود ندارد. Xlib: پسوند "MIT-SHM" در نمایشگر ":0.0" وجود ندارد. 0009:err:process:__wine_kernel_init رویداد بوت زمان انتظار به پایان رسید 001d:err:process:__wine_kernel_init رویداد بوت زمان انتظار تمام شد wine: خطای صفحه کنترل نشده در دسترسی خواندن به 0xffffffff در آدرس 0x11cf:0x00002، شروع به کار 11x001cf:001x28 :err:seh:start_debugger نمی‌توانست اشکال‌زدا را راه‌اندازی کند ("winedbg --auto 152 2") (001) راهنمای برنامه‌نویسان Wine را در مورد نحوه راه‌اندازی winedbg یا دیباگر دیگری بخوانید 0d:err:ntdll:RtlpWaitForCriticalSvelles7 c: زمان انتظار Win6273Mutex" در رشته 0d به پایان رسید، توسط 16e مسدود شد، تلاش مجدد (001 ثانیه) Xlib: پسوند "MIT-SHM" در نمایشگر ":001" وجود ندارد. بارگیری شراب مارمولک انجام نشد. رندر HTML غیرفعال خواهد شد. 60e:err:seh:raise_exception کد استثنای کنترل نشده c0.0 flags 001 addr 0000005x0b0a7abc خطای مشتری شراب:4e: نوشتن: توصیف کننده فایل بد

البته او می دهد متفاوت است پیام های خطا در اجراهای متعدد...

منبع: www.habr.com

خرید هاست قابل اعتماد برای سایت های دارای حفاظت DDoS، سرورهای VPS VDS 🔥 خرید هاستینگ معتبر با محافظت در برابر حملات DDoS، سرورهای VPS و VDS | ProHoster