Windows Subsystem สำหรับ Linux (WSL): ฉันทำอะไรไม่ได้กับแอปพลิเคชัน Ubuntu สำหรับ Microsoft Windows


23

เป็นส่วนใหญ่ของคุณรู้ว่าในไมโครซอฟท์ร้านมีสามรุ่นของอูบุนตู ซึ่งหมายความว่าใน Windows ฉันสามารถจำลอง Ubuntu และมีบรรทัดคำสั่ง Ubuntu บน Windows ได้โดยตรง

คำถามนั้นง่ายมาก: ฉันไม่สามารถทำอะไรจากบรรทัดคำสั่ง Ubuntu ที่จำลองใน Windows ที่ฉันสามารถทำได้บน Ubuntu ที่ใช้ Linux ได้อย่างถูกต้อง มันมีประโยชน์ไหมที่จะดาวน์โหลดแอพพลิเคชั่น Ubuntu ติดตั้งและใช้งานได้จริงแทนที่จะใช้ระบบปฏิบัติการจริง? เป็นไปได้หรือไม่ที่จะติดตั้งไลบรารีการพัฒนาทั้งหมด? ฉันสามารถเขียนไดรเวอร์อุปกรณ์ (หรือไม่) ได้หรือไม่? กล่าวอีกนัยหนึ่งว่าอะไรคือข้อ จำกัด ?

อูบุนตูใช้ Linux มีฟีเจอร์อะไรหายไปจาก Ubuntu-on-Windows?

ยินดีต้อนรับคำตอบใหม่: ฉันรู้ว่าซอฟต์แวร์ทุกตัวมีการเปลี่ยนแปลงอยู่เสมอโดยการปรับปรุงคุณสมบัติและคุณสมบัติ!


หากคุณบูตเข้าสู่ Windows อาจเป็นเกมได้ดีที่มี Ubuntu 16.04 ติดตั้งไว้ตอนที่คุณพักเครื่องอ่าน Ubuntu Q & A ที่นี่และต้องการตรวจสอบคำสั่งอย่างรวดเร็วโดยไม่ต้องบูตเครื่องใหม่ หากคุณต้องการข้อ จำกัด ของ Ubuntu บน Windows ทางออกที่ดีที่สุดของคุณคือไปที่เว็บไซต์ของ Microsoft และอ่านการร้องขอคุณสมบัติใหม่หรือผู้ใช้บั๊กที่โพสต์ทั้งหมด: docs.microsoft.com/en-us/windows/wsl/faq
WinEunuuchs2Unix

1
WSL ยังคงช้ากว่ามากในแง่ของ I / O (การทำงานของดิสก์) แม้จะเปรียบเทียบกับเครื่องเสมือน Linux ที่ทำงานบน Windows แม้ว่านี่จะเป็นพื้นที่ที่ไมโครซอฟต์ใช้งาน
liori

@ jpaugh แน่นอนขอบคุณ! ฉันยังมีการปรับปรุงเพียงคำถามอีกครั้ง :)
Leos313

คำตอบ:


19

Ubuntu ที่ทำงานภายใต้ระบบย่อย Windows 10 สำหรับ Linux ไม่ใช่ distro แบบเต็ม ที่จริงแล้วมันไม่ใช่ Linux เลย - มันไม่มีเคอร์เนล Linux ดังนั้นคุณจึงไม่สามารถทดสอบหรือลองเคอร์เนลส่วนขยายรวมถึงไดรเวอร์เพราะคุณไม่ได้ทำงานลินุกซ์

หากคุณต้องการทำสิ่งต่าง ๆ เช่นนั้นติดตั้ง Ubuntu ใน VM - Win10 รวมถึง Hyper-V แต่โดยส่วนตัวแล้วฉันชอบ VirtualBox ซึ่งฟรี - หรือบูตเครื่องของคุณด้วย Ubuntu ที่ใช้โลหะคู่ คุณจะพบว่า Windows เร็วกว่าการรัน Windows - ฉันใช้กับเครื่องของฉันทั้งหมด ส่วนหนึ่งเป็นเพราะคุณต้องการการป้องกันไวรัสเมื่อใช้งาน Windows ซึ่งทำให้ประสิทธิภาพการทำงานลดลงโดยเฉพาะอย่างยิ่งประสิทธิภาพดิสก์ และเนื่องจากคุณต้องการ Win10 จึงมีโปรแกรมป้องกันไวรัสในตัว

ด้วย Linux คุณไม่จำเป็นต้องมีดังนั้นจึงมีผลกระทบต่อประสิทธิภาพน้อยลง


20
ทำไมคุณคิดว่าคุณไม่ต้องการโปรแกรมป้องกันไวรัสบน Linux

7
@SeligkeitIstInGott มันไม่ใช่อีมูเลเตอร์ เป็นเลเยอร์ที่ใช้งานร่วมกันได้เช่นเดียวกับ Wine บน Linux
Eric Duminil

6
"ด้วย Linux คุณไม่จำเป็นต้องมี [โปรแกรมป้องกันไวรัส] ดังนั้นจึงมีผลกระทบต่อประสิทธิภาพน้อยลง" - Linux ไม่มีภูมิคุ้มกันต่อไวรัส / มัลแวร์ / อื่น ๆ Antivirus SW มีประโยชน์ใน Linux ทั้งเพื่อปกป้องตัวคุณเองและเพื่อป้องกันสิ่งเลวร้ายจากการแพร่กระจายไปยังสภาพแวดล้อมอื่น ๆ (เช่น Windows) ฉันรู้ว่ามันไม่ได้ใช้ตามปกติ แต่นั่นไม่ได้หมายความว่าไม่มีภัยคุกคาม
แดเนียล

4
ฉันมีปัญหากับสิ่งนี้ 1. ไม่จำเป็นต้องใช้ "Antivirus" เพื่อเรียกใช้ windows ระบบปฏิบัติการ windows จะทำงานโดยไม่มีโปรแกรมป้องกันไวรัส นอกจากนี้ยังมาพร้อมกับโปรแกรมป้องกันไวรัสซึ่งนำไปสู่ประเด็นที่ 2: การเลือกซอฟต์แวร์แบบสุ่มให้ชี้ไปที่ "การทำให้ระบบปฏิบัติการช้าลง" ดูเหมือนว่าจะเป็นไปตามอำเภอใจ - จะเกิดอะไรขึ้นถ้าฉันโต้เถียงว่า ubuntu นั้นช้าลง ใช้งานได้กับ Windows เท่านั้น (เช่น VM ดังนั้นฉันจึงสามารถเล่นเกม AAA ได้) 3. คุณไม่ได้ให้หลักฐานเพื่อสนับสนุนการเรียกร้องนี้
Caleb Jay

6
@ Hack-R ไม่มีการหลอกลวง พวกเขาค่อนข้างชัดเจนตั้งแต่ต้นว่านี่ไม่ใช่เคอร์เนล Linux ที่แท้จริง มันเริ่มต้นจากการ "เรียกใช้เครื่องมือ Linux โดยเฉพาะ Bash" เป็น "การใช้งานสภาพแวดล้อม / การกระจาย / แอปพลิเคชัน Linux" หากมีสิ่งใดที่หลอกลวงก็คือไวน์
Bob

7

หนึ่งในสิ่งที่คุณไม่สามารถทำได้อย่างง่ายดายภายใต้ระบบย่อย Windows สำหรับ Linux (WSL) คือเรียกใช้แอปพลิเคชัน Linux GUI

คุณต้องติดตั้งเซิร์ฟเวอร์ X11 ที่ไม่รองรับเช่น VcXsrv หรือ Xming

การเปิดใช้งาน WSL นั้นค่อนข้างเล็กน้อย ดูเหมือนว่าจะค่อนข้างดีในฐานะผู้ใช้บรรทัดคำสั่ง Linux


ฉันจะไม่โทรหาที่VcXsrvไม่สนับสนุน พวกเขาได้เปิดตัวอัปเดตประมาณ 10 ครั้งตั้งแต่ฉันใช้ (ตุลาคม 2017)
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix: ฉันหมายถึงไม่ได้รับการสนับสนุนจาก Miscrosoft ในแง่ที่พวกเขาสนับสนุน WSL โดยใช้เคอร์เนล API กระจายผู้ใช้ Ubuntu ให้เครื่องมือติดตั้ง / เปิดใช้งาน WSl และอื่น ๆ
RedGrittyBrick

7

มีข้อมูลที่เป็นประโยชน์มากมายในแต่ละคำตอบข้างต้น ฉันอยู่ที่นี่สรุปแนวคิดหลักของแต่ละคน

อัปเดตพฤษภาคม 2019 : ตามที่ระบุไว้ในหนึ่งในคำตอบล่าสุด WSL ได้รับการพัฒนาโดยใช้เคอร์เนล Linux จริงและให้ตัวเลือกอื่น ๆ อีกมากมาย ฉันผ่านเอกสารนี้แล้วและหากได้รับการยืนยันจะเป็นขั้นตอนต่อไป ที่นี่คุณสามารถค้นหาบทความที่ดีเกี่ยวกับหัวข้อ "เคอร์เนลจริงบน W10"

สรุป: "Ubuntu บน windows เป็น userland Ubuntu ที่สมบูรณ์ที่ด้านบนของเคอร์เนล Windows ในโหมดความเข้ากันได้กับ Linux" ดังที่กล่าวไว้ในหนึ่งในความคิดเห็น

สิ่งที่ฉันไม่สามารถทำได้:

  • อย่างเป็นทางการไม่รองรับอินเทอร์เฟซกราฟิก ซึ่งหมายความว่าแอปพลิเคชันกราฟิกไม่สามารถดำเนินการได้ นอกจากนี้ GUI มาตรฐานของ Ubuntu Linux แบบคลาสสิกไม่รองรับด้วยเหตุผลนี้
  • เคอร์เนลของ Linux ที่พัฒนาโดย Linus ไม่ได้เป็นส่วนหนึ่งของ Windows Subsystem สำหรับ Linux (WSL) ซึ่งหมายความว่าคุณไม่สามารถพัฒนาไดรเวอร์และลองใช้งานได้โดยตรง
  • ไม่ใช่ทุกคำสั่งที่ใช้งานได้

สิ่งที่ฉันสามารถทำได้:

  • ใช้บรรทัดคำสั่งและเชลล์ Bash พื้นฐาน เป็นไปได้ที่จะเขียนและดำเนินการสคริปต์
  • พัฒนาแอปพลิเคชั่น (คอมไพล์หรือข้ามคอมไพล์และรันมัน) แต่ไม่มีกราฟิค
  • ใช้ "apt-get" เพื่อติดตั้ง / ลบแพ็กเก็ตใหม่ / เก่า

ข้อมูลเพิ่มเติม:

  • การแจกแจงอื่น ๆ ได้รับการสนับสนุนอย่างเป็นทางการ (เช่น Debian และ Kali)
  • แอปพลิเคชันเหล่านี้ฟรีสามารถดาวน์โหลดได้จาก Windows Store และที่นี่คุณสามารถค้นหาคำแนะนำในการติดตั้งและใช้งานได้

  • ในคำถามอื่นของบล็อกนี้ข้อเสนอแนะบางประการเกี่ยวกับวิธีการใช้ GUI สำหรับ WSL (ไม่เป็นทางการและบุคคลที่สาม)

อัปเดตสิงหาคม 2562 : เปิดตัวWSL 2ใหม่(อ่านข้อมูลเพิ่มเติมได้ที่นี่ ) ดูเหมือนว่าคุณสามารถทำงานกับเคอร์เนล linux จริงและกับระบบไฟล์ Linux ฉันยังไม่ได้ลอง verion ใหม่จนถึงตอนนี้ (อยู่ในรายการสิ่งที่ต้องทำของฉัน)


4

จากวิธีการ Geek :

[มัน] ยังไม่สนับสนุนซอฟต์แวร์เซิร์ฟเวอร์พื้นหลังและจะไม่ทำงานอย่างเป็นทางการกับแอปพลิเคชัน Linux บนเดสก์ท็อป ไม่ใช่ทุกแอปพลิเคชันบรรทัดคำสั่งที่ใช้งานได้เช่นกันเนื่องจากคุณสมบัติไม่สมบูรณ์แบบ

อัปเดตจากความคิดเห็นของ allquixotic :

ในฐานะของวินโดวส์ 10 v1803 งานพื้นหลังได้รับการสนับสนุน


6
ในฐานะของวินโดวส์ 10 v1803 งานพื้นหลังได้รับการสนับสนุน
allquixotic

อาจเป็นประโยชน์ในการชี้ให้เห็น "พื้นหลังงาน" = crontabและภูตอื่น ๆ นี่คือตัวอย่างที่ใช้งานได้จริงของการโหลดcrontabเมื่อ Windows บูทขึ้น จากนั้นใช้rsyncทุก 2 วันเพื่อสำรองฐานข้อมูล Windows: blog.snowme34.com/post/…
WinEunuuchs2Unix

2

ณ เดือนพฤษภาคม 2019 WSL 2 อยู่ระหว่างการพัฒนา

ประสิทธิภาพของระบบไฟล์ที่เพิ่มขึ้นอย่างมากและความเข้ากันได้ของการโทรของระบบซึ่งหมายความว่าคุณสามารถเรียกใช้แอพ Linux ได้มากขึ้นใน WSL 2 เช่น Docker

...

WSL 2 ใช้สถาปัตยกรรมใหม่ทั้งหมดที่ใช้ลินุกซ์เคอร์เนลจริง

...

การสร้างครั้งแรกของ WSL 2 จะสามารถใช้ได้ผ่านโปรแกรมภายในของ Windows ภายในสิ้นเดือนมิถุนายน 2562

(เน้นที่เหมือง)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.