Chạy Alpine Linux desktop trên VMware

Alpine Linux là một Distro nhẹ, đầy đủ tính năng thường được sử dụng cùng với Docker. Tuy nhiên, vượt ra ngoài khuôn khổ Docker, trải nghiệm Alpine Linux Desktop trên VMware là một ý tưởng khá thú vị. Bài viết này chia sẻ cách cài đặt Alpine Linux Desktop với môi trường desktop XFCE trên VMware cùng với một số phần mềm và bộ gõ tiếng việt Ibus Bamboo.

Phiên bản sử dụng để cài trên VMware là VIRTUAL Alpine Linux

Cài đặt Alpine Linux

Alpine Linux 3.16

Những lưu ý về tính năng của phiên bản 3.16

  • Hỗ trợ tốt hơn NVMe
  • Chỉ cần 1 lệnh setup-desktop để cài đặt môi trường đồ họa cho Alpine
  • Thay thế sudo bằng doas

Phiên bản 3.16 đã hỗ trợ tốt NVMe. Do đó thông số lúc tạo cấu hình máy ảo nên chọn NVMe để tốc độ truy suất được hỗ trợ tốt hơn, hệ điều hành ảo chạy nhanh hơn.

Máy ảo chạy Alpine linux trong VMware

Máy ảo chạy Alpine linux trong VMware

Việc cài đặt hệ điều hành ban đầu khá dễ dàng và tương tự như phiên bản 3.13. Tuy nhiên lưu ý chọn no ở phần thiết lập user trong lúc cài đặt. Việc cài đặt user mới và cấu hình cho user sẽ được thực hiện sau.

Cài đặt Alpine với ổ cứng NVMe trong VMware

Cài đặt Alpine với ổ cứng NVMe trong VMware

Sau khi cài đặt xong, reboot và login với tài khoản root

  • Kích hoạt repo community bằng cách bỏ dấu # đầu dòng ở file /etc/apk/repositories

  • Tìm kiếm và cài đặt các gói hỗ trợ VMware để màn hình có thể hiển thị đầy đủ trên vmware

apk search vmmouse
apk search vmware

Cài đặt tất cả gói hỗ trợ ngoại trừ doc.

Cài đặt tất gói hỗ trợ ngoại trừ doc

Cài đặt tất gói hỗ trợ ngoại trừ doc

Cho phép chạy vmtools cùng lúc khởi động hệ thống

rc-update add open-vm-tools
  • Thêm user skywirex

Tài khoản root chỉ nên được sử dụng cho mục đích quản trị mà đòi hỏi quyền truy cập ở mức cao. Thông thường nên sử dụng tài khoản user để sử dụng hệ điều hành.

Nếu một tài khoản user cần phải có quyền root, thì có thể được thêm vào group wheel, cần phải cài đặt doas (“do as”) và cho phép group wheel trở thành root:

adduser -h /home/skywirex -s /bin/sh skywirex
adduser skywirex wheel
apk add doas
vi /etc/doas.d/doas.conf

Thêm dòng sau vào file cấu hình

permit persist :wheel
  • Cài đặt môi trường đồ họa:

Để cài đặt môi trường đồ hoạ cho Alpinelinux bạn có thể sử dụng câu lệnh sau để kích hoạt script tự động thực hiện việc cài đặt:

setup-desktop

Ngoài ra, bạn có thể cài đặt thủ công bằng những câu lệnh bên dưới

setup-xorg-base xfce4 xfce4-terminal dbus-x11 thunar-volman font-noto

Khởi chạy dịch vụ dbus (desktop bus)

rc-service dbus start

Chạy dbus sau khi khởi động hệ thống

rc-update add dbus

mdev là trình quản lý thiết bị thay thế cho udev, chạy và khởi động mdev và khởi động cùng hệ thống

rc-service mdev start 
rc-update add mdev

Alpine Linux 3.13

Tạo máy ảo với các thông số tương tự như bên dưới, lưu ý tùy theo mục đích sử dụng mà nên để dung lượng ổ cứng ảo cao hay thấp

Cấu hình máy ảo chạy Alpine linux trong VMware

Cấu hình máy ảo chạy Alpine linux trong VMware

Việc cài đặt Alpine Linux trong VMware diễn ra khá nhanh chóng và dễ dàng. Bạn chỉ cần lưu ý một số tùy chọn như những hình bên dưới:

Bắt đầu quá trình cài đặt Alpine Linux

Bắt đầu quá trình cài đặt Alpine Linux

Những tùy lưu ý khi cài đặt Alpine Linux

Những tùy lưu ý khi cài đặt Alpine Linux

Cài đặt XFCE Desktop

Cài đặt gói giao diện desktop cơ bản và font. Lưu ý nên cài bộ font để các ứng dụng hiển thị đúng.

setup-xorg-base xfce4 xfce4-terminal dbus-x11 thunar-volman font-noto

Khởi chạy dịch vụ dbus (desktop bus)

rc-service dbus start

Chạy dbus sau khi khởi động hệ thống

rc-update add dbus

Khởi chạy trình quản lý thiết bị (udev) và khởi động cùng hệ thống

rc-service udev start 
rc-update add udev

Login Alpine với giao diện người dùng

apk add lightdm lightdm-gtk-greeter

Thêm user

adduser skywirex

Cấp quyền sudo cho user đã được thêm vào

# visudo
root ALL=(ALL) ALL
Cấp quyền sudo cho user trong Alpine

Cấp quyền sudo cho user trong Alpine

Cài đặt các gói hỗ trợ của VMware

Để Alpine chạy trơn tru trên máy ảo thì bạn cần cài đặt thêm một số gói của VMtools

Lịch sử câu lệnh cài đặt tham khảo

Lịch sử câu lệnh cài đặt tham khảo

Cài đặt ứng dụng trên Alpine Linux

Trình duyệt web Firefox
apk add firefox
Bộ gõ tiếng việt IBus Bamboo

Để cài bộ gõ tiếng việt Ibus Bamboo trên Alpine, hiện tại bạn phải build file binary từ nguồn. Tương tự như Debianbuild-essential thì trên Alpine phải cài là build-base

apk --no-cache --update add build-base git curl

Theo hướng dẫn của tác giả Ibus Bamboo cần thêm các gói sau:

apk add go libx11-dev libxtst-dev

hoặc sử dụng go ở repo edge

apk add go@edge libx11-dev libxtst-dev

Ngoài ra không thể thiếu các gói dưới đây để tránh lỗi cài đặt và chạy Ibus Bamboo

apk add gtk+3.0 gtk+3.0-dev ibus

Bắt đầu clone source, build và cài

git clone https://github.com/BambooEngine/ibus-bamboo.git
cd ibus-bamboo
make install

Tùy chỉnh bộ gõ trong Ibus Preferences

Để bộ gõ khởi động cùng hệ thống:

Menu > Settings > Session and Startup > Application Autostart
+ Add
   Name: ibus-daemon
   Description:
   Command: /usr/bin/ibus-daemon -drx
Chạy Ibus Daemon cùng hệ thống

Chạy Ibus Daemon cùng hệ thống

Telegram
apk add telegram-desktop@edge

Nếu không gõ được tiếng việt trên Telegram thì bạn chỉnh file nano /etc/profile thêm vào những dòng sau:

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
# Dành cho những phần mềm dựa trên qt4
export QT4_IM_MODULE=ibus
# Dành cho những phần mềm dùng thư viện đồ họa clutter/OpenGL
export CLUTTER_IM_MODULE=ibus
export GLFW_IM_MODULE=ibus

Alpine Linux 3.20

Disk and Install

Disk and Install

Kiểm tra IP để SSH vào máy ảo

Kiểm tra IP để SSH vào máy ảo

SSH vào máy ảo VMware

SSH vào máy ảo VMware

Tìm kiếm các gói hỗ trợ của vmware

Tìm kiếm các gói hỗ trợ của vmware

Loạt lệnh này nhằm thiết lập một môi trường máy ảo với hỗ trợ đồ họa trên Alpine Linux, đặc biệt là cho VMware.

doas apk search vmtools
doas apk add open-vm-tools open-vm-tools-gtk open-vm-tools-hgfs xf86-video-vmware
doas rc-service open-vm-tools start
doas rc-update add open-vm-tools
doas setup-xorg-base
doas apk add lxqt-desktop obconf-qt lximage-qt pavucontrol-qt screengrab arandr sddm elogind polkit-elogind gvfs udisks2
doas rc-service dbus start
doas rc-update add dbus
doas rc-service sddm start
doas rc-update add sddm
doas apk add adwaita-icon-theme adwaita-qt oxygen

Dưới đây là giải thích cho từng lệnh:

  1. doas apk search vmtools

    • doas: Một lệnh cho phép người dùng thực thi các lệnh dưới quyền của người dùng khác, tương tự như sudo.
    • apk search vmtools: Tìm kiếm các gói liên quan đến VMware tools trong kho phần mềm của Alpine Linux.
  2. doas apk add open-vm-tools open-vm-tools-gtk open-vm-tools-hgfs xf86-video-vmware

    • apk add: Cài đặt các gói phần mềm từ kho của Alpine.
    • open-vm-tools: Cài đặt công cụ VMware (để phục vụ cho mục đích ảo hóa).
    • open-vm-tools-gtk: Thêm hỗ trợ cho các ứng dụng đồ họa trên VMware tools.
    • open-vm-tools-hgfs: Kích hoạt thư mục chia sẻ giữa máy chủ và máy ảo trong VMware.
    • xf86-video-vmware: Cài đặt driver video cho máy ảo VMware để hỗ trợ đồ họa đúng cách.
  3. doas rc-service open-vm-tools start

    • Khởi động dịch vụ open-vm-tools, cho phép chức năng của VMware tools sau khi cài đặt.
  4. doas rc-update add open-vm-tools

    • Đăng ký dịch vụ open-vm-tools để tự động khởi động khi hệ thống khởi động.
  5. doas setup-xorg-base

    • Thiết lập máy chủ Xorg, cần thiết cho các giao diện đồ họa. Xorg quản lý màn hình và các thiết bị đầu vào.
  6. doas apk add lxqt-desktop obconf-qt lximage-qt pavucontrol-qt screengrab arandr sddm elogind polkit-elogind gvfs udisks2

    • Cài đặt các gói bổ sung cần thiết cho một môi trường desktop nhẹ và các tiện ích cơ bản:
      • lxqt-desktop: Môi trường desktop LXQt.
      • obconf-qt: Công cụ cấu hình của LXQt.
      • lximage-qt: Trình xem hình ảnh cho LXQt.
      • pavucontrol-qt: Điều khiển âm lượng cho PulseAudio trong LXQt.
      • screengrab: Công cụ chụp màn hình.
      • arandr: Giao diện đồ họa để cấu hình cài đặt màn hình.
      • sddm: Trình quản lý đăng nhập đồ họa.
      • elogind: Triển khai logind độc lập cho quản lý phiên.
      • polkit-elogind: Gói Polkit (policy kit) tích hợp với elogind.
      • gvfs: Cung cấp chức năng hệ thống tập tin ảo (ví dụ, cho việc gắn ổ đĩa).
      • udisks2: Tiện ích quản lý ổ đĩa.
  7. doas rc-service dbus start

    • Khởi động dịch vụ dbus, cần thiết cho giao tiếp liên quy trình trong môi trường đồ họa.
  8. doas rc-update add dbus

    • Thêm dịch vụ dbus để tự động khởi động khi hệ thống khởi động.
  9. doas rc-service sddm start

    • Khởi động dịch vụ sddm (Simple Desktop Display Manager), dịch vụ quản lý các phiên đăng nhập đồ họa.
  10. doas rc-update add sddm

    • Thêm dịch vụ sddm để tự động khởi động khi hệ thống khởi động.
  11. doas apk add adwaita-icon-theme adwaita-qt oxygen

    • Cài đặt các gói biểu tượng và giao diện để nâng cao giao diện đồ họa của môi trường desktop:
      • adwaita-icon-theme: Bộ biểu tượng Adwaita, được sử dụng phổ biến trong nhiều môi trường desktop.
      • adwaita-qt: Cung cấp tích hợp giao diện Adwaita cho các ứng dụng Qt.
      • oxygen: Một bộ giao diện/biểu tượng khác, chủ yếu được sử dụng trong các môi trường KDE nhưng cũng có thể áp dụng cho LXQt.

Tóm lại:

Loạt lệnh này cài đặt và cấu hình VMware tools, thiết lập máy chủ Xorg, cài đặt môi trường desktop LXQt, thiết lập trình quản lý đăng nhập đồ họa (SDDM), và đảm bảo các dịch vụ cần thiết (như dbus và open-vm-tools) được bật khi khởi động.