Tính linh hoạt của Linux là một trong nhiều lợi ích của nó. Và đặc biệt, một khía cạnh của tính linh hoạt đó là cho phép người dùng tùy chỉnh hoàn toàn môi trường máy tính của mình. Ví dụ, giả sử bạn là một người hâm mộ Linux mạnh mẽ (tất nhiên là bạn), nhưng bạn đang chia sẻ một máy với một người thích một hệ điều hành khác. Bạn có thể khởi động kép, nhưng sau đó điều gì xảy ra với tất cả các tiến trình nền quan trọng bạn đang chạy? Hãy thiết lập hệ thống của bạn để khi người dùng cụ thể này đăng nhập, họ sẽ truy cập trực tiếp vào Máy ảo đang chạy hệ điều hành yêu thích của họ.

Điều kiện tiên quyết

Chúng tôi sẽ sử dụng VirtualBox cho bài viết này, nhưng bạn sẽ có thể điều chỉnh khái niệm nếu bạn đang sử dụng một ứng dụng VM khác (nó sẽ chỉ cần có khả năng khởi động một VM từ dòng lệnh). Các bước ban đầu bạn cần thực hiện là:

  1. Cài đặt VirtualBox.
  2. Tạo một máy ảo với hệ điều hành yêu thích của bạn được cài đặt (MTE đã bao gồm cài đặt cả Windows và Mac OS X trước đây).
  3. Khởi động Máy ảo mới của bạn và định cấu hình để thưởng thức.

Quy trình đăng nhập Linux

Thật hữu ích khi hiểu một chút về cách thức quá trình đăng nhập hoạt động trong Linux GUI. Khi hệ thống khởi động, trình quản lý hiển thị sẽ tự động chạy… đây là lý do tại sao ngày nay bạn được chào đón bằng một đăng nhập đồ họa đẹp, chứ không phải dấu nhắc lệnh cũ khi khởi động. Khi bạn đăng nhập, trình quản lý hiển thị sẽ bắt đầu một ứng dụng hoặc tập lệnh, điều này sẽ bắt đầu một số chương trình, tập lệnh và quy trình khác. Ví dụ, trong môi trường KDE, trình quản lý hiển thị không quan tâm đến tất cả các tiến trình nền - nó chỉ cần chạy kịch bản lệnh “ startkde ”. Tập lệnh khởi động sẽ vẫn chạy miễn là bạn đang sử dụng máy tính để bàn. Một khi bạn thoát khỏi desktop của bạn (bằng cách sử dụng một tùy chọn như “Log Out” hoặc “Restart”), tất cả các quá trình của desktop sẽ tự tắt, và khi chúng được thực hiện, script khởi động cũng biết nó có thể thoát ra. Trình quản lý hiển thị đang chờ ở chế độ nền và khi tập lệnh khởi động thoát, trình quản lý hiển thị sẽ kiểm soát và hiển thị lại màn hình đăng nhập của bạn.

Thiết lập kịch bản khởi động tùy chỉnh của bạn

Vì vậy, để cho phép người dùng đăng nhập trực tiếp vào máy ảo, tất cả những gì chúng ta cần làm là tạo một tập lệnh khởi động sẽ tự động chạy VM này cho chúng. Bước đầu tiên là tạo tập lệnh này, điều này đơn giản trong Linux. Tạo một tệp văn bản mới (hãy gọi nó là winxp-session ) và dán vào các mục sau:

 #! / bin / bash VirtualBox --startvm [tên máy ảo bạn đã tạo 

Bạn có thể thử chạy lệnh Virtual Box từ thiết bị đầu cuối để đảm bảo nó hoạt động chính xác ... nếu không, bạn có thể có tên của VM sai chính tả (ghi nhớ nếu tên máy ảo của bạn có dấu cách, bạn sẽ cần phải đính kèm nó trong một dấu ngoặc kép). Tiếp theo, hãy chạy lệnh sau để làm cho tập lệnh có thể chạy được:

 chmod 755 winxp-session 

Sau đó, bạn sẽ cần phải sao chép tập tin này đến một nơi nào đó nó có thể được thực hiện. Thư mục “/ usr / bin” là một tùy chọn ở đây, như là “/ usr / local / bin”. Bạn sẽ cần phải được root để làm như vậy cho cả hai địa điểm này. Để đặt nó trong “/ usr / bin”, sử dụng lệnh sau:

 sudo cp winxp-phiên / usr / bin 

Bước cuối cùng là tạo lối tắt ở vị trí mà trình quản lý hiển thị tìm các tập lệnh khởi động sẵn có. Trong Ubuntu, đây là thư mục “/ usr / share / xsessions /”. Với trình soạn thảo văn bản, hãy tạo một tệp mới (ví dụ: "/usr/share/xsessions/winxp-session.desktop"):

 [Desktop Entry] Tên = Windows XP Exec = / usr / bin / winxp-phiên 

Bây giờ, nếu bạn đang ở trên màn hình, hãy đăng xuất. Máy tính để bàn dựa trên máy ảo mới của bạn sẽ sẵn sàng cho bạn khi trình quản lý hiển thị xuất hiện trở lại. Lưu ý, tuy nhiên, phiên này sẽ chỉ có sẵn cho người dùng đã tạo VM (vì nó sẽ chỉ nằm trong thư mục “~ / VirtualBox VMs /” của người dùng đó).

Hãy cho chúng tôi biết nếu điều này hữu ích cho bạn hoặc nếu bạn có bất kỳ câu hỏi nào.