เรียกใช้แอปพลิเคชัน Windows บน Linux ด้วย Bottles ทีละขั้นตอน

  • Bottles ช่วยให้การจัดการ Wine ง่ายขึ้น โดยใช้ขวดแยกต่างหากสำหรับแต่ละแอปพลิเคชันหรือเกมของ Windows
  • Flatpak, Flatseal และการแมปดิสก์ ช่วยให้คุณควบคุมสิทธิ์การเข้าถึงและใช้งานไดรฟ์ภายนอกได้อย่างสะดวกสบายโดยไม่ยุ่งยาก
  • การปรับปรุง Wine อย่างต่อเนื่องช่วยเพิ่มความเข้ากันได้ แต่ไม่ใช่ว่าทุกโปรแกรมและระบบ DRM จะทำงานได้ดีเท่ากันทั้งหมด
  • สำหรับเกมที่ซับซ้อน Proton, Lutris หรือแม้แต่การจำลองเสมือนสามารถเสริมหรือทดแทนการใช้งาน Bottles ได้

เรียกใช้โปรแกรม Windows บน Linux ด้วย Bottles

หากคุณเพิ่งเริ่มใช้ Linux และยังคงต้องการโปรแกรมและเกมที่ออกแบบมาสำหรับ Windowsคุณอาจเคยได้ยินเกี่ยวกับ Wine, Proton, Lutris… และแน่นอนว่า Bottles มาบ้างแล้ว อย่างไรก็ตาม การหาคู่มือการใช้งาน Bottles ที่ชัดเจนและเข้าใจง่ายนั้นไม่ใช่เรื่องง่าย และหลายคนก็ล้มเลิกไปเพราะคิดว่ามันซับซ้อนกว่าความเป็นจริง

ในบรรทัดต่อไปนี้ คุณจะได้เห็นทีละขั้นตอนถึงวิธีการใช้ Bottles เพื่อเรียกใช้แอปพลิเคชัน Windows บน Linuxความสัมพันธ์กับ Wine บทบาทของเครื่องมือต่างๆ เช่น Flatpak และ Flatseal วิธีการแมปดิสก์ของคุณเพื่อติดตั้งเกมบนไดรฟ์อื่น ความเข้ากันได้ที่คุณคาดหวังได้ และในกรณีใดบ้างที่การใช้ Wine แบบ "บริสุทธิ์และเรียบง่าย" หรือแม้แต่เครื่องเสมือนยังคงดีกว่า

Bottles คืออะไร และมีความเกี่ยวข้องกับ Wine, Proton และ Lutris อย่างไร?

Bottlesเป็นแอปพลิเคชันแบบกราฟิกที่ช่วยลดความซับซ้อนในการจัดการWine prefixesซึ่งเป็นสภาพแวดล้อมแยกต่างหากที่ติดตั้งและเรียกใช้โปรแกรม Windows ภายใน Linux แทนที่จะต้องวุ่นวายกับการใช้เทอร์มินัลและคำสั่ง Wine Bottles นำเสนออินเทอร์เฟซที่ทันสมัยสำหรับการสร้าง กำหนดค่า และบำรุงรักษา "คอนเทนเนอร์" เหล่านี้

กล่าวโดยสรุป Bottles ช่วยให้คุณใช้งานซอฟต์แวร์ Windows บน Linuxผ่าน "ขวด" (bottles) ซึ่งเป็นพื้นที่อิสระที่มี Wine, ไลบรารี, การตั้งค่า และโปรแกรมเป็นของตัวเอง แต่ละขวดสามารถปรับแต่งให้เหมาะสมกับซอฟต์แวร์หรือเกมเฉพาะได้ เพื่อเพิ่มความเข้ากันได้และป้องกันความขัดแย้งของแอปพลิเคชัน

Wine ซึ่งเป็นเทคโนโลยีพื้นฐาน ทำหน้าที่เป็นเลเยอร์ความเข้ากันได้โดยแปลงการเรียกใช้ API ของ Windows ไปเป็นการเรียกใช้ API ดั้งเดิมของ Linux (และระบบอื่นๆ เช่น macOS หรือ BSD) แบบเรียลไทม์ วิธีนี้ช่วยหลีกเลี่ยงการใช้ทรัพยากรเพิ่มเติมที่มักเกิดขึ้นในเครื่องเสมือน เนื่องจากไม่ได้จำลองสภาพแวดล้อม Windows ทั้งหมด แต่เป็นการ "จำลอง" สภาพแวดล้อมที่โปรแกรมคาดหวังว่าจะพบเจอ

ในวงการเกม โปรเจกต์อย่างProton (Steam)และLutrisได้กลายเป็นตัวเลือกที่แนะนำสำหรับการเล่นเกมบน Linux: พวกมันมีความสมบูรณ์แบบสูง ตั้งค่าต่างๆ ได้โดยอัตโนมัติ และในทางปฏิบัติ มักจะไม่ยุ่งยากเมื่อต้องเรียกใช้เกมที่ซับซ้อน Bottles สามารถเล่นเกมได้ แต่โดดเด่นเป็นพิเศษในฐานะเครื่องมือสำหรับแอปพลิเคชัน Windows แบบสแตนด์อโลนที่ไม่มีไคลเอ็นต์แบบเนทีฟเช่น โปรแกรมแก้ไขข้อความ โปรแกรมยูทิลิตี้ หรือโปรแกรมเรียกใช้งานขนาดเล็กเป็นครั้งคราว

การติดตั้ง Bottles บน Linux ด้วย Flatpak และ GNOME Software

วิธีที่สะดวกและเป็นมาตรฐานที่สุดในการใช้งาน Bottles บนระบบปฏิบัติการแทบทุกชนิดคือการใช้Flatpak และ Flathubนักพัฒนาจะเผยแพร่เวอร์ชันหลักไว้ที่นั่น ซึ่งโดยปกติแล้วจะอัปเดตกว่าเวอร์ชันที่มีอยู่ในรูปแบบหรือแหล่งเก็บข้อมูลอื่นๆ

ในระบบปฏิบัติการ Linux รุ่นใหม่ๆ คุณเพียงแค่ต้องเปิดใช้งาน Flatpak และเพิ่มที่เก็บ Flathubเท่านั้น โดยปกติแล้วจะทำได้โดยการทำตามคำแนะนำเฉพาะสำหรับระบบปฏิบัติการของคุณ (Ubuntu, Debian, Fedora, Arch ฯลฯ) ซึ่งมีอยู่ในเว็บไซต์อย่างเป็นทางการของ Flatpak เมื่อตั้งค่าเสร็จแล้ว คุณสามารถติดตั้ง Bottles จากร้านค้าแบบกราฟิกหรือจากเทอร์มินัลได้

หากคุณใช้GNOME Software ที่รองรับ Flatpakการติดตั้งจะง่ายเป็นพิเศษ: ค้นหา "Bottles" ในสโตร์ เลือกแพ็กเกจจาก Flathub แล้วคลิกติดตั้ง ไฟล์เริ่มต้นจะมีขนาดค่อนข้างเล็ก เนื่องจากประกอบด้วยส่วนติดต่อผู้ใช้แบบกราฟิก หน้าจอต้อนรับ และส่วนประกอบพื้นฐาน ส่วนประกอบที่เหลือ (Wine, Gecko และอื่นๆ) จะถูกดาวน์โหลดเมื่อคุณสร้างและกำหนดค่า Bottles

ระบบปฏิบัติการ Linux หลายตัวแนะนำให้ใช้ Bottles ร่วมกับFlatsealซึ่งเป็นยูทิลิตี้ขนาดเล็กที่ใช้ควบคุมและปรับสิทธิ์การเข้าถึงแอปพลิเคชัน Flatpak Flatseal ช่วยให้คุณสามารถอนุญาตหรือจำกัดการเข้าถึงดิสก์อื่น โฟลเดอร์ภายนอก และอุปกรณ์ต่างๆ ของ Bottles ได้ ซึ่งจำเป็นอย่างยิ่งหากคุณวางแผนที่จะติดตั้งเกมหรือโปรแกรมบนไดรฟ์รอง

ข้อกำหนดเบื้องต้น: โปรแกรม Wine และการรองรับระบบ 32 บิต

แม้ว่า Bottles จะจัดการเวอร์ชันของ Wine ภายในเอง แต่ก็คุ้มค่าที่จะทำความเข้าใจกลไกภายใน Wine คือกลไกที่ช่วยให้ไฟล์ปฏิบัติการ . exe และ .msiทำงานบน Linux ได้ และในหลายๆ ดิสทริบิวชัน ก็สามารถติดตั้ง Wine แยกต่างหากได้ด้วย

ตัวอย่างเช่น ในระบบ Ubuntu 64 บิต ขั้นตอนแรกในการใช้งาน Wine "ตามค่าเริ่มต้น" มักจะเป็นการเปิดใช้งานการรองรับ 32 บิตเนื่องจากโดยค่าเริ่มต้นจะปิดใช้งานอยู่ และแอปพลิเคชัน Windows หลายตัวยังคงเป็น 32 บิต คำสั่งทั่วไปสำหรับขั้นตอนนี้คือ:

sudo dpkg --add-architecture i386

ถัดไป อัปเดต repositories ด้วยคำสั่งง่ายๆ`sudo apt update`จากนั้นเพิ่มคีย์และ repositories อย่างเป็นทางการจาก WineHQ เพื่อรักษาเวอร์ชัน Wine ที่เสถียรและทันสมัยบนระบบของคุณ ทั้งนี้ ขึ้นอยู่กับเวอร์ชัน Ubuntu ของคุณ (20.04, 22.04, 23.04, 23.10 เป็นต้น) คุณจะต้องเพิ่มไฟล์ `.sources` ที่เกี่ยวข้องจากเว็บไซต์ Wine ด้วย

เมื่อทำตามขั้นตอนนี้เสร็จแล้ว คุณสามารถติดตั้งเวอร์ชันเสถียรได้ด้วยคำสั่ง:

sudo apt install --install-recommends winehq-stable

อีกทางเลือกหนึ่ง คุณสามารถเลือกใช้เวอร์ชันสำหรับการพัฒนาหรือเวอร์ชันสำหรับทดสอบได้ หากต้องการฟีเจอร์ล่าสุด แต่ก็มีความเสี่ยงที่จะเกิดข้อผิดพลาดสูงขึ้น แม้ว่า Bottles จะผสานรวมและจัดการเวอร์ชันของตัวเองอยู่แล้วการทำความเข้าใจตัวเลือกเหล่านี้จะช่วยให้คุณเข้าใจว่าส่วนประกอบที่ Bottles ดาวน์โหลดมาจากที่ใดและทำไมบางครั้งจึงอ้างถึง "Wine stable" "Wine development" หรือ "Wine staging"

ไวน์รุ่นใหม่และความเข้ากันได้

โครงการ Wine กำลังพัฒนาอย่างรวดเร็ว และเวอร์ชันล่าสุดได้รวมเอาการปรับปรุงที่สำคัญในด้านประสิทธิภาพ ความเข้ากันได้ และการรองรับกราฟิกเวอร์ชันเสถียรที่ทันสมัย ​​(เช่น ตระกูล 10.x) มีการเปลี่ยนแปลงหลายพันรายการ รวมถึงการรองรับสถาปัตยกรรม ARM64EC ที่ดีขึ้น การปรับขนาด HiDPI ที่ละเอียดขึ้น แผงควบคุมที่ได้รับการปรับปรุงใหม่ การปรับปรุง DirectPlay และแบ็กเอนด์ Media Foundation ที่ใช้ FFmpeg สำหรับการเล่นมัลติมีเดียที่ดียิ่งขึ้น

โดยทั่วไปแล้ว การพัฒนาเวอร์ชันใหม่มักจะปรับปรุงรายละเอียดต่างๆ เช่นตาราง Unicode ที่อัปเดตแล้ว การรองรับแพ็กเกจ Zip64และการแก้ไขภายในต่างๆ มากมาย ซึ่งแม้ว่าจะมองไม่เห็นได้ทันที แต่ก็สร้างความแตกต่างอย่างมากสำหรับแอปพลิเคชันที่ต้องการประสิทธิภาพสูง เวอร์ชันหลักก่อนหน้านี้ เช่น 9.0 ได้นำเสนอความก้าวหน้าสำคัญๆ เช่น การรองรับ WoW64 (การเรียกใช้แอปพลิเคชัน 32 บิตบนระบบ 64 บิต) ไดรเวอร์ Wayland ตัวแรก (ซึ่งต่อมาได้รับการปรับปรุงด้วยการรองรับ OpenGL และการปรับแต่งหน้าต่าง) การนำไดรเวอร์ PostScript มาใช้สำหรับกราฟิก 2D/3D อีกครั้ง และการปรับปรุง ARM64, WinRT และการคอมไพล์เชเดอร์ Direct3D ไปยัง SPIR-V

ความก้าวหน้าทั้งหมดนี้กำลังค่อยๆ ถูกถ่ายโอนไปยัง Bottlesเนื่องจากแอปพลิเคชันนี้อาศัย Wine ในการประมวลผลหลัก คุณสามารถตรวจสอบเวอร์ชัน Wine ที่ระบบของคุณใช้งานอยู่ได้จากเทอร์มินัลโดยใช้คำสั่ง:

wine --version

หากคุณพบว่าเวอร์ชันระบบของคุณเก่ามากเมื่อเทียบกับเวอร์ชันที่ใช้ในข่าวสารล่าสุดของ WineHQ คุณอาจต้องการอัปเดต หรืออาจใช้ Bottles เองในการดาวน์โหลดWine runner หรือ build เวอร์ชันใหม่กว่าภายในแต่ละ bottle ก็ได้

การสร้างและการกำหนดค่าเบื้องต้นของขวด

ครั้งแรกที่คุณเปิดโปรแกรม Bottles โปรแกรมจะดาวน์โหลดส่วนประกอบที่จำเป็นบางอย่าง (ส่วนประกอบของ Wine, Gecko เป็นต้น)รอให้กระบวนการนั้นเสร็จสิ้น และเมื่อหน้าจอหลักปรากฏขึ้น คุณก็พร้อมที่จะสร้างขวดแรกของคุณแล้ว

ในการทำเช่นนี้ เพียงคลิกที่ ปุ่ม "สร้างขวดใหม่"หรือปุ่มที่คล้ายกัน ตั้งชื่อที่สื่อความหมาย (ตัวอย่างเช่น "Notepad++", "Game-X", "Office") จากนั้นเลือกประเภทของสภาพแวดล้อมที่คุณต้องการ:

  • เกมส์: โปรไฟล์ที่ออกแบบมาสำหรับวิดีโอเกม โดยมีตัวเลือกและการปรับแต่งที่เน้นประสิทธิภาพและความเข้ากันได้ของกราฟิก
  • ใบสมัครเหมาะอย่างยิ่งสำหรับโปรแกรมเพิ่มประสิทธิภาพการทำงาน โปรแกรมยูทิลิตี้ โปรแกรมแก้ไขข้อความ โปรแกรมเรียกใช้งาน ฯลฯ
  • ส่วนบุคคลหากคุณต้องการควบคุมรายละเอียดด้วยตนเอง หรือต้องการทดลองตั้งค่าต่างๆ

หลังจากเลือกประเภทแล้ว ให้คลิก "สร้าง" จากนั้น Bottles จะสร้างคำนำหน้า Wine (ตำแหน่ง "โฮม" ที่โปรแกรม Windows ของคุณจะอยู่) เมื่อเสร็จสิ้น คุณจะเห็นข้อความหรือหน้าต่างที่ระบุว่าสร้างขวดเสร็จแล้ว ปิดหน้าต่างนั้นและกลับไปยังหน้าจอหลัก ซึ่งรายการใหม่ของคุณจะปรากฏขึ้น

ถ้าคุณเปิดขวดนั้น คุณจะเห็นหลายส่วน เช่น โปรแกรมที่ติดตั้ง เครื่องมือ การตั้งค่า ดิสก์ ตัวแปร ฯลฯ นี่คือที่ที่คุณจะติดตั้งและเรียกใช้ไฟล์ปฏิบัติการ .exe หรือ .msiที่คุณต้องการ และปรับแต่งทุกอย่างที่จำเป็นเพื่อให้โปรแกรมเหล่านั้นทำงานได้

ติดตั้งแอปและเกม Windows ภายใน Bottles

ในการเพิ่มโปรแกรม Windows ลงใน Bottle ที่มีอยู่แล้ว วิธีที่ตรงที่สุดมักจะเป็นการใช้ ตัวเลือก "เรียกใช้ไฟล์ปฏิบัติการ"หรือ "ตัวถอนการติดตั้ง" ในตัว (ซึ่งทำงานคล้ายกับแผง "เพิ่มหรือลบโปรแกรม" ใน Windows) Bottle หลายเวอร์ชันมี ส่วน เครื่องมือที่มี "ตัวถอนการติดตั้ง" ซึ่งมีปุ่ม "ติดตั้ง" อยู่ด้วย

ขั้นตอนการทำงานโดยทั่วไปนั้นง่ายมาก: คุณเลือกขวด (หมายถึงเลือกโปรแกรม) เลื่อนลงเพื่อหาเครื่องมือที่เกี่ยวข้อง คลิกที่ติดตั้ง หรือ เรียกใช้ไฟล์ปฏิบัติการไปยังไฟล์ติดตั้ง (.exe, .msi) และปล่อยให้ตัวช่วยติดตั้งทำงาน จากนั้น คุณก็ทำตามขั้นตอนต่างๆ เหมือนกับที่คุณทำใน Windows (ถัดไป ถัดไป ยอมรับข้อตกลงใบอนุญาต เส้นทางการติดตั้ง ฯลฯ)

หลังจากติดตั้งแล้ว Bottles อาจตรวจจับโปรแกรมใหม่โดยอัตโนมัติและเพิ่มลงในรายการ "โปรแกรม" สำหรับขวดนั้นเมื่อกลับไปยังแผงของขวด คุณจะเห็นชื่อแอปพลิเคชันอยู่ถัดจากไอคอน "เล่น" หรือ "เปิด" เพียงคลิกเพื่อเปิดซอฟต์แวร์ได้ทุกเมื่อที่ต้องการ โดยไม่ต้องค้นหาไฟล์ .exe ด้วยตนเองอีกครั้ง

ขั้นตอนเดียวกันนี้ใช้ได้ทั้งกับแอปพลิเคชันขนาดเล็ก (เช่น Notepad++)และโปรแกรมติดตั้งเกม อย่างไรก็ตาม สำหรับบางโปรแกรมเรียกใช้งาน เช่น Steam หรือ Epic Games ที่ทำงานอยู่ภายใน Bottles คุณอาจพบปัญหาโปรแกรมหยุดทำงานหรือปิดตัวลงโดยไม่คาดคิด เนื่องจากโปรแกรมเหล่านั้นมีการรวมระบบ DRM การอัปเดตของตัวเอง การแสดงผลซ้อนทับ และองค์ประกอบอื่นๆ ที่อาจไม่เข้ากันได้ดีกับเลเยอร์ความเข้ากันได้

การกำหนดค่าดิสก์และเส้นทางด้วย Flatseal และส่วน "ดิสก์"

หากคุณวางแผนที่จะติดตั้งเกมหรือโปรแกรมขนาดใหญ่ลงในดิสก์ตัวที่สอง พาร์ติชั่นเพิ่มเติม หรือไดรฟ์ภายนอกมีสองสิ่งที่คุณควรคำนึงถึง: สิทธิ์การเข้าถึงของ Flatpak และการแมปไดรฟ์ภายใน Bottle เอง

ในอีกด้านหนึ่ง คุณสามารถใช้Flatsealเพื่อปรับสิทธิ์การเข้าถึงของ Bottles เพื่อให้ Flatpak สามารถเข้าถึงไดเร็กทอรีเพิ่มเติมเหล่านั้นได้ เปิด Flatseal เลือก Bottles จากรายการ และในส่วนการตั้งค่า ให้เปิดใช้งานการเข้าถึงเส้นทางหรือจุดเชื่อมต่อที่คุณต้องการแชร์ (ตัวอย่างเช่น /mnt/data, /run/media/user/ExternalDisk เป็นต้น) หากไม่มีสิทธิ์นี้ Bottles จะมองไม่เห็นโฟลเดอร์เหล่านั้น ไม่ว่าคุณจะพยายามแมปพวกมันมากแค่ไหนก็ตาม

จากนั้น ในการตั้งค่าของ Bottles คุณมักจะพบส่วนที่เรียกว่า"ดิสก์" หรือ "ไดรฟ์"ซึ่งคุณสามารถกำหนดไดเร็กทอรีเหล่านั้นให้กับตัวอักษรไดรฟ์ในรูปแบบของ Windows ได้ เช่น C:, D:, E:... ตรงนั้นคุณสามารถเลือก "เพิ่มดิสก์" เลือกเส้นทางของไดเร็กทอรี และกำหนดตัวอักษรให้กับมันได้

ในทางปฏิบัติ วิธีนี้ทำงานเหมือนกับการแมปไดรฟ์ใน Windowsกล่าวคือ หากคุณแมปไดรฟ์ภายนอกของคุณเป็นไดรฟ์ D: โปรแกรมติดตั้งของ Windows จะมองเห็นตัวอักษรไดรฟ์นั้น และคุณสามารถติดตั้งหรือเรียกใช้เกมจากที่นั่นได้ สำหรับเกมขนาดใหญ่ วิธีนี้สะดวกมากในการหลีกเลี่ยงการใช้พื้นที่ไดรฟ์หลักของระบบ Linux จนเต็ม

หลักการเดียวกันนี้ใช้ได้กับเกมที่ติดตั้งไว้ก่อนหน้านี้บน Steam หรือ Epic บน Windows ด้วยเช่นกัน ในทางทฤษฎี คุณสามารถระบุเส้นทางไปยังไลบรารีที่มีอยู่เหล่านั้นได้แต่ในทางปฏิบัติ ผู้ใช้หลายคนพบข้อผิดพลาดเมื่อพยายามติดตั้งหรืออัปเดตไคลเอ็นต์ Steam/Epic ภายใน Bottles สำหรับตอนนี้ คุณจะสังเกตเห็นว่า Bottles มักจะทำงานได้ราบรื่นกว่าเมื่อเรียกใช้เกมแบบสแตนด์อโลนหรือตัวติดตั้งโดยตรงในขณะที่สำหรับแพลตฟอร์มหลัก ๆ การใช้ Proton (บน Steam) หรือไคลเอ็นต์เช่น Heroic, Lutris เป็นต้น ยังคงมีความน่าเชื่อถือมากกว่า

ตัวเลือกไวน์ขั้นสูงภายในขวด

ข้อดีอย่างหนึ่งของ Bottles คือช่วยให้คุณไม่ต้องยุ่งยากกับการใช้คำสั่งมากมาย แต่สิ่งสำคัญคือต้องเข้าใจว่าภายในแล้ว การทำงานส่วนใหญ่ของมันขึ้นอยู่กับwinecfg, winetricks และตัวเลือก Wine แบบดั้งเดิม Bottles ช่วยให้คุณแสดงหรือปรับแต่งการตั้งค่าบางอย่างเหล่านี้ในรูปแบบกราฟิกได้

ในโปรแกรม Wine เวอร์ชันปกติ การตั้งค่าเริ่มต้นจะเริ่มด้วยคำสั่ง:

winecfg

นี่คือส่วนที่ ดาวน์โหลด ส่วนประกอบที่จำเป็น เช่น Wine-Mono หรือ Geckoซึ่งจะให้ฟังก์ชันการทำงานเทียบเท่ากับ .NET และเอนจิ้นการแสดงผลของ Internet Explorer เมื่อเสร็จสิ้นแล้ว หน้าต่างการกำหนดค่าจะเปิดขึ้นพร้อมแท็บหลายแท็บ ซึ่ง Bottles จะทำการสรุปรายละเอียดในระดับมากหรือน้อย แต่ก็เป็นสิ่งที่ควรทราบ:

  • การใช้งาน: ช่วยให้คุณจำลองระบบปฏิบัติการ Windows เวอร์ชันต่างๆ (XP, 7, 10, 11 ฯลฯ) ได้ทั้งแบบโดยรวมหรือสำหรับไฟล์ปฏิบัติการเฉพาะ ในกรณีที่โปรแกรมต้องการเวอร์ชันเฉพาะ
  • ร้านขายหนังสือการตั้งค่านี้จะควบคุมว่า Wine ใช้ไลบรารีใดบ้าง (ไลบรารีของ Wine เอง ไลบรารีของโปรแกรม หรือ DLL ดั้งเดิมที่คัดลอกมาจากระบบ Windows จริง) ซึ่งมีความสำคัญอย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการไฟล์เวอร์ชันเฉพาะบางไฟล์
  • กราฟิก: กำหนดค่าวิธีการแสดงผลหน้าต่าง Windows และเดสก์ท็อปเสมือนของ Windows รวมถึงแบบอักษร การจับเมาส์ และรายละเอียดด้านภาพบางอย่าง
  • การรวมเดสก์ท็อป: ระบุตำแหน่งที่จัดเก็บเอกสาร ไฟล์ดาวน์โหลด เพลง ฯลฯ ภายในสภาพแวดล้อมของ Wine และระบุธีมหรือสไตล์ที่ใช้
  • หน่วย: ทำหน้าที่จัดการเส้นทางการเชื่อมต่อไดรฟ์ต่างๆ ที่มองเห็นได้ เช่น C:, D: เป็นต้น ซึ่งเป็นสิ่งที่ Bottles ทำให้ง่ายขึ้นด้วยส่วนการจัดการดิสก์ของมัน
  • เสียง: ช่วยให้คุณเลือกไดรเวอร์เสียง เอาต์พุต อินพุต และรายละเอียดอื่นๆ ที่เกี่ยวข้องกับเสียง
  • เกี่ยวกับ: แสดงเวอร์ชัน Wine ที่ติดตั้งไว้เท่านั้น

Bottles ทำให้การตั้งค่าส่วนใหญ่เป็นเรื่องง่ายด้วยการตั้งค่าที่กำหนดไว้ล่วงหน้าและตัวเรียกใช้งานที่ปรับให้เข้ากับเกมหรือแอปต่างๆแต่ถ้าหากแอปใดแอปหนึ่งทำให้คุณมีปัญหา ก็ไม่เสียหายที่จะเปิดการตั้งค่าขั้นสูงของ Bottles และลองปรับค่าต่างๆ จนกว่าจะพบจุดที่เหมาะสม

เคล็ดลับในการปรับปรุงประสิทธิภาพและความเข้ากันได้

ประสบการณ์การใช้งาน Wine and Bottles อาจแตกต่างกันไปอย่างมาก ขึ้นอยู่กับเกมหรือโปรแกรม แต่มีแนวทางปฏิบัติทั่วไป บางประการ ที่มักช่วยหลีกเลี่ยงปัญหาได้ ประการแรก ควรใช้ Wine เวอร์ชันเสถียรล่าสุดที่ Bottles มีให้สำหรับแต่ละขวดเสมอ เว้นแต่คุณจะทราบแน่ชัดว่าบั๊กใดได้รับการแก้ไขในเวอร์ชันเบต้าแล้ว

ก่อนที่คุณจะพยายามติดตั้งเกมที่ซับซ้อน ควรค้นหาเกมนั้นในฐานข้อมูล WineHQ (หรือในแหล่งเก็บข้อมูลอื่นๆ) เพื่อดูหมวดหมู่ก่อน: Platinum (ใช้งานได้สมบูรณ์แบบ), Gold (ใช้งานได้ดีมากโดยต้องปรับแต่งเล็กน้อย), Silver (มีข้อบกพร่องเล็กน้อย), Bronze (มีปัญหาค่อนข้างมาก) หรือ Garbage (ใช้งานไม่ได้) คุณมักจะพบหมายเหตุจากผู้ใช้รายอื่นพร้อมการตั้งค่าที่แนะนำ ไฟล์ DLL ที่จำเป็น หรือแฟล็กพิเศษต่างๆ ด้วย

อีกหนึ่งแนวทางปฏิบัติที่น่าสนใจคือการใช้ประโยชน์จากWineprefixesซึ่งโดยพื้นฐานแล้วคือสภาพแวดล้อม Wine ที่แตกต่างกันและเป็นอิสระต่อกัน Bottles ได้จัดการการใช้ prefixes ต่อขวดไว้แล้ว ทำให้คุณสามารถมีการกำหนดค่าที่แยกต่างหากสำหรับแต่ละแอปพลิเคชันหรือเกมและป้องกันไม่ให้การเปลี่ยนแปลงหรือการติดตั้งไลบรารีในขวดหนึ่งไปทำให้ขวดอื่นเสียหาย

เพื่อแก้ไขปัญหาการพึ่งพาแพ็กเกจทั่วไป (เช่น .NET, Visual C++, ฟอนต์ของ Microsoft เป็นต้น) เครื่องมือคลาสสิกที่ใช้กันคือwinetricksแม้ว่า Bottles จะจัดการเรื่องนี้โดยอัตโนมัติบางส่วน แต่ก็เป็นประโยชน์ที่จะทราบว่า winetricks ช่วยให้คุณติดตั้งแพ็กเกจต่างๆ เช่น corefonts, vcrun2013 และแพ็กเกจที่คล้ายกัน ซึ่งแอปพลิเคชันหลายตัวต้องการเพื่อเริ่มต้นทำงานได้อย่างถูกต้อง

ในบางกรณี การปิดใช้งานเทคโนโลยีต่างๆ เช่นDXVK หรือ VKD3Dในการตั้งค่า Bottles อาจช่วยวินิจฉัยปัญหาเกี่ยวกับเกมบางเกมได้: เลเยอร์เหล่านี้จะแปลง DirectX เป็น Vulkan ซึ่งโดยทั่วไปจะช่วยปรับปรุงประสิทธิภาพ แต่ก็อาจทำให้เกิดปัญหาความเข้ากันไม่ได้กับฮาร์ดแวร์หรือไดรเวอร์บางตัว หากคุณปิดใช้งานตัวเลือกเหล่านี้ โปรแกรมจะพยายามใช้ DirectX ดั้งเดิมตามที่ Wine รองรับ

ตัวอย่างการใช้งานจริง: การเตรียมขวดไวน์สำหรับตกแต่งภาพด้วย Photoshop โดยใช้ Winetricks

ตัวอย่างคลาสสิกในวงการไวน์ก็คือการทำให้โปรแกรม Photoshop ใช้งานได้บางเวอร์ชัน เช่น Photoshop CS6 ได้รับการจัดอันดับ "ระดับทอง" ใน WineHQ ซึ่งหมายความว่ามันใช้งานได้ดีมากหลังจากปรับแต่งการตั้งค่าเล็กน้อย

เพื่อให้บรรลุเป้าหมายนี้ในสภาพแวดล้อมการผลิตไวน์แบบดั้งเดิม จึงมีการใช้เทคนิคการผลิตไวน์เพื่อติดตั้งส่วนประกอบบางอย่าง เช่น (ข้อความต้นฉบับไม่ชัดเจน) แหล่งข้อมูลพื้นฐานของ Microsoft ด้วยคำสั่ง winetricks corefonts และไลบรารี Visual C++ ที่จำเป็นพร้อมด้วย winetricks vcrun2012 vcrun2013จากนั้น จาก winecfgคุณสามารถไปที่แท็บ Libraries และระบุไฟล์ DLL นั้นเป็นได้ msvcp120 y msvcr120 ใช้ในโหมด "ดั้งเดิมและผสานรวม"

ใน Bottles กระบวนการส่วนใหญ่ถูกทำให้ง่ายขึ้นด้วยสูตรและค่าการกำหนดค่าที่กำหนดไว้ล่วงหน้าหากแอปพลิเคชันยอดนิยมต้องการส่วนประกอบบางอย่าง โปรไฟล์ของ Bottle มักจะเสนอส่วนประกอบเหล่านั้นอยู่แล้ว หรืออนุญาตให้ติดตั้งได้จากเมนูแบบกราฟิก โดยไม่ต้องพิมพ์คำสั่งทั้งหมดด้วยตนเอง

การปรับแต่งในลักษณะนี้แสดงให้เห็นว่า ด้วยความพยายามเพียงเล็กน้อยโปรแกรมที่ซับซ้อนซึ่งเดิมออกแบบมาสำหรับ Windows เท่านั้นก็สามารถทำงานบน Linux ได้ดีกว่าที่คิด แม้ว่าอาจต้องใช้เวลาในการตั้งค่าเริ่มต้นบ้างก็ตาม

ปัญหาทั่วไปเกี่ยวกับไวน์และขวด

แม้ว่าเทคโนโลยีจะก้าวหน้าไปอย่างมาก แต่สิ่งสำคัญคือต้องยอมรับว่าไม่ใช่ทุกอย่างที่มีใน Windows จะทำงานได้อย่างสมบูรณ์แบบบน Linuxด้วย Wine หรือ Bottles ปัญหาทั่วไปหลายอย่างเกี่ยวข้องกับไลบรารีที่โปรแกรมและเกมใช้ ดังนั้นจึงมักแนะนำให้ติดตั้งเครื่องมือเพิ่มเติม เช่น Winetricks หรือแม้แต่โปรแกรมเสริมอย่าง PlayOnLinux ซึ่งมีสคริปต์การกำหนดค่าเฉพาะสำหรับบางเกม

นอกจากนี้ยังมีโปรแกรมที่ต้องพึ่งพาคอมponent หรือเฟรมเวิร์ก .NET ที่เฉพาะเจาะจงมากเช่น Mono การติดตั้ง Mono และ .NET runtime ที่เหมาะสมอาจมีความสำคัญอย่างยิ่งสำหรับบางแอปพลิเคชันในการเริ่มต้นทำงาน Bottles และ Winetricks ช่วยแก้ไขปัญหาการพึ่งพาเหล่านี้ในลักษณะที่มีคำแนะนำมากบ้างน้อยบ้าง

บางครั้ง Wine เองก็อาจหยุดทำงานอย่างที่ควรจะเป็นหลังจากมีการเปลี่ยนแปลง ติดตั้ง และทดสอบหลายครั้ง วิธีแก้ปัญหาที่อาจดูรุนแรงแต่ได้ผลก็คือ... ลบหรือเปลี่ยนชื่อโฟลเดอร์ .wine ในไดเร็กทอรีบ้านของคุณ (หรือ wineprefix เฉพาะที่คุณใช้) เพื่อให้เมื่อคุณเรียกใช้งานอีกครั้ง winecfg การตั้งค่าทั้งหมดจะถูกสร้างขึ้นใหม่ตั้งแต่เริ่มต้น

หากคุณไม่ต้องการลบอะไรเลย คุณสามารถสร้างคำนำหน้าใหม่ได้เสมอโดยใช้คำสั่งเช่นนี้ WINEPREFIX=$HOME/.foobar winecfgวิธีนี้จะสร้างสภาพแวดล้อมคู่ขนานที่สะอาด จากนั้นคุณสามารถทดสอบแอปพลิเคชันของคุณในบริบทใหม่นี้ได้โดยไม่ต้องแตะต้องบริบทเดิม ในกรณีที่ไม่รุนแรงมากนัก ก็สามารถล้างการกำหนดค่า DLL ได้เช่นกัน winetricks alldlls=default เพื่อกลับสู่พฤติกรรมปกติ

สุดท้ายนี้ โปรดจำไว้ว่าฮาร์ดแวร์ที่มีไดรเวอร์เฉพาะ (เช่น การ์ด NVIDIA บางรุ่น) และระบบ DRM ที่เข้มงวด (Denuvo, ซอฟต์แวร์ป้องกันการโกง ฯลฯ) อาจทำให้เกิดปัญหามากมาย หรือแม้กระทั่งทำให้เกมเล่นไม่ได้เลย ในบางกรณี คุณอาจถูกแบนได้หากระบบป้องกันการโกงตรวจพบว่าสภาพแวดล้อม Wine นั้นน่าสงสัย

ความปลอดภัยเมื่อเรียกใช้ไฟล์ .exe ของ Windows บนระบบ Linux

ข้อดีที่สำคัญที่สุดอย่างหนึ่งของ Linux คือระบบรักษาความปลอดภัยที่เหนือกว่าในการป้องกันมัลแวร์ของ Windowsเนื่องจากไฟล์ปฏิบัติการของ Windows ไม่สามารถทำงานบน Linux ได้โดยตรง แต่เมื่อคุณเพิ่มเลเยอร์อย่าง Wine (หรือตัวจัดการแพ็กเกจอย่าง Bottles) เข้าไป คุณก็เปิดโอกาสให้ซอฟต์แวร์เหล่านั้นทำงานได้

ไฟล์ที่เป็นอันตรายซึ่งมุ่งเป้าไปที่ Windows อาจส่งผลกระทบต่อระบบ Linux ของคุณได้หากคุณเรียกใช้ผ่าน Wine โดยเฉพาะอย่างยิ่งหากสภาพแวดล้อมนั้นมีสิทธิ์เข้าถึงระบบไฟล์อย่างกว้างขวาง ดังนั้นจึงควรระมัดระวังเป็นอย่างยิ่ง: อย่าเรียกใช้ไฟล์ .exe จากแหล่งที่น่าสงสัย กำหนดค่า bottle ด้วยสิทธิ์การเข้าถึงขั้นต่ำที่จำเป็น และใช้เครื่องมือจัดการสิทธิ์ (เช่น Flatseal) เพื่อจำกัดสิ่งที่แต่ละแอปพลิเคชันสามารถมองเห็นและแก้ไขได้

ในกรณีของไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต ระบบมักจะป้องกันไม่ให้คุณเรียกใช้ไฟล์เหล่านั้นเนื่องจากสิทธิ์ไม่เพียงพอ วิธีแก้ไขปัญหานี้คือ ไปที่คุณสมบัติของไฟล์ เปิดแท็บสิทธิ์ และเลือกช่องทำเครื่องหมายสำหรับสิทธิ์ที่จำเป็น “อนุญาตให้ไฟล์นั้นถูกเรียกใช้งานในฐานะโปรแกรม”หากคุณต้องการใช้เทอร์มินัล คุณสามารถเปลี่ยนสิทธิ์การเข้าถึงได้โดยใช้คำสั่งต่อไปนี้ chmodกำลัง chmod 777 archivo.exe เป็นรูปแบบที่ผ่อนปรนมากที่สุด (แม้ว่าจะไม่ใช่รูปแบบที่แนะนำมากที่สุดในแง่ของความปลอดภัยก็ตาม)

ถอนการติดตั้ง Wine และลบไฟล์ที่เหลืออยู่ทั้งหมด (หากคุณเลิกใช้งาน)

เป็นไปได้ว่าหลังจากทดลองใช้ Wine และ Bottles ไปสักระยะ คุณอาจตัดสินใจว่าไม่ต้องการเลเยอร์นั้นบนระบบของคุณอีกต่อไป หรือคุณอาจต้องการใช้เพียงเครื่องเสมือน (virtual machine) เท่านั้น ในกรณีเช่นนั้น การรู้วิธีถอนการติดตั้ง Wine อย่างเป็นระเบียบและเพิ่มพื้นที่ว่างจึงเป็นประโยชน์

ในระบบที่มีแพ็กเกจ winehq คำสั่งทั่วไปในการถอนการติดตั้งเวอร์ชันเสถียรอย่างสมบูรณ์คือ:

sudo apt-get remove --purge winehq-stable

ขั้นตอนต่อไป คุณควรลบโฟลเดอร์การตั้งค่าและแคชในไดเร็กทอรีโฮมของคุณด้วยตนเอง ได้แก่ โฟลเดอร์~/.wine ที่เป็นที่รู้จักกันดี รายการเมนูที่เกี่ยวข้องใน~/.config/menus/applications-merged/ทางลัดใน~/.local/share/applications/wine/รายการเดสก์ท็อปใน~/.local/share/desktop-directories/และไอคอนที่เหลืออยู่ใน~/.local/share/icons/ คุณสามารถตรวจสอบรายการทั้งหมดและลบอย่างระมัดระวัง โดยตรวจสอบให้แน่ใจว่าได้แสดงไฟล์ที่ซ่อนอยู่แล้ว

เมื่อกำจัดเศษซากเหล่านั้นออกไปแล้ว คำสั่งต่างๆ ก็จะตามมา sudo apt update, sudo apt autoclean, sudo apt clean y sudo apt autoremove ขั้นตอนสุดท้ายคือการล้างข้อมูลส่วนประกอบที่เหลืออยู่ทั้งหมด และหากคุณไม่ต้องการใช้งาน WineHQ อีกต่อไป คุณสามารถลบออกจากรายการแหล่งซอฟต์แวร์ที่คุณตั้งค่าไว้ได้

ในกรณีของบอทเทิลส์ แค่เพียง... ก็เพียงพอแล้ว ถอนการติดตั้ง Flatpak จาก GNOME Software หรือใช้ flatpak uninstallจากนั้นให้ลบโฟลเดอร์การกำหนดค่าที่เหลืออยู่ใน ~./var, ~/.config เป็นต้น ตามที่ระบุไว้ในเอกสารของ Flatpak

โปรแกรมและเกมใดที่มักได้ผลดีที่สุด

เป้าหมายของ Wine (และ Bottles ด้วย) คือการทำให้ซอฟต์แวร์ Windows ส่วนใหญ่สามารถทำงานบน Linux ได้แต่ในความเป็นจริง ความเข้ากันได้นั้นแตกต่างกันอย่างมาก ในฐานข้อมูล WineHQ แอปพลิเคชันต่างๆ จะถูกจัดหมวดหมู่ตามฟังก์ชันการทำงานจริง

หมวด หมู่ แพลทินัมประกอบด้วยแอปพลิเคชันและเกมที่ทำงานได้อย่างราบรื่นแทบไม่มีข้อผิดพลาด โดยไม่ต้องปรับแต่งใดๆ ตัวอย่างทั่วไป ได้แก่ World of Warcraft เวอร์ชันเฉพาะ, Fallout 3, Adobe Animate CS6, .NET Framework 3.5, Diablo III และ Microsoft Word 2010 เวอร์ชัน 32 บิต

หมวด หมู่ สีทองประกอบด้วยซอฟต์แวร์ที่ต้องการการตั้งค่าเพียงเล็กน้อย แต่หลังจากนั้นจะทำงานได้อย่างราบรื่นมาก เช่นAdobe Photoshop CS6 , StarCraft 1.16.1, The Witcher 1.x, เกม The Sims 3 ทุกภาค หรือ Final Fantasy XIV ในบางภาคเสริม เป็นต้น

แพ็ก เกจ Silver ประกอบด้วยโปรแกรมที่อาจมีข้อผิดพลาดเล็กน้อย แต่ยังคงใช้งานได้ เช่น โปรแกรมติดตั้ง Microsoft Office 2019, เกม StarCraft บางเวอร์ชัน, Final Fantasy XI, Magic: The Gathering Online, Half-Life 2 หรือ Planescape: Torment

เนื่องจากเป็นโครงการของชุมชน ลำดับความสำคัญในการพัฒนาจึงมักถูกกำหนดโดยการโหวตและคำขอของผู้ใช้ยิ่งเกมหรือแอปพลิเคชันได้รับความสนใจมากเท่าไร ก็ยิ่งได้รับการดูแลเอาใจใส่ในแง่ของการแก้ไขข้อบกพร่องและการปรับปรุงมากขึ้นเท่านั้น สำหรับซอฟต์แวร์ที่ไม่ค่อยมีคนรู้จัก บางครั้งทางเลือกเดียวคือการลองเสี่ยงโชคและพยายามติดตั้งบน Wine bottle เฉพาะรุ่น โดยทดลองใช้ Wine เวอร์ชันและไลบรารีต่างๆ จนกว่าจะพบเวอร์ชันที่เหมาะสม

การเล่นเกมบน Linux: Proton, PlayOnLinux, DOSBox และการจำลองเสมือน

เมื่อพูดถึงการเล่นเกม Windows บน Linux โดยเฉพาะ Bottles ก็เป็นเพียงส่วนประกอบหนึ่งเท่านั้น ในปัจจุบัน การผสมผสานที่ทรงพลังที่สุดมักจะเป็น Steam + Proton โดยที่ Proton เป็นเลเยอร์ที่ใช้ Wine ซึ่งได้รับการปรับแต่งมาอย่างดีสำหรับการเล่นเกม และจัดการงานหนักทั้งหมดโดยที่คุณไม่ต้องทำอะไรเลย

ด้วยเทคโนโลยี Proton และ SteamOS (เช่นเดียวกับที่ใช้ใน Steam Deck ซึ่งใช้ Arch Linux เป็นพื้นฐาน) เกม Steam ส่วนใหญ่จึงสามารถเล่นบน Linux ได้อย่างราบรื่นเกือบเหมือนเล่นบนเครื่อง Linux ทั่วไป รวมถึงการรองรับการ์ดจอ NVIDIA และ AMD ด้วย จำนวนเกมที่ได้รับการตรวจสอบและเล่นได้บน Linux เพิ่มขึ้นทุกเดือน และบ่อยครั้งสิ่งที่คุณต้องทำก็คือเปิดใช้งานตัวเลือก "อนุญาต Proton สำหรับทุกเกม" เพียงเท่านี้ก็พร้อมใช้งานแล้ว

หากเกมนั้นไม่มีใน Steam หรือไม่มีการรองรับ Proton ที่ดีพอ ทางเลือกอื่นคือการใช้PlayOnLinuxซึ่งมีสคริปต์และโปรไฟล์การกำหนดค่าเฉพาะสำหรับเกมหลายเกม แต่ละเกมจะทำงานในสภาพแวดล้อมอิสระที่มีไลบรารีและการตั้งค่าของตัวเอง ซึ่งค่อนข้างคล้ายกับแนวคิดของ Bottles แต่เน้นไปที่เกมโดยเฉพาะและมีอินเทอร์เฟซที่แตกต่างออกไปเล็กน้อย

สำหรับเกมเก่าๆ ในยุค MS-DOS วิธีที่ง่ายที่สุดมักจะเป็นการใช้DOSBoxซึ่งจำลองสภาพแวดล้อม DOS แบบคลาสสิก ทำให้เกมทำงานได้ราวกับว่าเล่นอยู่บนพีซีในยุคนั้น หากคุณต้องการสภาพแวดล้อม Windows ที่สมบูรณ์ (พร้อมไดรเวอร์ คุณสมบัติขั้นสูง และความเข้ากันได้เต็มรูปแบบ) วิธีที่ดีที่สุดคือการใช้เครื่องเสมือนด้วย VirtualBox, VMware หรือซอฟต์แวร์ที่คล้ายกันแม้ว่าจะต้องใช้ทรัพยากรมากขึ้นและต้องมีใบอนุญาต Windows ที่ถูกต้องก็ตาม

โดยสรุปแล้ว Bottles เหมาะอย่างยิ่งสำหรับใช้เป็นเครื่องมือจัดการแอปพลิเคชัน และเกมบางเกมที่ทำงานได้ดีกว่าเมื่อใช้ Wine ที่ตั้งค่าอย่างระมัดระวัง ในขณะที่สำหรับเกมขนาดใหญ่ส่วนใหญ่ การใช้ Proton, Lutris, Heroic หรือแพลตฟอร์มเฉพาะอื่นๆ ยังคงใช้งานได้จริงมากกว่า

ด้วยการผสานรวมกลไกความเข้ากันได้ของ Wine เข้ากับอินเทอร์เฟซที่ใช้งานง่ายอย่าง Bottles การควบคุมสิทธิ์ที่ดีด้วย Flatpak และ Flatseal และการรู้ว่าเมื่อใดควรใช้เทคโนโลยีอย่าง Proton หรือการจำลองเสมือนแบบเต็มรูปแบบ จึงเป็นไปได้ที่จะตั้งค่าสภาพแวดล้อมบน Linux ที่คุณสามารถเรียกใช้โปรแกรมและเกม Windows ส่วนใหญ่ได้ด้วยประสิทธิภาพที่ดีมาก และที่สำคัญที่สุดคือ มีความยุ่งยากน้อยกว่าเมื่อไม่กี่ปีที่ผ่านมาอย่างมาก

Windows และโอเพ่นซอร์ส
บทความที่เกี่ยวข้อง:
7 แอปพลิเคชันโอเพนซอร์สสำหรับ Windows ที่คุณไม่ควรพลาด

เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google