Chocolatey-for-wine
نصبکننده خودکار Chocolatey packagemanager در wine، ابزاری مناسب برای نصب سریع برنامهها در wine (و در ادامه پیدا کردن باگها در wine ;) ) برای برخی باگها راهحلهایی اضافه شده مانند Visual Studio Community 2022 و nodejs، که توضیحات بیشتر در ادامه آمده است.
در دوران قرنطینه که بیحوصله بودم، یک winetricks(.ps1) سفارشی با افعالی که کاربردی میدانستم نوشتم. کافی است 'winetricks' را اجرا کنید تا آنها را ببینید. برای برخی افعال نیاز به راهاندازی مجدد کامل wine است (به دلیل تغییرات اخیر در wine). یک پیام ظاهر میشود و جلسه پایان مییابد. کافی است دوباره powershell را اجرا کنید و فعل مورد نظر را امتحان کنید. اگر این کار یک بار انجام شود، دیگر برای هیچ فعلی نیاز نخواهد بود.
مثال:
'winetricks vs22_interactiveinstaller' ( --> جلسه پایان خواهد یافت)
انجام دهید 'wine powershell'
انجام دهید 'winetricks vs22_interactiveinstaller'
(ضمناً از طریق 'winetricks vs22_interactive_installer' میتوانید انتخاب کنید چه چیزی را نصب کنید توسط نصبکننده Visual Studio 2022؛ 'winetricks vs22_interactive_installer' اکنون در ده دقیقه مرا وارد برنامه اصلی کرد (توسعه دسکتاپ با C++ را انتخاب کردم)).
نصب :
- فایل zip نسخه را دانلود و از حالت فشرده خارج کنید و 'wine ChoCinstaller_0.5c.751.exe' را اجرا کنید (حدود یک دقیقه طول میکشد)
- نصبکننده را مانند 'wine ChoCinstaller_0.5a.751.exe /s' اجرا کنید، سپس فایلهای نصب (مانند Powershell*.msi و dotnet48) در
- نصبکننده را مانند 'wine ChoCinstaller_0.5a.751.exe /q' اجرا کنید تا از اجرای خودکار پنجره powershell جلوگیری شود (فقط نصب انجام شود).
- بررسی کنید که آیا همه چیز خوب پیش رفته است: "choco install chromium" و "start chrome.exe (--no-sandbox دیگر نیاز نیست از نسخه wine-8,4)"
درباره PowerShell:نکته: Chocolatey معمولاً آخرین نسخه یک برنامه را نصب میکند که ممکن است اشکالات جدید wine را آشکار کند. ممکن است با نسخه قدیمیتر نرمافزار شانس بیشتری داشته باشید. مثال:
choco search --exact microsoft-edge --all (--> نمایش همه نسخهها)
choco install microsoft-edge --version --version='135.0.3179.98'
اطلاعات عمومی:
- 'wine powershell.exe' کنسول PowerShell-Core را اجرا میکند.
کنسول ConEmu با چند باگ مربوط به wine مواجه است:
- فشردن Ctrl^C برای خروج از برنامههایی که به کنسول باز نمیگردند کار نمیکند. به جای آن از Shift^Ctrl^C استفاده کنید.
- انتخاب متن در پنجره ConEmu (برای کپی/پیست) انتخاب را هایلایت نمیکند. یک هک غمانگیز برای نسخههای جدید wine اضافه شده که این مشکل را دور میزند، بنابراین هایلایت باید اکنون کار کند.
- اگر آن را اجرا نکنید ('winetricks' در powershell-console)، هیچ چیزی دانلود نمیشود و سرباری ندارد.
- بسیاری از افعال (مانند powershell 5.1) به چند فایل ضروری برای استخراج داده از بستههای msu نیاز دارند. نصب این فایلهای ضروری ابتدا دانلودهای حجیمی نیاز دارد و در اولین اجرا زمان زیادی میبرد. اما پس از کش شدن، اجرا سریع میشود. برای مثال اگر بخواهید ابتدا 'winetricks ps51' را امتحان کنید، حدود ۱۵ دقیقه زمان میبرد. برخی افعال دیگر ممکن است در اولین اجرا ۵ دقیقه طول بکشند. اما پس از یک بار اجرا، این مزاحمت برطرف میشود.
- فایلها در پوشه MyDocuments کش میشوند. اگر همه افعال را اجرا کنید حدود ۸۰۰ مگابایت فضا میگیرد.
- امیدواریم پشتیبانی بهتر از حالت ۶۴ بیتی برای افعال مختلف فراهم شود.
- قابلیت استخراج یک فایل و (تلاش برای) نصب از یک فایل msu. برای مشاهده روش، ‘winetricks install_dll_from_msu’ را اجرا کنید.
- یک Powershell 5.1 ابتدایی.
- نصب آزمایشی dotnet481 و dotnet35 (ممکن است برای برنامههایی که با dotnet48 فعلی راضی نیستند لازم باشد).
- تکمیل خودکار تب. توجه: هنگام استفاده از چند فعل از خط فرمان، باید آنها را با کاما جدا کنید (این روش مدیریت آرگومانهای چندگانه در powershell است)
- برخی برنامهها هنگام نصب/اجرا با Chocolatey به دلیل باگهای wine با خطا مواجه میشوند. چند راهحل موقتی در winetricks برای آنها اضافه کردم، در ادامه ببینید.
- افعال ویژه (winetricks vs19، vs22 و vs22_interactive_installer) برای نصب Visual Studio Community 2019 و 2022 که کار میکند (تصویر را ببینید، نصب بیش از ۱۰ دقیقه طول میکشد و حدود ۱۰ گیگابایت فضا نیاز دارد، پس از نصب devenv.exe را از مسیر c:\Program\ Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE/ اجرا کنید)
- فعل ویژه برای دسترسی به دستورات مختلف یونیکس مانند grep, sed, file, less, curl و غیره (winetricks git.portable، توجه: برخی دستورات هنوز به دلیل باگهای wine کار نمیکنند)
- همچنین چند اسکریپت powershell که از اینترنت ویرایش شدهاند اضافه شده است:
- نحوه جاسازی یک exe در اسکریپت powershell با استفاده از Invoke-ReflectivePEInjection (exe در tasklist نمایش داده نمیشود).
- نحوه ساخت جعبه پیامهای زیبا
- تبدیل یک اسکریپت powershell (ps1) به exe.
- و چند مورد دیگر
امکانی اضافه شده تا برنامههای ساده سیستمی مانند setx.exe را با یک تابع در c:\Program Files\Powershell\7\profile.ps1 جایگزین کنید. یا برنامههای سیستمی که وجود ندارند مانند getmac.exe را اضافه کنید. اگر برنامهها به دلیل نبود برنامههای سیستمی کافی یا بالغ اجرا نشوند، میتوان تابعی نوشت تا هر آنچه برنامه انتظار دارد را بازگرداند. مانند profile.ps1 که (در کنار سایر موارد) یک wmic.exe با گزینههای بیشتر و یک setx.exe پایه اضافه کردهام. یا میتوانید آرگومانهای ارسالی به برنامه سیستمی را دستکاری کنید. به profile.ps1 و choc_install.ps1 مراجعه کنید. هیچ تضمینی برای کارکرد با برنامههای پیچیدهتر وجود ندارد... یادداشتها:
- از این ابزار روی wineprefix موجود استفاده نکنید، فقط روی یک پیشوند تازه ایجاد شده! نصبکننده فقط داتنت۴۸ را به طور احمقانه نصب میکند و کلیدهای رجیستری را به هم میریزد.
- WINEARCH=win32 پشتیبانی نمیشود!
- بهروزرسانی از نسخه قبلی فعلاً پشتیبانی نمیشود، شاید بعداً
- اگر میخواهید خودتان کامپایل کنید به جای دانلود فایل اجرایی: دستورالعملهای کامپایل را در mainv1.c و installer.c ببینید
- سپس choc_install.ps1 را در همان پوشه کپی کنید
- سپس دستور 'wine ChoCinstaller_0.5a.735.exe' را اجرا کنید