انتشار پروژه Bottles 2022.1.28 ارائه شده است که برنامه ای را برای ساده سازی نصب، پیکربندی و راه اندازی برنامه های ویندوز بر روی لینوکس بر اساس Wine یا Proton توسعه می دهد. این برنامه یک رابط برای مدیریت پیشوندهایی که محیط Wine و پارامترهای راه اندازی برنامه ها را تعریف می کند و همچنین ابزارهایی برای نصب وابستگی های لازم برای عملکرد صحیح برنامه های راه اندازی شده ارائه می دهد. کد پروژه به زبان پایتون نوشته شده و تحت مجوز GPLv3 توزیع شده است. این برنامه در قالب Flatpak و بسته های Arch Linux ارائه می شود.
به جای اسکریپت Winetricks، Bottles از یک سیستم مدیریت وابستگی کامل برای نصب کتابخانه های اضافی استفاده می کند که عملکرد آن مشابه مدیریت وابستگی در مدیران بسته های توزیع است. برای راه اندازی یک برنامه ویندوز، لیستی از وابستگی ها (DLL ها، فونت ها، زمان اجرا و غیره) تعیین می شود که برای عملکرد عادی باید دانلود و نصب شوند، اگرچه هر وابستگی ممکن است وابستگی های خاص خود را داشته باشد.
Bottles یک مخزن اطلاعات وابستگی برای برنامه ها و کتابخانه های مختلف و همچنین ابزارهایی برای مدیریت متمرکز وابستگی فراهم می کند. همه وابستگیهای نصبشده ردیابی میشوند، بنابراین وقتی برنامهای را حذف میکنید، میتوانید وابستگیهای مرتبط را نیز حذف کنید، اگر برای اجرای برنامههای دیگر استفاده نمیشوند. این رویکرد به شما امکان می دهد از نصب نسخه جداگانه Wine برای هر برنامه خودداری کنید و از یک محیط Wine برای اجرای هرچه بیشتر برنامه ها استفاده کنید.
برای کار با پیشوندهای ویندوز، Bottles از مفهوم محیطهایی استفاده میکند که تنظیمات، کتابخانهها و وابستگیهای آماده را برای یک کلاس خاص از برنامهها فراهم میکنند. محیط های اساسی ارائه می شود: بازی - برای بازی، نرم افزار - برای برنامه های کاربردی و سفارشی - یک محیط خالص برای انجام آزمایش های خود. محیط بازی شامل DXVK، VKD3D، Esync است، گرافیک گسسته در سیستمهایی با گرافیک ترکیبی فعال است و PulseAudio شامل تنظیماتی برای بهبود کیفیت صدا است. محیط برنامه شامل تنظیمات مناسب برای برنامه های چند رسانه ای و برنامه های اداری است.
در صورت لزوم، می توانید چندین نسخه مختلف از wine، proton و dxvk را نصب کنید و بین آنها جابجا شوید. امکان وارد کردن محیطها از سایر مدیران Wine مانند Lutris و PlayOnLinux وجود دارد. محیط هایی که با استفاده از ایزوله sandbox اجرا می شوند، از سیستم اصلی جدا می شوند و فقط به داده های لازم در فهرست اصلی دسترسی دارند. پشتیبانی از کنترل نسخه ارائه شده است که به طور خودکار وضعیت را قبل از نصب هر وابستگی جدید ذخیره می کند و به شما امکان می دهد در صورت بروز مشکل به یکی از حالت های قبلی برگردید.
از جمله تغییرات نسخه جدید:
- یک باطن جدید برای مدیریت Wine اضافه شده است که از سه جزء WineCommand، WineProgram و Executor تشکیل شده است.
- چندین کنترل کننده WineProgram پیشنهاد شده است:
- reg، regedit - برای کار با رجیستری، به شما امکان می دهد چندین کلید را با یک تماس تغییر دهید.
- net - برای مدیریت خدمات.
- wineserver - برای بررسی عملکرد فرآیند کنترل بطری ها.
- start، msiexec و cmd - برای کار با میانبرهای .lnk و فایل های .msi/.batch.
- taskmgr - مدیر وظیفه.
- wineboot, winedbg, control, winecfg.
- یک مدیر اجرا (Executor) پیاده سازی شده است که هنگام اجرای یک فایل اجرایی، بسته به پسوند فایل (.exe، .lnk، .batch، .msi) به طور خودکار کنترل کننده لازم را فراخوانی می کند.
- امکان اجرای دستورات در محیط کامل یا کاهش یافته فراهم شده است.
- اضافه شدن پشتیبانی برای همگام سازی با استفاده از فراخوانی سیستم futex_waitv (Futex2) که در هسته لینوکس 5.16 معرفی شده است. اضافه شده Caffe handler، بر اساس Wine 7 و پشتیبانی از موتور همگام سازی Futex2.
- برای نصب کننده ها، قابلیت تغییر فایل های پیکربندی (json، ini، yaml) پیاده سازی شده است.
- پشتیبانی برای پنهان کردن موارد در لیست برنامه اضافه شده است.
- یک گفتگوی جدید برای نمایش محتویات فایل های مانیفست برای وابستگی ها و نصب کننده ها اضافه شده است.
- یک تابع جستجو به لیست نصب کننده های موجود اضافه شده است.
علاوه بر این، میتوان به انتشار پروژه Proton 7.1-GE-1 اشاره کرد که در چارچوب آن، علاقهمندان در حال ایجاد مجموعههای بسته پیشرفته مستقل از Valve برای اجرای برنامههای Proton Windows هستند که با نسخه جدیدتر Wine متمایز میشود. استفاده از FFmpeg در FAudio و گنجاندن وصله های اضافی که مشکلات را در برنامه های مختلف بازی حل می کند.
نسخه جدید Proton GE با وصلههای Wine-staging 7.1 به Wine 7.1 منتقل شده است (Proton رسمی همچنان از Wine 6.3 استفاده میکند). تمام تغییرات از مخازن git پروژه های vkd3d-proton، dxvk و FAudio منتقل شده است. مشکلات Forza Horizon 5، Resident Evil 5، Persona 4 Golden، Progressbar95 و Elder Scrolls Online حل شده است.
منبع: opennet.ru