“Bash On Ubuntu On Windows 10” – Tận dụng các tiện ích của Ubuntu trên Windows 10

Tram Ho

Microsoft gần đây đã phát hành “Bash On Ubuntu On Windows 10” – Một môi trường giao diện có hầu hết các chức năng cũng như công cụ của Linux CLI. Bạn có thể chạy grep, awk và nhiều công cụ khác trực tiếp trên windows mà không cần phải chuyển qua môi trường Linux.

Thậm chí nếu bạn chưa bao giờ thử qua Unix hay Linux, đây là một cơ hội để trải nghiệm và học tập với Bash cùng các công cụ NIX khác trên Windows 10. Trong bài giới thiệu này, chúng ta sẽ chia sẻ cách bắt đầu với Bash trên Windows 10 và sử dụng chúng theo nhiều cách khác nhau.

 

“Bash On Ubuntu On Windows 10” là gì?

Bash (Bourne Again Shell) là môi trường shell và ngôn ngữ lập trình cho nền tảng Unix và Linux. “Bash On Ubuntu On Windows 10” là một tính năng tùy chọn có sẵn cho người sử dụng Windows 10’s Anniversary.

Bash chạy trên hệ thống con của Windows cho Linux (WSL) và cho phép bạn trải nghiệm Linux ngay trên máy tính Windows.

Đây là một công nghệ mới, cho phép câu lệnh NIX và công cụ command-line một cách nguyên bản ngay trên Windows. Bạn không còn cần phải cài đặt song song Unix hoặc Linux với Windows hay cài đặt cài đặt máy ảo cho NIX OS.

So với máy ảo, “Bash On Ubuntu” đòi hỏi ít tài nguyên hệ thống hơn, và cho phép bạn truy cập cả hai công cụ Windows và Linux cùng một lúc.

Bash trên Windows 10 đặc biệt hữu ích cho lập trình viên và quản trị viên hệ thống làm việc trên các dự án mã nguồn mở. Tính năng này là một phần quà bất ngờ từ Microsoft, với sự hỗ trợ của Canonical.

Với Bash, khoảng cách giữa Windows bản quyền với các công nghệ miễn phí và mã nguồn mở của Linux đã được rút ngắn tối đa.

Thế mạnh:

  • Chạy các tiện ích NIX command-line grep, awksed
  • Chạy shell script (.sh) với sự hỗ trợ của tiện ích command-line
  • Duyệt và tùy chỉnh tập tin hệ thống trong Windows với Bash
  • Thử nhiều công cụ NIX và các tiện ích như Python, Ruby, Git, ect.
  • Hỗ trợ các công cụ cho máy chủ như Apache HTTP Server, MySQL,…

Điểm yếu:

  • Công cụ GUI có độ tương thích hạn chế (có thể khắc phục với một số mẹo nhỏ bên dưới)
  • Không cho phép dùng Bash scripts để chạy các chương trình của Windows, và ngược lại.

 

Cách cài đặt “Bash On Ubuntu On Windows 10”

“Bash On Ubuntu On Windows 10” có thể cài đặt nếu hệ thống chạy Windows 10 với cập nhật Anniversary Update (build 14393 hoặc mới hơn)  và có vi xử lý hỗ trợ 64-bit. Làm theo những bước dưới đây để chắc chắn rằng hệ thống của bạn đáp ứng đủ yêu cầu:

  1. Mở Settings > chọn System > chọn About
  2. Tìm các thông tin sau: OS Build và System type

Sau khi kiểm tra các yêu cầu cần thiết, bạn có thể cài đặt Bash qua các bước dưới đây:

  1. Mở Settings > chọn Update & Security > chọn For developers
  2. Dười dòng Use developer features > chọn Developer mode, Windows 10 sẽ tìm kiếm và cài đặt các gói hỗ trợ chế độ lập trình viên.

Ghi chú: Bash vẫn cài đặt cho dù có hiện lỗi như hình bên dưới.


Tiếp theo là trao quyền truy cập hệ thống con của Windows cho Linux (tính năng tùy chọn) bằng các bước sau:

  1. Trong hộp tìm kiếm Start, gõ “turn” và chọn “Turn windows features on or off”
  2. Chọn Windows Subsystem for Linux (beta) và chọn OK.

  1. Sau khi cài đặt thành công Windows Subsystem for Linux, khởi động lại máy tính nếu được yêu cầu.
  2. Trong hộp tìm kiếm Start, gõ “cmd” và mở “Command Prompt”

 

  1. Gõ “bash” trong cửa sổ Command Prompt và nhấn Enter

 

  1. Gõ “y” để đồng ý các điều khoản (bạn có thể xem thử qua đường dẫn nếu muốn)
  2. Windows Subsystem For Linux sẽ tải, cài đặt Bash On Ubuntu, và tạo lối tắt truy cập ở Start Menu.
  3. Sau khi Bash được cài đặt, bạn sẽ cần tạo tài khoản UNIX (gồm tên tài khoản và mật khẩu)

Ghi chú: Không cần phải giống với tài khoản và mật khẩu của Windows

Chúc mừng! – Bạn đã thành công trong việc cài đặt Bash On Ubuntu trên Windows 10. Bây giờ bạn có thể sử dụng bằng cách truy cập Start Menu và tận hưởng các tiện ích mà Unix và Linux mang lại.

 

Làm thế nào để sử dụng Bash On Ubuntu On Windows 10?

Sau quá trình cài đặt, bạn có thể sử dụng Bash với quyền truy cập cao nhất trên Windows 10. Các tập tin hệ thống (ổ C) được đặt trong danh mục /mnt/c trong môi trường shell, tương tự cho drivers.

Ghi chú: Giống với hệ thống *NIX, Bash trên môi trường của Windows 10 cũng phân biệt ký tự Hoa-Thường rất rõ ràng, các tên “ash”, “Ash”, “AsH” và “ASH” là sẽ được xem là những tên khác nhau.

 

Làm thế nào để cài đặt nhiều công cụ và tiện ích *NIX hơn?

Bạn có thể cài đặt thêm các phần mềm hoặc cập nhật các công cụ hiện có bằng cách sử dụng dòng lệnh apt-get, với sudo chạy với quyền root hoặc admin trên Windows.

Dưới đây là một danh sách các dòng lệnh apt-get bạn có thể sử dụng để cài đặt phần mềm *NIX:

  • sudo apt-get update – Cập nhật các gói danh sách thông tin (danh sách các phần mềm đang có sẵn cũng như phiên bản của nó)
  • sudo apt-get install <package-name> – Cài đặt các ứng dụng mới (thay “<package-name>” với tên phần mềm để cài đặt)
  • sudo apt-get remove <package-name> – Gỡ bỏ ứng dụng hiện tại (thay “<package-name>” với tên phần mềm cần gỡ bỏ)
  • sudo apt-cache search <query-word> – Tìm kiếm các gói có sẵn (thay “<query-word>” với tên gói để tìm)
  • sudo apt-get upgrade – Tải và cập nhật các gói phần mềm đã cài đặt

Sau khi tải và cài đặt ứng dụng, bạn cần gõ tên của chúng vào Bash shell (ngoài extension) và nhấn Enter để chạy.

Chú ý: Các công cụ và tiện ích nền Linux bị hạn chế chỉ chạy được trên Bash shell.

 

Làm thế nào để chạy Bash Scripts?

Trong Bash shell, bạn có thể sử dụng nano hoặc vi editor để tạo shell scripts. Sau khi tạo Scipt với những dòng lệnh được yêu cầu, lưu lại và tắt trình chỉnh sửa, sau đó làm các bước sau để chạy command-line script:

  1. Chạy Scripts bằng cách sử dụng lệnh chmod, ví dụ, chmod + x ./myscript.sh cho script tên “myscript.sh”.
  2. Chạy Scipts trong Terminal bằng cách xác định đường dẫn đầy đủ của Scripts này, ví dụ, ./mycript.sh cho script tên “myscript.sh”

 

Làm thế nào để chạy lệnh Linux bên ngoài Bash?

Để thực hiện lệnh *NIX, bạn không cần phải chạy Bash shell trước, thay vào đó hãy chạy script hoặc khởi động một chương trình. Bạn có thể chạy dòng lệnh trực tiếp bằng cách sử dụng bash -c, lệnh có thể được sử dụng cho nhiều mục đích như:

Tạo lối tắt Desktop

  • Chạy chương trình Linux trực tiếp từ công cụ Run
  • Gọi lệnh Linux theo nhóm hoặc PowerShell scripts

Ví dụ, bạn có thể làm các bước sau để chạy trình chỉnh sửa “vi”:

  1. Nhấn “Win” + “R” để chạy công cụ Run
  2. Trong cửa sổ Run, đánh bash -c “vi” và nhấn OK để chạy trình chỉnh sửa vi

 

Làm thế nào để chạy chương trình GUI với Bash?

Bash On Ubuntu không hỗ trợ phần mềm GUI một cách tương thích hoàn toàn, nhưng bạn vẫn có thể chạy một số công cụ biểu đồ với thủ thuật VNC cũ rích. Thủ thuật đòi hỏi “X Server” chạy trên Windows, và Bash On Ubuntu được cấu hình để định tuyến biểu đồ đến máy chủ.

Dưới đây là các bước thiết lập:

  1. Cài đặt ứng dụng X Server trên Windows như Xming

 

  1. Cài đặt chương trình GUI trong Bash bằng lệnh apt-get, ví dụ: chạy  sudo apt-get install vim-gtk để cài đặt trình chỉnh sửa Vim nền GTK
  1. Sau khi cài đặt xong, chạy lệnh export DISPLAY=:0 trong Bash

Ghi chú: Bạn phải chạy lệnh này mỗi lần mở lại Bash.

  1.  Bây giờ, khởi động công cụ GUI*NIX bằng cách chạy tên thực thi của nó trong Bash, ví dụ, thực thi lệnh gvim để khởi động trình chỉnh sửa Vim nền GTK

Lưu ý: mẹo này vẫn chưa hoàn toàn được hỗ trợ cho tất cả GUI nền *NIX, vậy nên nếu phần mềm ưa thích của bạn không thể hoạt động, đừng lo lắng và hãy chờ đợi những bản cập nhật chính thức trong tương lai. Hơn nữa, hệ thống vẫn còn crash khi chạy một số công cụ GUI vì lý do tương tự.

 

Những lệnh Bash phổ biến và hữu dụng

Bash On Ubuntu hỗ trợ rất nhiều lệnh phổ biến và nhiều tiện ích khác cho công việc cũng như viết Script. Đây là một số lệnh phổ biến của Unix và Linux

 

Tóm lại – Một khởi đầu suông sẻ

Bash On Ubuntu trên Windows 10 chứng tỏ một khởi đầu mới đối với Microsoft vì cuối cùng hãng cũng hổ trợ những phần mềm miễn phí và mã nguồn mở trên nền tảng windows.

Điều này cho phép lập trình viên tận dụng hệ sinh thái mã nguồn mở rộng lớn mà không cần phải cài đặt song song Linux với Windows hay cài đặt máy ảo.

Tuy nhiên, các ứng dụng *NIX vẫn chưa thể tương tác với các phần mềm Windows khác. Hy vọng tương lai Microsoft sẽ hỗ trợ điều đó, dù sao thì đây vẫn chỉ là giai đoạn khởi động mà thôi.

Chia sẻ bài viết ngay