Tôi đang sử dụng Fedora CoreOS có bật trình cập nhật tự động, điều này rất phù hợp với trường hợp sử dụng của tôi. Hiện tại, khi đăng nhập tương tác, hệ thống sẽ cảnh báo về việc tắt/khởi động lại sắp xảy ra thông qua bảng điều khiển, với các cơ chế tương tự được mô tả trong các câu trả lời như
Gửi tin nhắn tắt máy cho tất cả khách hàng từ máy chủ
Tuy nhiên, người dùng "thực tế" của máy chủ này không phải là người dùng Linux có quyền truy cập SSH mà truy cập vào các máy chủ như IRC hoặc các dịch vụ khác. Tôi muốn "bắt" thông báo cảnh báo tắt máy và chuyển tiếp nó tới từng dịch vụ, s.t. họ có thể phát sóng nó.
Các dịch vụ được sắp xếp bằng cách sử dụng các thùng chứa podman/docker không có đặc quyền chạy qua systemd (podman-tạo-systemd
) đơn vị người dùng.
Tôi có thể (ab) sử dụng ExecStopPre
cài đặt trong đơn vị systemd thành luôn ngủ 5m
trước khi tắt thiết bị. Tuy nhiên, đây không chính xác là những gì tôi muốn vì tôi muốn có thể khởi động lại/dừng dịch vụ ngay lập tức khi thực hiện thủ công bằng cách sử dụng systemctl --user dừng/khởi động lại
.
Tôi hiện thấy hai đường dẫn có thể kích hoạt tính năng này:
- một số cách để các đơn vị nghe tin nhắn trên tường và chuyển tiếp chúng
- một số cách để xác định
--ignore ExecStopPre
trên bảng điều khiển.
Điều thứ hai có thể đạt được, mặc dù không thuận tiện, bằng cách sử dụng systemctl --user chỉnh sửa --runtime
. Tuy nhiên, cách tiếp cận thứ hai có thời gian ngừng hoạt động (ab) khi sử dụng ExecStopPre trong khi nó có thể cần thiết cho các mục đích khác.
Tuy nhiên, tôi rất vui vì những ý tưởng về cách đạt được (1) hoặc làm cho (2) trở nên thú vị hơn một chút khi làm việc. Hoặc thậm chí các cách tiếp cận hoàn toàn khác nhau cho vấn đề.