Chocolatey-for-wine
ตัวติดตั้งอัตโนมัติสำหรับตัวจัดการแพ็กเกจ Chocolatey ใน wine สะดวกสำหรับการติดตั้งโปรแกรมอย่างรวดเร็วใน wine (และตามมาด้วยการหาข้อบกพร่องใน wine ;) ) สำหรับข้อบกพร่องบางอย่างได้มีการเพิ่มวิธีแก้ไข เช่น สำหรับ Visual Studio Community 2022 และ nodejs ดูรายละเอียดเพิ่มเติมด้านล่าง
เนื่องจากฉันรู้สึกเบื่อระหว่างช่วงล็อกดาวน์ ฉันจึงเขียน winetricks(.ps1) แบบกำหนดเองขึ้นมา โดยมี verbs ที่ฉันคิดว่าสะดวก เพียงพิมพ์ 'winetricks' เพื่อดูรายการ สำหรับ verbs บางตัวจำเป็นต้องรีสตาร์ท wine ทั้งหมด (เนื่องจากการเปลี่ยนแปลงล่าสุดของ wine) คุณจะเห็นกล่องข้อความและเซสชั่นจะสิ้นสุด เพียงแค่เปิด powershell ใหม่อีกครั้งและลองใช้ verb นั้นอีกครั้ง ถ้าทำสำเร็จแล้วครั้งหนึ่ง จะไม่จำเป็นต้องทำซ้ำสำหรับ verbs อื่นๆ อีก
ตัวอย่าง:
'winetricks vs22_interactiveinstaller' ( --> เซสชันจะถูกสิ้นสุด)
ทำ 'wine powershell'
ทำ 'winetricks vs22_interactiveinstaller'
(อนึ่ง ผ่าน 'winetricks vs22_interactive_installer' คุณสามารถเลือกสิ่งที่จะติดตั้งผ่านตัวติดตั้ง Visual Studio 2022; 'winetricks vs22_interactive_installer' ตอนนี้ใช้เวลาประมาณสิบเข้าถึงโปรแกรมหลัก (เลือก Desktop development with 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-bugs:
- Ctrl^C เพื่อออกจากโปรแกรมที่ไม่กลับสู่คอนโซลจะใช้ไม่ได้ ให้ใช้ Shift^Ctrl^C แทน
- การเลือกข้อความในหน้าต่าง ConEmu (เพื่อ copy/paste) จะไม่ไฮไลท์ข้อความที่เลือก มีการใส่ hack ที่เศร้ามากกับ wine เวอร์ชันล่าสุดเพื่อแก้ไขปัญหานี้ ดังนั้นการไฮไลท์ควรจะใช้งานได้แล้วตอนนี้
- หากคุณไม่เรียกมัน ('winetricks' ใน powershell-console) จะไม่มีการดาวน์โหลดไฟล์ใด ๆ ดังนั้นไม่มี overhead
- คำสั่งจำนวนมาก (เช่น powershell 5.1) ต้องการไฟล์สำคัญบางไฟล์เพื่อแตกไฟล์จาก msu packages การติดตั้งไฟล์เหล่านี้ต้องดาวน์โหลดไฟล์ขนาดใหญ่ก่อน และใช้เวลานานในการใช้งานครั้งแรก แต่หลังจาก cache แล้วจะเร็วขึ้น ตัวอย่างเช่นถ้าคุณลอง 'winetricks ps51' ครั้งแรกจะใช้เวลาประมาณ 15 นาที คำสั่งอื่น ๆ อาจใช้เวลาประมาณ 5 นาทีในการใช้งานครั้งแรก แต่หลังจากเรียกคำสั่งแล้วปัญหานี้จะหมดไป
- ไฟล์จะถูก cache ในโฟลเดอร์ MyDocuments ถ้าคุณเรียกทุกคำสั่งจะใช้พื้นที่ประมาณ 800 MB
- หวังว่าการรองรับ 64-bit สำหรับคำสั่งต่าง ๆ จะดีขึ้น
- ความสามารถในการแตกไฟล์และ (ลอง) ติดตั้งจาก msu file ทำ 'winetricks install_dll_from_msu' เพื่อดูวิธีใช้งาน
- Powershell 5.1 ขั้นต้น
- การติดตั้ง dotnet481 แบบทดลอง และ dotnet35 (อาจจำเป็นสำหรับแอปที่ไม่พอใจกับการติดตั้ง dotnet48 ปัจจุบัน)
- Autotab-completion หมายเหตุ: ขณะใช้คำสั่งหลายคำสั่งจาก command line ต้องคั่นด้วยเครื่องหมาย comma จากนี้ไป (powershell จะจัดการ argument แบบนี้)
- บางโปรแกรมติดตั้ง/รันไม่ได้เมื่อใช้ผ่าน Chocolatey เนื่องจาก wine-bugs ผมเพิ่มวิธีแก้ไขบางอย่างใน winetricks สำหรับปัญหาเหล่านี้ ดูด้านล่าง
- คำสั่งพิเศษ (winetricks vs19, vs22 และ vs22_interactive_installer) สำหรับติดตั้ง Visual Studio Community 2019 และ 2022 ที่ใช้งานได้ (ดู screenshot, >10 นาทีในการติดตั้งและต้องการพื้นที่ประมาณ 10GB!, หลังติดตั้งให้เปิด devenv.exe จากไดเรกทอรี c:\Program\ Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE/)
- คำสั่งพิเศษเพื่อเข้าถึงคำสั่ง unix ต่าง ๆ เช่น grep,sed, file, less, curl ฯลฯ (winetricks git.portable, ข้อจำกัด: บางคำสั่งยังใช้งานไม่ได้เนื่องจาก wine bugs)
- รวม powershell script บางส่วนที่ปรับจาก code ที่พบในอินเทอร์เน็ต:
- วิธีฝัง exe ใน powershell script ผ่าน Invoke-ReflectivePEInjection (exe จะไม่ปรากฏใน tasklist)
- วิธีสร้าง messagebox ที่ดูดี
- แปลง powershell script (ps1) เป็น exe
- และอื่น ๆ อีกเล็กน้อย
มีฟีเจอร์เพิ่มเพื่อแทนที่โปรแกรมระบบง่าย ๆ เช่น setx.exe ด้วยฟังก์ชันใน c:\\Program Files\Powershell\7\profile.ps1 หรือเพิ่มโปรแกรมระบบที่ขาดหายไปเช่น getmac.exe หากโปรแกรมล้มเหลวเพราะโปรแกรมระบบยังไม่สมบูรณ์หรือขาดหายไป สามารถเขียน ฟังก์ชันเพื่อคืนค่าตามที่โปรแกรมต้องการได้ เช่นใน profile.ps1 ผมเพิ่ม (นอกเหนือจากอื่น ๆ) wmic.exe ที่รองรับ option เพิ่มขึ้น และ setx.exe ขั้นต้น หรือคุณสามารถจัดการ argument ที่ส่งให้โปรแกรมระบบได้ ดู profile.ps1 และ choc_install.ps1 ไม่รับรองว่าจะใช้ได้กับโปรแกรมที่ซับซ้อนกว่านี้...
หมายเหตุ:
- ห้ามใช้กับ wineprefix ที่มีอยู่แล้ว ต้องใช้กับ prefix ที่สร้างใหม่เท่านั้น! ตัวติดตั้งจะติดตั้ง dotnet48 เองแบบง่ายๆ และอาจเปลี่ยนแปลงคีย์รีจิสทรี
- ไม่รองรับ WINEARCH=win32!
- ขณะนี้ยังไม่รองรับการอัปเดตจากเวอร์ชันก่อนหน้า อาจจะรองรับในอนาคต
- หากคุณต้องการคอมไพล์ด้วยตัวเองแทนการดาวน์โหลดไฟล์ไบนารี โปรดดูคำแนะนำการคอมไพล์ใน mainv1.c และ installer.c
- จากนั้นคัดลอกไฟล์ choc_install.ps1 ไปไว้ในไดเรกทอรีเดียวกัน
- จากนั้นให้รัน 'wine ChoCinstaller_0.5a.735.exe'