“ Bash บน windows 10” ใหม่ทำงานอย่างไรจริง ๆ ?


25

ฉันอ่านออนไลน์ว่าอูบุนตูและทุบตีกำลังมาถึง windows 10 ฉันอ่านด้วยว่ามันไม่ใช่อีมูเลเตอร์หรือเครื่องเสมือนที่ทำงานอยู่ด้านบนของหน้าต่าง แต่เป็นอย่างอื่น แล้วมันมารวมกันได้อย่างไรกันล่ะ? และมันจะมีเสถียรภาพและใช้งานง่ายเหมือนกับทุบตีใน Ubuntu หรือไม่?



มันไม่ได้ให้ภาพที่ยอดเยี่ยมเกี่ยวกับสิ่งที่เกิดขึ้นจริงภายใต้ประทุน
Maaverik

@maaverik ตั้งแต่นั้นเป็นต้นมาเราได้จัดทำโพสต์บล็อกและวิดีโอประกอบเพื่ออธิบายการใช้งานของ WSL ดูคำตอบของฉันด้านล่างสำหรับการเชื่อมโยง :)
ริชเทอร์เนอร์

คำตอบ:


21

มันไม่ใช่อีมูเลเตอร์ในลักษณะเดียวกับที่ WINE Is Emulator กล่าวคือพวกเขาได้เพิ่มส่วนต่อประสานเคอร์เนล Linux ลงในเคอร์เนล Windows เมื่อแอปพลิเคชันพยายามใช้เคอร์เนลลินุกซ์มันจะถูกแปลเป็นการเรียกระบบเนทิฟ Windows และการตอบสนองใด ๆ จากเคอร์เนลจะถูกแปลเป็นการตอบสนอง Linux ดั้งเดิม ดังนั้นแอปจึงคิดว่ามันทำงานบนเคอร์เนล Linux ดังนั้นจึงไม่จำเป็นต้องแก้ไข

อย่างไรก็ตามนี่เป็นเทคโนโลยี Windows อย่างหมดจดดังนั้นหากคุณต้องการรายละเอียดเพิ่มเติมคุณควรรับพวกเขาจากกลุ่มสนับสนุน Windows หรือบางอย่าง Windows ยังคงเป็นระบบปฏิบัติการที่เป็นกรรมสิทธิ์ดังนั้นฉันคาดหวังรายละเอียดจำนวน จำกัด

และมันจะมีเสถียรภาพและใช้งานง่ายเหมือนกับทุบตีใน Ubuntu หรือไม่?

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

มันจะไม่อยู่ใกล้กับประสบการณ์อูบุนตูที่สมบูรณ์ตลอดเวลาในไม่ช้า


2
"ไม่ใช่ตัวเลียนแบบ" อาจเป็นของเครื่องหมายคำพูด เช่น Wine มันเป็นอีมูเลเตอร์ไม่ใช่แค่ระดับฮาร์ดแวร์ แต่อยู่ที่ระดับ API ทั้งสองอย่างนี้ส่งผลให้ประสิทธิภาพลดลงขึ้นอยู่กับสิ่งที่คุณทำ
thomasrutter

2
@thomasrutter ขออภัยฉันไม่เห็นด้วย คำจำกัดความของ 'emulator' ของคุณหลวมเกินไป ภายใต้การตีความเช่นนี้เราต้องเรียกผู้เลียนแบบผู้รับมอบฉันทะด้วย (แต่ไม่ใช่) อีมูเลเตอร์ตามคำจำกัดความจำลองสิ่งต่าง ๆ WSL (และพรอกซี) ไม่เลียนแบบสิ่งต่าง ๆ พวกเขาแปลงและส่งต่อสิ่งต่าง ๆ
Segfault

21

สำหรับผู้ที่อยากรู้ว่าระบบย่อยของ Windows สำหรับ Linux (WSL) ทำงานอย่างไรและทำงานอย่างไรกับลีนุกซ์พื้นเมือง ELF-64 ไบนารีเราได้เผยแพร่ชุดโพสต์บล็อกและวิดีโอประกอบที่อธิบายสถาปัตยกรรม WSL กระบวนการ syscalls และระบบไฟล์ .

Scott Hanselman ยังมีวิดีโอแนะนำที่ยอดเยี่ยมซึ่งครอบคลุมกระบวนการติดตั้งและวิธีกำหนดค่า Bash บน Ubuntu บน Windows:

HTH


3
ลิงก์แรกไม่ทำงานอีกต่อไปฉันคิดว่ามันย้ายมาแล้วที่นี่: blogs.msdn.microsoft.com/commandline/ …
dpritch

ดีจับ - ขอบคุณ แก้ไขลิงก์ให้ชี้ไปที่ลิงก์ที่สั้นลงของเรา
Rich Turner

2

ส่วนทุบตีทำงานได้ดีมากใน WSL

เคอร์เนลบางส่วนไม่ได้อยู่ที่นั่น ตัวอย่างเช่นไม่มี/sys/class/backlight/intel_backlight/brightnessคุณสามารถเข้าถึงการตั้งค่าความสว่างหน้าจอ มีคำสั่ง Powershell ที่คุณสามารถเรียกให้ทำอย่างนั้นได้อย่างง่ายดายหากคุณไม่สนใจชื่อสไตล์ COBOL ที่ยาวมาก MS Powershell สามารถเรียกได้โดยตรงจากภายใน bash ดังนั้นคุณสามารถพูดได้ว่าฟีเจอร์ Windows ที่ทรงพลังตอนนี้ถูกสร้างขึ้นมาเพื่อทุบตี ในทำนองเดียวกัน MS Powershell สามารถเรียก bash ได้ฉันเชื่อ ดังนั้นถ้าเป็นจริง Powershell ได้รับการเข้าถึงฟังก์ชั่นเช่นgrep, awk, head, tailฯลฯ

GUI สำหรับ Ubuntu Desktop ( gedit, nautilusฯลฯ ) ใช้งานได้หลังจากติดตั้งVcXsrvหรือสิ่งที่คล้ายกัน

การแชร์ไฟล์ระหว่าง Linux และ Windows WSL นั้นซับซ้อนในการตั้งค่า เมื่อย้ายไฟล์ระหว่างโฟลเดอร์ WSL + Linux NTFS ที่แชร์ฉันได้รับอนุญาต "weirdness" บางไฟล์เนื่องจากความไม่รู้หรือข้อบกพร่องซอฟต์แวร์ของฉัน

ความเร็วช้ากว่า WSL มากใน Ubuntu คุณสามารถเห็นตัวอักษรสีบนหน้าจอได้ตามตัวอักษรเมื่อคุณเรียกใช้calหรือtoilet: อะไรคือความแตกต่างระหว่าง windows bash และ cygwin?

ฉันคิดว่า WSL เป็นผลิตภัณฑ์ที่ดีและฉันก็ชอบมันเมื่อทำการบูทสองครั้งใน Windows-World มันจะไม่กลายเป็นผลิตภัณฑ์ที่ยอดเยี่ยมเพราะ MS ขาดเงินทุนและพวกเขาไม่ต้องการมีลินุกซ์ฟรีแวร์ Distro อยู่ดี หากคุณมีแรมเพียงพอคุณอาจจะพอใจกับ VM ด้วยราคาของตัวเองและ RAM เพียง 8 GB เท่านั้นที่เพิ่มขึ้นจนถึงกลางปี ​​2019 หรือประมาณนั้นฉันจะติด WSL อย่างมีความสุขและยกเลิกการอัพเกรด RAM ขนาด 32 GB ในตอนนี้

ฉันเคยไปที่ฟอรัม MS แล้วฉันต้องบอกว่า Rich Turner และสมาชิกในทีม WSL ของเขาเป็นผู้เชี่ยวชาญที่อร่อยที่สุดที่ฉันเคยเห็นมา

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