Công nghệ - Sản phẩm

Chạy GUI Linux ở Bash Shell trong Windows 10

(PCWorldVN) Bash shell của Windows 10 không hỗ trợ ứng dụng đồ họa Linux. Nhưng giải pháp sau giúp bạn có thể chạy được chúng.

Cửa sổ dòng lệnh Bash shell (không phải Command Prompt) trong Windows 10 không hỗ trợ các ứng dụng Linux có giao diện đồ hoạ. Microsoft cho rằng tính năng này chỉ thiết kế cho các nhà phát triển, để họ dễ dàng chạy được các tiện ích Linux trong cửa sổ dòng lệnh. Nhưng thực sự, "Windows Subsystem for Linux" là công cụ rất mạnh mẽ, mạnh hơn những gì Microsoft mô tả.

Đó là nó vẫn có thể chạy được các ứng dụng đồ hoạ Linux mượt mà trong Windows 10, nhưng bạn cần nhớ là nó chỉ không chính thức hỗ trợ giao diện đồ hoạ mà thôi. Không phải ứng dụng đồ hoạ Linux nào cũng chạy tốt vì những ứng dụng này thường phức tạp và ít được chạy thử hơn so với những ứng dụng chạy bằng dòng lệnh. Dù gì, càng "sống lâu" thì Windows Subsystem for Linux sẽ càng được Microsoft chỉnh sửa để chạy ổn định hơn.

Bash shell của Windows 10 chỉ hỗ trợ mã nhị phân 64-bit, nên bạn không thể cài và chạy các ứng dụng Linux 32-bit.

Nó hoạt động như thế nào

Đầu tiên, cần biết chính xác là ứng dụng này hoạt động như thế nào, từ đó chúng ta mới biết được chúng ta sẽ làm gì với nó.

Windows 10 có chức năng "Windows Subsystem for Linux" để cho phép Windows 10 chạy phần mềm Linux, bằng cách dịch các hàm gọi hệ thống Linux sang hàm gọi hệ thống Windows.

Khi bạn chạy chương trình bash.exe, nó tải về và cài đặt một ảnh người dùng Ubuntu hoàn chỉnh trên máy tínhy. Chương trình này có mã nhị phân - hay ứng dụng - có thể chạy trên Ubuntu. Do vậy, môi trường "Bash on Ubuntu on Windows" hoạt động bên trong Windows Subsystem for Linux.

Microsoft không muốn mất thời gian chỉnh sửa tính năng này của họ để chạy được ứng dụng đồ hoạ, vì mục đích ban đầu của hãng khá rõ ràng, nghĩa là muốn hỗ trợ các nhà phát triển ứng dụng chạy được các công cụ dòng lệnh của Linux. Nhưng lý do kỹ thuật chính mà họ không hỗ trợ các ứng dụng đồ hoạ là vì các ứng dụng này cần đến một "X server" để cung cấp một giao diện đồ hoạ. Trên một máy tính Linux chuẩn, "X server" tự động xuất hiện khi bạn khởi động máy tính và nó dựng hình toàn bộ desktop và ứng dụng mà bạn thấy trên màn hình.

Nhưng bạn thử mở một ứng dụng đồ hoạ trong môi trường Bash của Windows thử xem, nó sẽ báo là không thể hiển thị được hình ảnh, như ảnh bên dưới.

Tuy vậy, có những ứng dụng X server mà bạn có thể cài đặt trên Windows. Cụ thể là trước đây, ứng dụng Linux thường chạy với giao thức "X11", vì giao thức này được thiết kế để chạy được qua kết nối mạng.

Nếu bạn cài đặt một ứng dụng X server trên desktop Windows và thay đổi một thiết lập trong Bash thì các ứng dụng sẽ gửi tín hiệu đồ hoạ đến ứng dụng X server và chúng sẽ xuất hiện được trên desktop Windows. Mọi thứ sẽ hoạt động suôn sẻ, vì những ứng dụng này không phụ thuộc vào các hàm gọi hệ thống Linux mà Linux Subsystem for Windows vẫn chưa hỗ trợ.

Bước 1: Cài đặt X Server

Có vài X server khác nhau để bạn cài lên Windows, nhưng khuyến khích bạn thử dùng Xming.

Tiến trình cài đặt Xming khá đơn giản. Bạn chỉ việc chấp nhận mọi thiết lập mặc định. Sau đó, nó tự động khởi chạy ngay khay hệ thống, chờ bạn chạy những chương trình đồ hoạ.

Bước 2: Cài đặt chương trình

Bạn có thể cài đặt các chương trình Linux có giao diện đồ họa tựa như các chương trình dòng lệnh khác, sử dụng lệnh apt-get trong môi trường Bash nền Ubuntu. Ví dụ, cho là chúng ta đang muốn cài đặt chương trình soạn thảo văn bản vim nhưng chạy ở giao diện đồ hoạ, nền GTK, bạn gõ lệnh sau vào cửa sổ Bash:

sudo apt-get install vim-gtk

Chương trình sẽ thực hiện tiến trình cài đặt trong cửa sổ dòng lệnh thông thường, tựa như trong Ubuntu.

Bước 3: Thiết lập các biến môi trường đồ hoạ

Bây giờ, bạn cần thiết lập biến môi trường "DISPLAY" để trỏ tới X server chạy trên Windows 10. Nếu bạn không làm vậy, đơn giản là các ứng dụng đồ hoạ không thể chạy được.

Để làm điều này, bạn chạy lệnh sau trong môi trường Bash:

export DISPLAY=:0

Thiết lập này chỉ áp dụng được cho session Bash hiện thời. Nếu bạn đóng cửa sổ thì Bash sẽ quên thiết lập ấy. Bạn sẽ phải chạy lệnh này mỗi khi bạn mở Bash lại và muốn chạy một ứng dụng đồ hoạ nào đó.

Bước 4: khởi chạy một ứng dụng

Đến đây, bạn chỉ việc chạy ứng dụng đồ hoạ bằng cách gõ tên file thực thi chương trình, như bất kỳ lệnh nào khác. Ví dụ, để khởi chạy vim-gtk, bạn gõ:

gvim

Đơn giản thế thôi. Nếu ứng dụng không chạy được, có thể các hàm gọi hệ thống Linux cần thiết không hỗ trợ cho Windows Subsystem for Linux. Bạn sẽ không làm được gì nhiều nếu xảy ra tình huống này. Nhưng hãy cứ thử, có thể bạn sẽ tìm ra ứng dụng phù hợp cho công việc của mình.

Bạn cũng có thể kết hợp bước thứ 3 và thứ 4 lại với nhau. Thay vì xuất biến DISPLAY một lần cho một session Bash, bạn chỉ việc chạy lệnh sau, như áp dụng cho gvim:

DISPLAY-:0 gvim

Lưu ý bạn thêm lần nữa rằng Bash không hỗ trợ chính thức giao diện đồ hoạ, nên bạn có thể gặp lỗi với những ứng dụng phức tạp. Một giải pháp khả thi cho những ứng dụng Linux phức tạp là tạo một máy ảo.

PCWorld

Bash shell, cửa sổ dòng lệnh, Làm thế nào, Linux, thủ thuật, Windows 10, Windows Subsystem for Linux, X server, X11, Xming


© 2021 FAP
  3,349,706       1/259