Hệ thống con Windows cho Linux (WSL): tôi không thể làm gì với ứng dụng Ubuntu cho Microsoft Windows?


23

Như hầu hết các bạn đều biết, trong Microsoft Store, có ba phiên bản Ubuntu . Điều này có nghĩa là trên Windows tôi có thể mô phỏng Ubuntu và có dòng lệnh Ubuntu trực tiếp trên Windows.

Câu hỏi rất dễ: tôi không thể làm gì từ dòng lệnh Ubuntu được mô phỏng trong Windows mà tôi có thể làm trên Ubuntu dựa trên Linux thích hợp? Có hữu ích để tải xuống ứng dụng Ubuntu này, cài đặt nó và chỉ hoạt động với nó thay vì hệ điều hành thực không? Có thể cài đặt tất cả các thư viện phát triển? Tôi có thể viết (hoặc không) trình điều khiển thiết bị? Nói cách khác: các giới hạn là gì?

Những tính năng nào của Ubuntu Linux dựa trên thiếu trên Ubuntu?

Câu trả lời mới được chào đón: Tôi biết rằng mọi phần mềm luôn thay đổi bằng cách cải thiện các đặc tính và tính năng!


Nếu bạn đã khởi động vào Windows, có lẽ để chơi game, thật tuyệt khi cài đặt Ubuntu 16.04 ở đó khi bạn nghỉ vi mô, đọc Ubuntu Q & A ở đây và muốn nhanh chóng kiểm tra một số lệnh mà không cần khởi động lại. Nếu bạn muốn giới hạn của Ubuntu trên Windows, cách tốt nhất của bạn là truy cập trang web của Microsoft và đọc tất cả các yêu cầu tính năng mới hoặc lỗi mà người dùng đã đăng: docs.microsoft.com/en-us/windows/wsl/faq
WinEunuuchs2Unix

1
WSL vẫn chậm hơn khá nhiều về I / O (hoạt động của đĩa), thậm chí so với các máy ảo Linux chạy trên Windows. Mặc dù, đây dường như là một lĩnh vực được làm việc bởi Microsoft.
liori

@jpaugh, chính xác, cảm ơn! Tôi cũng vừa cập nhật câu hỏi một lần nữa :)
Leos313

Câu trả lời:


19

Ubuntu chạy trong Hệ thống con Windows 10 cho Linux không phải là bản phân phối đầy đủ. Trên thực tế, nó hoàn toàn không phải là Linux - nó không có nhân Linux. Vì vậy, bạn không thể kiểm tra hoặc thử các tiện ích mở rộng kernel, bao gồm cả trình điều khiển, vì bạn không chạy Linux .

Nếu bạn muốn làm những thứ tương tự, hãy cài đặt Ubuntu trong VM - Win10 bao gồm Hyper-V, nhưng cá nhân tôi, tôi thích VirtualBox, miễn phí - hoặc khởi động kép máy của bạn với Ubuntu chạy trên kim loại trần. Bạn gần như chắc chắn sẽ tìm thấy cái sau nhanh hơn chạy Windows - tôi làm trên tất cả các máy của mình. Một phần điều này là do bạn cần bảo vệ chống vi-rút khi chạy Windows, điều này làm giảm hiệu suất, đặc biệt là hiệu suất đĩa. Và bởi vì bạn cần nó, Win10 bao gồm phần mềm chống vi-rút tích hợp.

Với Linux, bạn không cần bất kỳ, do đó, có ít tác động hiệu suất hơn.


20
Tại sao bạn nghĩ rằng bạn không cần chống vi-rút trên Linux?

7
@SeligkeitIstInGott Đây không phải là trình giả lập. Đây là một lớp tương thích, giống như đối với Wine trên Linux.
Eric Duminil

6
"Với Linux, bạn không cần bất kỳ [phần mềm chống vi-rút] nào, do đó sẽ có tác động hiệu suất ít hơn." - Linux không tránh khỏi virus / phần mềm độc hại / v.v. Antivirus SW rất hữu ích trong Linux để bảo vệ chính bạn và ngăn chặn những thứ xấu lan sang các môi trường khác (ví dụ: Windows). Tôi biết nó thường không được sử dụng, nhưng điều đó không có nghĩa là mối đe dọa không tồn tại.
Daniel

4
Tôi có vấn đề với điều này. 1. Antivirus không "bắt buộc" để chạy windows. Hệ điều hành windows sẽ chạy mà không cần diệt virus. Nó cũng đi kèm với một phần mềm chống vi-rút, dẫn đến điểm 2: chọn phần mềm ngẫu nhiên để chỉ ra rằng "làm chậm hệ điều hành" có vẻ tùy tiện - điều gì xảy ra nếu tôi lập luận rằng ubfox chậm hơn vì tôi cần một loạt phần mềm bổ sung để ứng dụng hoạt động Chỉ hoạt động trong Windows? (giống như một VM để tôi có thể chơi các trò chơi AAA?). 3. Bạn đã không cung cấp bằng chứng để hỗ trợ cho yêu cầu này.
Caleb Jay

6
@ Hack-R Không có sự lừa dối. Họ đã khá rõ ràng ngay từ đầu rằng đây không phải là nhân Linux thực sự. Nó bắt đầu là "chạy các công cụ Linux, đặc biệt là Bash" thành "chạy các môi trường / phân phối / ứng dụng Linux". Nếu bất kỳ điều đó là lừa dối, thì RƯỢU cũng vậy.
Bob

7

Một trong những điều bạn không thể dễ dàng thực hiện trong Hệ thống con Windows cho Linux (WSL) là chạy các ứng dụng GUI của Linux.

Để làm như vậy, bạn phải cài đặt một máy chủ X11 không được hỗ trợ như VcXsrv hoặc Xming.

Kích hoạt WSL tương đối tầm thường. Nó có vẻ là khá tốt như một người dùng dòng lệnh Linux.


Tôi sẽ không gọi VcXsrvkhông được hỗ trợ. Họ đã phát hành khoảng 10 bản cập nhật kể từ khi tôi sử dụng nó (tháng 10 năm 2017).
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix: Ý tôi là Miscrosoft không hỗ trợ, theo nghĩa là họ hỗ trợ WSL bằng cách triển khai API kernel, phân phối vùng người dùng Ubuntu, cung cấp các công cụ để cài đặt / bật WSl, v.v.
RedGrittyBrick

7

Có rất nhiều thông tin hữu ích về mỗi câu trả lời trên. Tôi ở đây tóm tắt các khái niệm chính của mỗi người trong số họ.

Cập nhật tháng 5 năm 2019 : như được chỉ ra trong một trong những câu trả lời gần đây nhất, WSL đang phát triển bằng cách sử dụng Hạt nhân Linux thực và cung cấp thêm nhiều tùy chọn. Tôi đã xem qua tài liệu này và, nếu được xác nhận, nó sẽ là một bước tiến lớn. Ở đây bạn có thể tìm thấy một bài viết hay về chủ đề "nhân Linux thực trên W10"

Tóm tắt: "Ubuntu trên windows là vùng người dùng Ubuntu hoàn chỉnh nằm trên hạt nhân Windows ở chế độ Tương thích Linux", như chỉ ra trong một trong các nhận xét.

Những gì tôi không thể làm:

  • Chính thức, cho đến nay không có giao diện đồ họa được hỗ trợ. Điều này cũng có nghĩa là các ứng dụng đồ họa không thể được thực thi. Ngoài ra, GUI tiêu chuẩn của Ubuntu Linux cổ điển không được hỗ trợ vì lý do này.
  • Hạt nhân của Linux do Linus phát triển KHÔNG phải là một phần của Hệ thống con Windows cho Linux (WSL). Điều này có nghĩa là bạn không thể phát triển trình điều khiển và thử trực tiếp.
  • Không phải mọi dòng lệnh hoạt động.

Những gì tôi có thể làm được:

  • Sử dụng dòng lệnh và shell Bash cơ bản. Có thể viết và thực thi các tập lệnh.
  • Phát triển các ứng dụng (biên dịch hoặc biên dịch chéo và thực thi chúng) nhưng cho đến nay không có đồ họa.
  • Sử dụng "apt-get" để cài đặt / xóa gói mới / cũ.

Thông tin thêm:

  • các bản phân phối khác được hỗ trợ chính thức (ví dụ như Debian và Kali)
  • các ứng dụng này là miễn phí, có thể tải xuống từ Windows Store và tại đây bạn có thể tìm thấy hướng dẫn để cài đặt và sử dụng nó.

  • Trong câu hỏi khác này của blog, một số gợi ý về cách sử dụng GUI cho WSL (không chính thức, bên thứ ba)

CẬP NHẬT Tháng 8 năm 2019 : WSL 2 mới đã được phát hành lại (đọc tại đây để biết thêm thông tin). Có vẻ như bạn có thể làm việc với một nhân linux thực sự và với một hệ thống tệp Linux. Trên thực tế, tôi đã không thử verion mới cho đến nay (nó nằm trong danh sách TODO của tôi).


4

Từ How-To Geek :

[Nó] chưa hỗ trợ phần mềm máy chủ nền và nó sẽ không chính thức hoạt động với các ứng dụng máy tính để bàn Linux. Không phải mọi ứng dụng dòng lệnh đều hoạt động, vì tính năng này không hoàn hảo.

Cập nhật từ bình luận của allquixotic :

Kể từ Windows 10 v1804, các tác vụ nền được hỗ trợ.


6
Kể từ Windows 10 v1804, các tác vụ nền được hỗ trợ.
allquixotic

Nó có thể hữu ích để chỉ ra "nhiệm vụ nền" = crontabvà các trình nền khác. Dưới đây là một ví dụ thực tế về tải crontabkhi Windows khởi động. Sau đó sử dụng rsync2 ngày một lần để sao lưu cơ sở dữ liệu Windows: blog.snowme34.com/post/ Kẻ
WinEunuuchs2Unix

2

Kể từ tháng 5 năm 2019, WSL 2 đang được phát triển .

Hiệu suất hệ thống tệp ấn tượng tăng và khả năng tương thích cuộc gọi toàn hệ thống, nghĩa là bạn có thể chạy nhiều ứng dụng Linux hơn trong WSL 2 như Docker.

...

WSL 2 sử dụng kiến ​​trúc hoàn toàn mới sử dụng nhân Linux thực .

...

Các bản dựng ban đầu của WSL 2 sẽ có sẵn thông qua chương trình nội bộ Windows vào cuối tháng 6 năm 2019.

(nhấn mạnh của tôi)

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.