มาเปลี่ยน Linux ให้เป็น Windows กันเถอะ
(philipbohun.com)> "เราต้องทำให้ลินุกซ์ดิสทริบิวชันกลายเป็นเหมือน Windows"
- บทความนี้เสนอให้สร้าง ลินุกซ์ดิสทริบิวชันที่สามารถรันไฟล์ปฏิบัติการของ Windows ได้ผ่าน Wine เป็นค่าเริ่มต้น เพื่อแก้ปัญหาด้านการพกพาและวิธีการแจกจ่ายซอฟต์แวร์ของ Linux แบบเดิม
- ด้วยแนวทางนี้ ผู้ใช้ Windows จะสามารถย้ายมาใช้ Linux ได้อย่างง่ายดายแทบไม่ต้องฝึกใหม่ และยังช่วยแก้ปัญหาความเข้ากันได้ที่เรื้อรังของ Linux ไปพร้อมกัน
ความไม่เสถียรของสภาพแวดล้อม Linux
- บน Windows ไฟล์
.exeที่มีอายุ 20 ปียังรันได้ แต่บน Linux ไบนารีที่สร้างไว้เมื่อปีที่แล้วก็อาจรันไม่ได้แล้ว - สาเหตุคือความต่างของเวอร์ชันไลบรารีและการอัปเดตใน Linux ทำให้ไฟล์ปฏิบัติการเดียวกันไม่สามารถทำงานได้บนดิสทริบิวชันที่หลากหลาย
- system call ของ Linux มีความเสถียร แต่ C library (
libc) ที่อยู่ชั้นบนกลับไม่เสถียร และพื้นที่ผู้ใช้ส่วนใหญ่ก็พึ่งพาสิ่งนี้
ปัญหาการแจกจ่ายไบนารีบน Linux
- บน Linux มีวิธีหลักในการแจกจ่ายไฟล์ปฏิบัติการอยู่ มากถึง 4 แบบ และแต่ละแบบก็มีปัญหาของตัวเอง
- ไบนารีดิบ: ใช้งานไม่ได้ในสภาพแวดล้อมส่วนใหญ่
- AppImage: รวม dependency ทั้งหมดไว้ แต่ก็ยังไม่แน่ชัดว่าจะเก็บรักษาให้รันได้สมบูรณ์ในระยะยาวหรือไม่
- Flatpak: ให้ sandbox แยกสำหรับแต่ละแอป
- Snap: ตัวจัดการแพ็กเกจแบบ sandbox อีกแบบหนึ่ง
- ทั้งหมดนี้มีวิธีติดตั้ง อัปเดต และลบที่แตกต่างกัน และยังสามารถอยู่ร่วมกันได้พร้อมกัน
- ส่วนใหญ่ไม่เหมาะกับการเก็บรักษาแอปในระยะยาวและการนำกลับมารันซ้ำ โดย โอกาสที่จะยังรันได้ในอีก 20 ปีแทบไม่มี
ทำไม Win32 จึงเป็นคำตอบ
Win32 APIของ Windows ถูกมองว่าเป็น ABI (Application Binary Interface) ที่เสถียรเพียงหนึ่งเดียวบน Linux- Windows รักษาเสถียรภาพของ API ไว้ได้ด้วยการเรียกผ่าน dynamic library แทนการเรียก system call โดยตรง
- ด้วยโครงสร้างนี้ Microsoft จึงสามารถเปลี่ยนแปลงเคอร์เนลภายในได้โดยที่ผู้ใช้ยังคงเห็นอินเทอร์เฟซแบบเดิม
- ในทางกลับกัน Linux เรียก system call โดยตรง และไลบรารีก็ไม่เสถียร ทำให้ปัญหาความเข้ากันได้ยังคงอยู่
- Wine นำโครงสร้างแบบ Win32 นี้มาใช้งาน ทำให้สามารถรันแอปได้แม้กระทั่งจากยุค Windows 95 ในทศวรรษ 1990
- โดยเฉพาะเมื่อใช้เฉพาะแอปที่พัฒนาบนพื้นฐาน Win32 ความต่างด้านความเข้ากันได้ระหว่าง Wine กับ Windows ก็แทบไม่มี
แนวคิดลินุกซ์ดิสทริบิวชันแบบใหม่
- มีข้อเสนอให้สร้างลินุกซ์ดิสทริบิวชันที่มีเดสก์ท็อปสภาพแวดล้อมคล้าย Windows
- ดิสทริบิวชันนี้จะติดตั้ง Wine มาเป็นค่าเริ่มต้น และเพิ่ม kernel patch ขนาดเล็กเพื่อให้ตรวจจับและรันไฟล์ปฏิบัติการของ Windows ได้อัตโนมัติ
- ตั้งค่า Wine environment (prefix) แยกตามผู้ใช้ พร้อมระบบไฟล์และ GUI ในสไตล์ Windows
- สภาพแวดล้อม Linux เดิมยังคงอยู่เบื้องหลัง และผู้ใช้ขั้นสูงยังสามารถเข้าถึงได้
การรองรับหลายแพลตฟอร์มอย่างแท้จริง
- Wine ไม่ได้รันได้แค่บน Linux แต่ยังรวมถึง FreeBSD, macOS, Android และ OS อื่น ๆ
- หากแจกจ่ายทุกแอปเป็นแอป Win32 เพียงรูปแบบเดียว ก็จะสามารถรันได้บนหลายแพลตฟอร์มโดยไม่ต้องพอร์ตแยก
- เป็นโครงสร้างที่ทำให้แอปเดียวรองรับระบบปฏิบัติการหลายแบบได้
ภัยคุกคามในอนาคต
- macOS และ Windows กำลังพัฒนาไปในทิศทางที่ปิดมากขึ้นเรื่อย ๆ และกำลังพรากการควบคุมออกจากมือผู้ใช้
- Windows กำลังเพิ่มฟีเจอร์แคปหน้าจออัตโนมัติและการวิเคราะห์ด้วย AI
- macOS จำกัดให้รันได้เฉพาะแอปที่ได้รับอนุมัติผ่าน Gatekeeper
- ทั้งสอง OS กำลังเฝ้าติดตามกิจกรรมของผู้ใช้ และถึงขั้นเตรียมฟังก์ชันค้นหาไฟล์ผิดกฎหมายและรายงานได้ด้วย
- Microsoft กำลังทำให้การใช้ Windows โดยไม่มีบัญชีออนไลน์ยากขึ้นเรื่อย ๆ
- ด้วยเหตุนี้ หากบัญชีถูกระงับ ก็อาจเกิดสถานการณ์ที่ไม่สามารถใช้คอมพิวเตอร์ได้เลย
> กระแสเหล่านี้ถูกตีความว่าไม่ได้เกิดจากเจตนาร้ายโดยตรง แต่เป็นปัญหาที่เกิดจากแรงกดดันทางเศรษฐกิจและการเมือง
เหตุผลที่ต้องห่อหุ้ม Linux ให้เป็น Windows
- ลินุกซ์ดิสทริบิวชันรูปแบบใหม่นี้ช่วยแก้ปัญหาด้านการพกพา และมอบสภาพแวดล้อมการย้ายระบบที่คุ้นเคยสำหรับผู้ใช้ Windows
- ในช่วงเวลาที่การอัปเกรดไป Windows 11 กำลังถูกบังคับ ก็สามารถนำเสนอทางเลือกที่ย้ายมาใช้ได้ง่าย
- ผู้เขียนมองว่านี่คือจังหวะเหมาะสมในการออกแบบลินุกซ์ดิสทริบิวชันที่ช่วยทวงคืนอธิปไตยของผู้ใช้
10 ความคิดเห็น
ระบบนิเวศที่อยู่ยืนยงมา 20 ปีนั้นชวนให้พยักหน้าเห็นด้วย แต่ทำไมปลายทางถึงเป็น wine ล่ะ..
ดูเหมือนว่าจะใช้ Mac OS ต่อไปไม่ไหวแล้ว
ไม่ได้อยากมองแบบวิจารณ์หรอกนะ แต่ในฐานะคนที่เคยใช้หลายระบบปฏิบัติการแล้ว รู้สึกไม่ค่อยเห็นด้วยเท่าไร ตอนนี้เครื่องมือ GUI ทั่วไปส่วนใหญ่ก็ทำผ่านเว็บได้ และถ้าต้องการเดสก์ท็อปดี ๆ ก็คงไปใช้บน Windows ที่ UI สวยงามจะดีกว่า แถมการรองรับไดรเวอร์ก็ยังดีกว่า Linux มากด้วย
มันควรจะเป็น Steam สิ...
https://www.codeweavers.com/crossover
Tmax Window... Lindows/Linspire... ReactOS... อึก ปวดหัว...
ดูเหมือนว่า Valve Proton จะทำเรื่องใหญ่ได้จริง ๆ นะ
เป็นข้อเสนอที่แปลกใหม่ดีนะ
แค่ปรับแต่งให้รันเกม / ซอฟต์แวร์ระดับท็อปได้ดี ๆ น่าจะดีกว่าไม่ใช่เหรอ
...ถ้าคิดแบบนั้นก็คงไม่ได้นะครับ 555
หวังว่ายุคที่เล่นเกมได้โดยไม่ต้องมีพีซี Windows 11 ขึ้นไปจะมาถึงสักทีนะ T_T
ความเห็นจาก Hacker News
มีความเห็นว่าควรสร้างดิสโทร Linux ที่ใช้ Wine เพื่อรันไบนารีของ Windows ได้เป็นค่าเริ่มต้น
sudo apt install wine-binfmtบน Windows ไฟล์ exe ที่มีอายุ 20 ปีก็ยังรันได้อยู่ แต่บน Linux แม้แต่ไบนารีที่มีอายุ 1 ปีก็อาจรันไม่ได้เพราะการอัปเดต
ไม่คิดว่าจำเป็นต้องมีดิสโทรใหม่
Zorin OS รองรับ Wine สำหรับไฟล์ .exe แทบจะเป็นค่าเริ่มต้นอยู่แล้ว และ Steam OS/Proton ก็มีแนวทางอย่างเป็นทางการว่าไม่ต้องทำ Linux port สำหรับเกมใหม่ แต่ให้ปรับแต่งให้เหมาะกับ Proton แทน
โดยทั่วไปดิสโทร Linux จะลิงก์ไฟล์ปฏิบัติการแบบไดนามิกและไม่เก็บไลบรารีเวอร์ชันเก่าไว้
system call ของ Linux มีความเสถียรมาก แต่ C library ที่อยู่เหนือขึ้นไปไม่เป็นเช่นนั้น
ฟังดูเหมือนคนที่ต้องการ Lindows/Linspire
ถ้า Windows ABI เสถียรมากจริง ทำไมถึงมีคอมพิวเตอร์ที่ใช้ Win95 หรือ NT ซึ่งไม่มีใครกล้าแตะเพราะกลัวว่าซอฟต์แวร์บางตัวจะหยุดทำงาน
ไม่จำเป็นต้องแพตช์เคอร์เนลเพื่อรันไฟล์ exe เพราะ
binfmt_miscจัดการเรื่องนี้ได้wine-binfmtจะรันไฟล์ PE ผ่าน Wine โดยอัตโนมัติ