Làm thế nào để Bash Bash mới trên windows 10F thực sự hoạt động?


25

Tôi đọc trên mạng rằng Ubuntu và bash đang đến với windows 10. Tôi cũng đọc rằng đó không phải là trình giả lập hay máy ảo chạy trên các cửa sổ, mà là một thứ khác. Vì vậy, làm thế nào chính xác tất cả đến với nhau? Và nó có thực sự ổn định và thân thiện với người dùng như bash trong Ubuntu không?



Nó không thực sự cung cấp một bức tranh tuyệt vời về những gì thực sự xảy ra dưới mui xe.
Maaverik

@maaverik Chúng tôi đã sản xuất một loạt các bài đăng trên blog và các video kèm theo giải thích nội bộ của WSL. Xem câu trả lời của tôi dưới đây để biết các liên kết :)
Rich Turner

Câu trả lời:


21

Nó không phải là trình giả lập giống như cách mà WINE không phải là trình giả lập. Điều đó có nghĩa là, họ đã thêm giao diện nhân Linux vào nhân Windows của mình. Khi một ứng dụng cố gắng sử dụng nhân Linux, nó sẽ được dịch sang lệnh gọi hệ thống riêng của Windows và mọi phản hồi từ kernel được dịch thành phản hồi Linux gốc. Vì vậy, ứng dụng nghĩ rằng nó chạy trên nhân Linux và do đó không cần phải sửa đổi.

Tuy nhiên, đây hoàn toàn là một công nghệ Windows, vì vậy nếu bạn muốn biết thêm chi tiết, bạn nên lấy chúng từ một nhóm hỗ trợ Windows hoặc một cái gì đó. Windows tiếp tục là một hệ điều hành độc quyền, vì vậy tôi sẽ mong đợi một số lượng chi tiết hạn chế.

Và nó có thực sự ổn định và thân thiện với người dùng như bash trong Ubuntu không?

Từ góc độ Ubuntu, chúng tôi chỉ đơn giản là chạy trên nhân Linux nguyên thủy, có thể so sánh với chạy máy tính để bàn hiện đại trên máy chủ X nguyên thủy. Nếu bạn chỉ sử dụng các tính năng được hỗ trợ bởi kernel giả thì nó sẽ ổn định và thân thiện với người dùng. Nếu bạn sử dụng các tính năng không được hỗ trợ, nó sẽ không ổn định.

Nó sẽ không ở đâu gần một trải nghiệm Ubuntu hoàn chỉnh sớm.


2
"Không phải là một trình giả lập" có lẽ thuộc về dấu ngoặc kép; Giống như Wine, nó một trình giả lập, không chỉ ở cấp độ phần cứng mà ở cấp API. Cả hai đều dẫn đến mất hiệu suất tùy thuộc vào những gì bạn đang làm (tức là có bao nhiêu cuộc gọi hệ thống bạn đang thực hiện).
thomasrutter

2
@thomasrutter Xin lỗi tôi không đồng ý. Định nghĩa của bạn về 'trình giả lập' quá lỏng lẻo. Theo cách giải thích như thế này, chúng ta cũng phải gọi trình giả lập proxy (nhưng chúng không phải). Một trình giả lập, theo định nghĩa, mô phỏng mọi thứ. WSL (và proxy) không mô phỏng mọi thứ, họ biến đổi và chuyển tiếp mọi thứ và trả lời phản hồi.
Segfault

21

Đối với những người tò mò về cách thức Hệ thống con Windows cho Linux (WSL) hoạt động và cách nó chạy nhị phân Linux ELF-64, chúng tôi đã xuất bản một loạt các bài đăng trên blog và các video kèm theo giải thích kiến ​​trúc WSL, quy trình, tòa nhà và hỗ trợ hệ thống tệp .

Scott Hanselman cũng đã thực hiện một video hướng dẫn tuyệt vời về quá trình cài đặt và cách định cấu hình Bash trên Ubuntu trên Windows:

HTH


3
Các liên kết đầu tiên không hoạt động nữa, tôi nghĩ rằng nó đã di chuyển ở đây: blogs.msdn.microsoft.com/commandline/...
dpritch

Bắt tốt - cảm ơn. Đã sửa lỗi liên kết đến điểm tại liên kết rút gọn của chúng tôi.
Rich Turner

2

Các phần bash hoạt động rất tốt trong WSL.

Các phần nhân không có ở đó. Ví dụ, không có /sys/class/backlight/intel_backlight/brightnessbạn có thể truy cập để đặt độ sáng màn hình. Có các lệnh Powershell bạn có thể dễ dàng gọi để thực hiện điều đó nếu bạn không nhớ tên trường rất dài kiểu COBOL. MS Powershell có thể được gọi trực tiếp từ bên trong bash. Vì vậy, bạn có thể nói các tính năng mạnh mẽ của Windows hiện được tích hợp vào bash. Tôi tin rằng cùng một mã thông báo MS Powershell có thể gọi bash tôi tin. Vì vậy, nếu đúng Powershell được quyền truy cập vào các chức năng như grep, awk, head, tailvv

GUI cho Ubuntu Desktop ( gedit, nautilus, vv) chỉ hoạt động sau khi cài đặt VcXsrvhoặc một cái gì đó tương tự.

Chia sẻ tệp giữa Linux và Windows WSL rất phức tạp để thiết lập. Khi di chuyển các tệp giữa thư mục WSL + Linux NTFS được chia sẻ, tôi đã có một số quyền "lạ" do sự thiếu hiểu biết hoặc thiếu sót phần mềm.

Tốc độ chậm hơn rất nhiều trong WSL so với Ubuntu. Bạn thực sự có thể thấy nhân vật vẽ màn hình theo nhân vật khi bạn chạy calhoặc toilet: Sự khác biệt giữa windows bash và cygwin là gì?

Tôi nghĩ WSL là một sản phẩm tốt và tôi thích mày mò với nó khi khởi động kép vào Windows-World. Nó sẽ không bao giờ trở thành một sản phẩm tuyệt vời vì MS thiếu kinh phí và họ thực sự không muốn có một Linux Free-Ware Distro tuyệt vời. Nếu bạn có đủ RAM, có lẽ bạn sẽ hạnh phúc hơn với VM. Chỉ với 8 GB bản thân và giá RAM tăng cho đến giữa năm 2019 hoặc lâu hơn, tôi sẽ vui vẻ gắn bó với WSL và từ bỏ việc nâng cấp RAM 32 GB cho đến bây giờ.

Tôi đã truy cập một vài diễn đàn MS và tôi phải nói Rich Turner và các thành viên nhóm WSL của anh ấy là một trong những chuyên gia giỏi nhất tôi từng thấy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.