ด้วยรูปแบบต่างๆ คำถามเกี่ยวกับวิธีการเรียกใช้ exe ใน Linux เป็นหนึ่งในคำถามที่พบบ่อยที่สุด ในฟอรัม โซเชียลเน็ตเวิร์ก และความคิดเห็นบนบล็อก อันที่จริง มันเป็นหนึ่งในการค้นหาครั้งแรกของฉันเมื่อฉันเริ่มสนใจ Linux
คำถามนี้ไม่มีคำตอบสั้น ๆ ตั้งแต่ ไม่มีวิธีเดียวในการรันโปรแกรม windows บน linux. และผลลัพธ์สุดท้ายจะขึ้นอยู่กับโปรแกรม
โปรแกรมคอมพิวเตอร์ทำงานอย่างไร
เพื่อทำความเข้าใจปัญหาของการเรียกใช้ exe บน Linux เราต้องรู้ว่าโปรแกรมคอมพิวเตอร์ทำงานอย่างไร. ในการทำเช่นนั้น ขอผมใช้การเปรียบเทียบ
พวกเราส่วนใหญ่ได้เรียนรู้ทักษะพื้นฐานในการทำงานที่บ้าน โรงเรียน หรือวิทยาลัย ในขณะที่ไปทำงาน เรารู้วิธีอ่าน เขียน ดำเนินการทางคณิตศาสตร์ขั้นพื้นฐาน และความรู้ทั่วไปในอาชีพที่เราฝึกฝน สมมุติว่าโรงเรียนและมหาวิทยาลัยถูกกำจัด และครัวเรือนถูกจำกัดให้จัดหาสิ่งจำเป็นพื้นฐานให้เด็กๆ เท่านั้น แต่ละบริษัทต้องรับหน้าที่การศึกษา
ผลลัพธ์แรกคือการเพิ่มขึ้นของค่าแรงเนื่องจากพนักงานแต่ละคนใช้เวลานานกว่าจะได้ผล ในทางกลับกัน, มีแนวโน้มว่าแต่ละบริษัทหรือภาคส่วนจะพัฒนาภาษาของตนเองขึ้น และทำไมไม่? คณิตศาสตร์ของคุณเอง เมื่อเราต้องการเปลี่ยนงาน กระบวนการศึกษาควรทำซ้ำ และเช่นเดียวกันสำหรับกิจกรรมที่เหลือของเรา
สิ่งเดียวกันนี้เกิดขึ้นกับโปรแกรมคอมพิวเตอร์ ใช้เวลาในการพัฒนานานและมีค่าใช้จ่ายสูงซึ่งหมายความว่าการออมใด ๆ ที่สามารถทำได้ (ทั้งในเวลาและเงิน) มีความสำคัญ เงินออมเหล่านี้บรรลุผลได้อย่างไร?
ออกจากไลบรารีและระบบปฏิบัติการเพื่อดูแลงานประจำทั่วไป
แม้ว่าเว็บเบราว์เซอร์และโปรแกรมประมวลผลคำจะมีวัตถุประสงค์ที่แตกต่างกัน แต่ก็ยังต้องแสดงเมนูบนหน้าจอ ตอบสนองต่อการเคลื่อนไหวของเมาส์ หรือส่งเอกสารไปยังเครื่องพิมพ์ หากแต่ละโปรแกรมต้องใช้ฟังก์ชันเหล่านั้นในโค้ดของตนเอง น้ำหนักของแต่ละโปรแกรมจะมากขึ้น และเวลาในการพัฒนา ค่าใช้จ่าย และความเป็นไปได้ของข้อผิดพลาดจะเพิ่มขึ้น นั่นคือเหตุผลที่ฉันกล่าวไว้ก่อนหน้านี้ว่ามีการใช้ไลบรารีและระบบปฏิบัติการ
ไลบรารีคือโปรแกรมที่ทำหน้าที่เฉพาะตามคำขอของโปรแกรมอื่น. มีการติดตั้งเมื่อบางโปรแกรมต้องการและพร้อมที่จะใช้งานโดยผู้ที่ต้องการในอนาคต ระบบปฏิบัติการมีหน้าที่รับผิดชอบในการโต้ตอบระหว่างคอมพิวเตอร์และผู้ใช้ และรวมถึงไลบรารีทั้งหมดเหล่านั้นเพื่อการทำงานที่เหมาะสมของฮาร์ดแวร์
วิธีเรียกใช้ exe บน Linux
รูปแบบ .exe
ไฟล์ปฏิบัติการประกอบด้วยลำดับของคำสั่งรหัสที่คอมพิวเตอร์ดำเนินการโดยตรง เมื่อคลิกไอคอนไฟล์ ใน Windows มีไฟล์ปฏิบัติการหลายประเภท แต่ส่วนใหญ่มีนามสกุล .exe
ไฟล์ปฏิบัติการประกอบด้วยรหัสเครื่องไบนารีที่ได้รับจากการคอมไพล์ซอร์สโค้ด รหัสนี้ใช้เพื่อบอกหน่วยประมวลผลกลางของคอมพิวเตอร์ถึงวิธีการรันโปรแกรม
ปัญหาพื้นฐานที่ต้องแก้ไขเมื่อเรียกใช้ไฟล์ exe บน Linux คือ แต่ละระบบปฏิบัติการมีวิธีการสื่อสารกับไลบรารีและโปรแกรมที่ติดตั้งไว้ แม้ว่าฉันจะเขียนเป็นภาษาสเปนของอาร์เจนตินา แต่คุณเข้าใจฉันได้ แต่คนจีนควรใช้ตัวแปลภาษาของ Google
โปรแกรมใดๆ ที่เริ่มต้นจะตรวจสอบการมีอยู่ของไลบรารีที่จำเป็นต้องเรียกใช้ หากอยู่ในระบบปฏิบัติการที่ถูกต้อง แต่ไลบรารี่หายไป ไลบรารีจะถามเมื่อถึงเวลาติดตั้งหรือบอกให้คุณดำเนินการด้วยตนเอง แต่ในระบบปฏิบัติการที่ไม่ถูกต้อง จะไม่สามารถติดตั้งได้
มีสามวิธีแก้ไขปัญหานี้:
- อย่าทำมัน
- การจำลองเสมือน
- เลเยอร์ความเข้ากันได้
อย่าทำ
ฉันไม่ได้พยายามที่จะตลก หากคุณต้องการโปรแกรม Windows สำหรับความต้องการที่สำคัญซึ่งต้องการความเข้ากันได้ 100% คุณควรติดตั้งโปรแกรมนั้นบน Windows ลีนุกซ์ส่วนใหญ่ได้รับการตั้งค่าให้ทำงานกับสิ่งที่เรียกว่าการบูทคู่ นั่นคือเมื่อเริ่มต้นคอมพิวเตอร์ คุณสามารถเลือกระบบปฏิบัติการที่จะเริ่มต้นได้ แม้แต่ขั้นตอนการติดตั้งก็ยังเป็นไปโดยอัตโนมัติในลักษณะที่ทำให้ผู้ใช้มือใหม่ทำได้ง่าย
ประเด็นเดียวที่ต้องจำไว้คือ คุณต้องติดตั้ง Windows ก่อนเสมอพร้อมกับอัปเดตทั้งหมดที่มี จากนั้นคุณออกจากระบบอย่างถูกต้องและดำเนินการติดตั้ง Linux ต่อ ถ้าคุณไม่อัปเกรด โปรแกรมติดตั้ง Linux จะตรวจไม่พบ Windows และจะไม่สามารถตั้งค่าการบูตที่ใช้ร่วมกันได้ หากคุณติดตั้ง Linux ก่อน Windows จะลบ bootloader และคุณจะต้องติดตั้งใหม่
Virtualization
Virtualization เป็นขั้นตอนการจำลองฮาร์ดแวร์โดยใช้ซอฟต์แวร์ ซึ่งหมายความว่าระบบปฏิบัติการและโปรแกรมที่ติดตั้งเชื่อว่าอยู่ในคอมพิวเตอร์จริง ฮาร์ดแวร์จำลองนี้ (Virtual Machine) ใช้ทรัพยากรส่วนหนึ่งของฮาร์ดแวร์จริง
เกี่ยวกับการติดตั้ง Windows ในเครื่องเสมือนและโปรแกรมที่เราต้องการ. ข้อเสียเพียงอย่างเดียวของสิ่งนี้คือ เราจะไม่ใช้ประโยชน์จากทรัพยากรฮาร์ดแวร์ทั้งหมด และการดำเนินการอาจช้าลง แม้ว่าในคอมพิวเตอร์ที่ทรงพลังกว่า แต่ก็ไม่น่าจะมีปัญหา
โซลูชันการจำลองเสมือนสำหรับ Linux
- VirtualBox: เป็นที่รู้จักกันดี ของผู้จัดการเครื่องเสมือน มันมาพร้อมกับการตั้งค่าที่กำหนดไว้ล่วงหน้าแล้ว เพื่อให้ Windows ทุกรุ่นทำงานได้และตัวช่วยสร้างทำให้ง่ายต่อการสร้างเครื่องเสมือน คุณสามารถแลกเปลี่ยนไฟล์กับโฮสต์คอมพิวเตอร์และอุปกรณ์ภายนอกได้
- เควีเอ็ม: เป็นเครื่องมือเวอร์ชวลไลเซชันที่รวมเข้ากับเคอร์เนล Linux และสร้างโดยนักพัฒนาของตัวเอง สิ่งนี้ช่วยเพิ่มความปลอดภัยและการผสานรวมกับระบบโฮสต์ได้ดียิ่งขึ้น โดยทั่วไปจะใช้กับตัวจัดการเครื่องเสมือนที่เรียกว่า QEMU ทั้งสองอยู่ในที่เก็บ
- กล่อง GNOME: เป็นอินเทอร์เฟซแบบกราฟิกสำหรับเทคโนโลยีเวอร์ชวลไลเซชันแบบโอเพนซอร์สที่แตกต่างกัน เป็นทางเลือกที่ดีสำหรับ VirtualBox ที่ผู้ใช้มือใหม่ที่ใช้การแจกจ่ายบนเดสก์ท็อป GNOME สามารถพิจารณาได้ มันมาพร้อมกับการติดตั้งล่วงหน้าหรืออยู่ในที่เก็บของการแจกแจงแบบอิง GNOME ส่วนใหญ่
ชั้นความเข้ากันได้
โดยใช้เลเยอร์ความเข้ากันได้ คุณสามารถใช้ซอฟต์แวร์ที่ออกแบบมาสำหรับระบบปฏิบัติการอื่นได้ ทำได้โดยการแปลข้อกำหนดของโปรแกรมเป็นคำสั่งที่ระบบปฏิบัติการโฮสต์สามารถให้บริการได้
ไวน์
ไวน์ เป็นเลเยอร์ความเข้ากันได้ที่สร้างโซลูชันการติดตั้งแอปพลิเคชัน Windows ทั้งหมดบน Linux ชื่อของมันไม่เกี่ยวอะไรกับไวน์ แต่เป็นคำย่อแบบเรียกซ้ำสำหรับไวน์ไม่ใช่โปรแกรมจำลอง พบในที่เก็บของลีนุกซ์รุ่นหลัก
CrossOver Linux
Es ผลิตภัณฑ์ เชิงพาณิชย์ ตามไวน์พร้อมปลั๊กอินของตัวเอง. แทนที่จะเผยแพร่ไวน์รายปักษ์ มุ่งเน้นที่การบรรลุความเข้ากันได้ที่ดีขึ้น
PlayOnLinux
ในกรณีนี้ก็คือ โปรแกรม นี้ ประกอบด้วยส่วนต่อประสานกราฟิกและชุดสคริปต์ที่อำนวยความสะดวกในการกำหนดค่าไวน์และการติดตั้งโปรแกรม ของ Windows บน Linux PlayOnLinux สามารถพบได้ในที่เก็บของลีนุกซ์รุ่นหลัก
ขวด
ขวด เป็นแอปพลิเคชั่นที่มีอินเทอร์เฟซแบบกราฟิกทำให้ง่ายต่อการติดตั้ง Wine และไฟล์อื่น ๆ ที่จำเป็นสำหรับแอปพลิเคชัน Windows เพื่อทำงานบน Linux. ช่วยให้สามารถจัดการ "คำนำหน้าไวน์" ได้หลายแบบ คำนำหน้าไวน์คือไดเร็กทอรีที่สะท้อนลำดับชั้นของระบบไฟล์ Windows ประกอบด้วยไดรฟ์ "C" ซึ่งสามารถติดตั้งซอฟต์แวร์สำหรับ Windows ได้ นอกจากนี้ยังมีไฟล์อื่นๆ ที่จำเป็นสำหรับแอปพลิเคชันที่ใช้ Windows เพื่อทำงานบน Linux
ช่วยให้เราสามารถสร้างคำนำหน้าไวน์ได้มากเท่าที่เราต้องการและติดตั้งแอปพลิเคชันที่เข้ากันได้กับ Windows. ตัวอย่างเช่น เราสามารถมีคำนำหน้าสำหรับเกมและส่วนอื่นๆ สำหรับยูทิลิตี้
สามารถติดตั้งขวดได้จากร้านค้า แฟลตแพ็ก.