ฉันคิดว่า WSL นั้นยอดเยี่ยม แต่เครื่องมือฟรีนี้ดีกว่าสำหรับการรันแอพ Linux บน Windows

/th/images/linux-apps-windows-x410.jpg

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

ป้อน X410 ย่อมาจาก “X SERVER 4 W 1 ND 0 WS” (ใช่ มันแปลก) ซึ่งเป็นเครื่องมือที่ออกแบบมาเพื่อเรียกใช้แอพ Linux บนเดสก์ท็อป Windows เหมือนกับว่าเป็นส่วนหนึ่งของ Windows เอง และถ้ามันฟังดูคุ้นเคย คุณไม่ผิด แต่เชื่อฉันเถอะ สิ่งนี้แตกต่างอย่างมากจากการรันแอพ Linux เหล่านี้ตามปกติใน WSL ให้ฉันอธิบาย.

มันทำงานอย่างไร

ไม่ใช่แค่สำหรับระบบเสมือนจริงเท่านั้น

/th/images/linux-apps-in-x410.jpg

X410 ค่อนข้างแตกต่างจากโซลูชันอื่นๆ เล็กน้อย รวมถึงวิธีการในตัวสำหรับการเปิดแอป Linux GUI ผ่าน WSL นี่คือแอปที่ทำงานโดยกำเนิดบน Windows และสร้างขึ้นใหม่ทั้งหมด ดังนั้นจึงไม่ต้องพึ่งพาการใช้งานที่มีอยู่ เช่น Cygwin หรือ MinGW นอกจากนี้ยังไม่ใช้ Remote Desktop Protocol เพื่อเชื่อมต่อกับแอพ Linux เช่นเดียวกับ WSL

แต่เอาต์พุตการแสดงผลของเครื่อง Linux จะชี้โดยตรงไปที่ X410 ผ่านการเชื่อมต่อ TCP/IP หรือผ่านไคลเอ็นต์ SSH ความหมายก็คือกรณีการใช้งานสำหรับ X410 ไม่จำเป็นต้องจำกัดอยู่เพียงการจำลองเสมือนเท่านั้น คุณสามารถใช้ X410 เพื่อวาดแอปจากเครื่องเสมือน Hyper-V, อินสแตนซ์ WSL หรือแม้แต่เดสก์ท็อป Linux ระยะไกลผ่าน SSH

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

มันราบรื่นและตอบสนองมาก

WSL ใคร?

ส่วนใหญ่ฉันทดสอบ X410 กับอินสแตนซ์ WSL ของฉัน เนื่องจากฉันมีการตั้งค่านั้นในเครื่องของฉันแล้ว ฉันรู้สึกทึ่งเล็กน้อยกับตัวเลือกนี้ เนื่องจาก WSL ใช้งาน Linux GUI ได้ดีอยู่แล้ว ฉันประหลาดใจที่ X410 มอบประสบการณ์ที่ดีกว่ามากจริงๆ

เช่นเดียวกับ WSL X410 มีความสามารถในการแสดงแอปในแต่ละหน้าต่างบนเดสก์ท็อป แม้ว่าจะสามารถสร้างเดสก์ท็อปแบบลอยเสมือนที่มีหน้าต่าง Linux ทั้งหมดของคุณก็ตาม ฉันติดอยู่กับหน้าต่างแบบแยกส่วนทั่วไปเนื่องจากตั้งค่าได้ง่ายกว่าและให้ความรู้สึกเป็นธรรมชาติมากกว่า

ความแตกต่างที่สำคัญคือประสิทธิภาพและความรู้สึกของแอพ X410 ดึงแอพโดยใช้เฟรม Windows ปกติ และยังทำให้ได้รับประสบการณ์ที่ดีกว่ามากในการจัดการกับหน้าต่างดังกล่าว คุณสามารถปรับขนาดหน้าต่างได้อย่างง่ายดายเหมือนกับว่าเป็นแอป Windows ดั้งเดิม และหน้าต่างเหล่านั้นยังตอบสนองได้ ดังนั้น UI จะปรับให้เข้ากับขนาดใหม่แม้ว่าคุณจะยังคงปรับขนาดของหน้าต่างอยู่ก็ตาม เมื่อเปรียบเทียบกันแล้ว การปรับขนาด Windows ด้วยวิธี WSL ทั่วไปนั้นยุ่งยากกว่ามาก การเลือกขอบหน้าต่างทำได้ยาก (และโดยเฉพาะมุม) และถึงอย่างนั้น บางครั้งการปรับขนาดก็ไม่ได้ผล ฉันพบว่าบางแอป เช่น Apostrophe และ Foliate ยังคงเรนเดอร์เฟรมสไตล์ Linux แต่การปรับขนาดยังคงเชื่อถือได้มากกว่า

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

การตั้งค่าอาจทำให้เกิดความเจ็บปวด

ฉันหวังว่ามันจะง่ายกว่านี้สักหน่อย

/th/images/wsl-environment-variables.jpg

ข้อเสียหลักของ X410 สำหรับฉันคือการตั้งค่าอย่างเหมาะสมนั้นน่าหงุดหงิดเพียงใด ไม่ใช่ว่ามันน่ากลัวและใช้เวลาไม่นานนักในการเข้าใจ แต่ก็ยังน่ารำคาญอยู่บ้าง อย่างน้อยก็กับระบบย่อย Windows สำหรับ Linux ฉันนึกภาพออกว่ามันอาจจะง่ายกว่าใน Hyper-V VM ที่เหมาะสม แต่ฉันยอมรับว่าไม่ได้ทดสอบวิธีนั้น

ในการใช้ X410 กับ WSL ฉันจำเป็นต้องเพิ่มตัวแปรสภาพแวดล้อม DISPLAY ให้กับอินสแตนซ์ Linux ซึ่งชี้ไปที่ X410 เป็นเอาต์พุตการแสดงผล เนื่องจากสิ่งนี้ใช้การเชื่อมต่อ TCP/IP ฉันจึงต้องตั้งค่าฟังก์ชันที่ดึงที่อยู่ IP ของโฮสต์ Windows เพื่อเชื่อมต่อ แต่วิธีนี้ไม่ได้ทำงานได้อย่างน่าเชื่อถือเสมอไป หลังจากรีสตาร์ทคอมพิวเตอร์ ตัวแปร DISPLAY จะมีค่าเริ่มต้นกลับเป็น 0.0 ดังนั้นแอพจะถอยกลับด้วยการเรนเดอร์ WSL ทั่วไป

สิ่งนี้จะเกิดขึ้นเช่นกันหากฉันเปิดอินสแตนซ์ใหม่ของเทอร์มินัล WSL ซึ่งจำเป็นหากคุณต้องการใช้แอพ GUI หลายตัวพร้อมกัน หากต้องการเปิดแอปโดยใช้ X410 ต้องเปิดแอปจากเทอร์มินัล ไม่ใช่เมนู Start ไม่เช่นนั้นแอปจะเปิดโดยใช้หน้าต่าง WSL ปกติ แต่ถ้าคุณเปิดแอป GUI ในเทอร์มินัล คุณจะไม่สามารถป้อนคำสั่งใหม่โดยไม่ปิดแอปได้ ซึ่งหมายความว่าคุณต้องมีอินสแตนซ์ใหม่ในแต่ละครั้ง และสำหรับแต่ละรายการ ฉันจะต้องกำหนดตัวแปร DISPLAY อีกครั้ง

X410 เสนอวิธีอื่นๆ ในการเชื่อมต่อที่อาจทำให้ง่ายขึ้น ตัวอย่างเช่น หากคุณตั้งค่าอินสแตนซ์ WSL ให้ใช้โหมดมิเรอร์สำหรับเครือข่าย คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม DISPLAY ให้ใช้ IP ของโลคัลโฮสต์ (127.0.0.1) ซึ่งอาจให้ผลลัพธ์ที่สอดคล้องกันมากขึ้น มีการสนับสนุนแบบทดลองสำหรับการใช้ VSOCK เพื่อเชื่อมต่อกับ WSL แทนการเชื่อมต่อ TCP/IP การดำเนินการนี้อาจง่ายกว่า แต่ Microsoft ไม่ได้จัดเตรียมเอกสารเกี่ยวกับวิธีใช้ VSOCK กับ WSL ดังนั้นอาจมีปัญหาอื่นๆ อยู่ด้วย

แต่ถึงแม้ฉันจะมีประสบการณ์ที่ไม่เป็นไปตามอุดมคติของฉัน แต่มันก็ง่ายที่จะเห็นเสน่ห์ของ X410 ฉันยังคงอยากจะจัดการกับสิ่งนี้และมี GUI ที่ราบรื่นกว่าจัดการกับการใช้งาน WSL อย่างเป็นทางการ

X410 ดีกว่าที่คิด

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

/th/images/x410.png เครดิตภาพ: Choung Networks

X410

*️⃣ ลิงค์ที่มา:

WinApps, WinBoat, Wine สำหรับการแปลแบบเรียลไทม์, แอพ Linux GUI ผ่าน WSL,