Cấu hình Agent cho chế độ không giao diện và tự động khởi chạy trên Linux
Bạn muốn chuẩn bị máy chủ Linux của mình để sử dụng Multilogin ở chế độ không giao diện? Hãy thiết lập cả hai tiện ích này như các dịch vụ Systemd. Systemd là trình quản lý dịch vụ cho Linux , xử lý các tác vụ như khởi động và dừng dịch vụ trong quá trình khởi động. Bài viết này sẽ hướng dẫn bạn cấu hình Agent cho trường hợp sử dụng này.
Xin lưu ý rằng bài viết này được viết cho Ubuntu. Các bản phân phối khác không được hỗ trợ chính thức.
Bước 1: Thiết lập XVFB
Xvfb (X Virtual Framebuffer) là một máy chủ hiển thị cho phép các ứng dụng đồ họa chạy trong môi trường không có màn hình vật lý bằng cách tạo ra một màn hình ảo trong bộ nhớ. Nó sẽ cần thiết để Agent hoạt động như mong muốn.
- Mở thiết bị đầu cuối
- Tạo tệp dịch vụ XVFB và nhập lệnh sau:
sudo nano /etc/systemd/system/xvfb.service - Thêm nội dung vào tệp dịch vụ (và nhớ thay thế
YOUR_USERNAMEbằng tên người dùng của bạn trên hệ điều hành Linux ):[Unit] Description=MLX XVFB After=network.target [Service] Type=simple User=YOUR_USERNAME ExecStart=/usr/bin/Xvfb :99 -screen 0 1920x1080x24 Restart=always [Install] WantedBy=multi-user.targetTrong ExecStart, chúng ta cấu hình độ phân giải, số lượng màn hình và thư mục cho XVFB.
- Nhấn CTRL+X, sau đó nhấn Y và Enter để đóng và lưu.
Bước 2: Thiết lập Agent để tự động khởi chạy
- Mở Terminal
- Tạo tệp dịch vụ XVFB và nhập lệnh sau:
sudo nano /etc/systemd/system/mlx.service - Thêm nội dung vào tệp dịch vụ (và nhớ thay thế
YOUR_USERNAMEbằng tên người dùng của bạn trên hệ điều hành Linux ):[Unit] Description=MLX Agent After=xvfb.service Requires=xvfb.service [Service] Type=simple User=YOUR_USERNAME Environment=HOME=/home/YOUR_USERNAME Environment=DISPLAY=:99 ExecStartPre=-/usr/bin/pkill -9 -f mlx ExecStartPre=-/bin/rm -f /home/YOUR_USERNAME/mlx/agent.lock /home/YOUR_USERNAME/mlx/profiles.lock /home/YOUR_USERNAME/mlx/launcher.lock ExecStart=/usr/bin/mlx Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.targetHãy cùng tìm hiểu dịch vụ này làm gì:
Trong
[Unit], chúng ta chờ dịch vụ XVFB để tránh nguy cơ gặp lỗi hiển thị.
Trong[Service], chúng ta thiết lập người dùng, biến trang chủ và biến hiển thị. Biến hiển thị được thiết lập trong dịch vụ Agent chứ không phải XVFB, nếu không Agent sẽ không thể sử dụng nó.
Tiếp theo, với ExecStartPre, chúng ta sẽ kết thúc mọi tiến trình agent còn lại và xóa các tập tin.lock, điều này hữu ích trong trường hợp dịch vụ khởi động lại.ExectStartlà đường dẫn đến tệp nhị phân của Agent trong Linux . - Nhấn CTRL+X, sau đó nhấn Y và Enter để đóng và lưu.
Bước 3: Kích hoạt và tải các dịch vụ
- Tải lại tiến trình nền (một dịch vụ chạy ngầm, có chức năng tải các dịch vụ khác):
sudo systemctl daemon-reload - Kích hoạt cả XFVB và Multilogin X agent như các dịch vụ:
sudo systemctl enable xvfb.service mlx.service - Sử dụng
systemctl(một công cụ tiện ích dùng để quản lý các dịch vụ hệ thống) để khởi động các dịch vụ:
Chúc mừng! Giờ đây, Agent và XVFB sẽ được khởi chạy cùng với hệ điều hành.sudo systemctl start xvfb.service sudo systemctl start mlx.service
Sử dụng systemctl để quản lý các dịch vụ.
Hãy sử dụng tiện ích systemctl để kiểm tra trạng thái dịch vụ. Bạn có thể sử dụng chúng để lấy nhật ký và khắc phục sự cố.
Kiểm tra trạng thái dịch vụ
Hãy kiểm tra trạng thái dịch vụ bằng lệnh sau:
sudo systemctl status xvfb.serviceBạn sẽ thấy các hoạt động của dịch vụ XVFB. Bạn cũng có thể thay đổi xvfb.service thành tên dịch vụ của mình nếu nó khác.
Lấy nhật ký
Lấy nhật ký dịch vụ bằng lệnh journalctl service:
journalctl -u mlx.serviceBạn cũng có thể giới hạn theo số dòng. Với lệnh này, bạn có thể giới hạn số dòng tối đa là 100 :
journalctl -u mlx.service -n 100Bạn cũng có thể giới hạn nhật ký dịch vụ trong một khoảng thời gian nhất định. Sau đây là lệnh để giới hạn nhật ký trong 30 phút gần nhất :
journalctl -u mlx.service --since "30 minutes ago"-f được sử dụng để hiển thị nhật ký theo thời gian thực:
journalctl -u mlx.service -f