2 điểm bởi GN⁺ 2025-01-19 | 1 bình luận | Chia sẻ qua WhatsApp
  • isd là một công cụ cung cấp cách tốt hơn để quản lý các unit systemd, cho phép tìm kiếm unit qua giao diện người dùng terminal (TUI), tự động làm mới phần xem trước, xử lý sudo thông minh và cung cấp giao diện có thể tùy biến

Động lực ngắn gọn

  • isd đơn giản hóa quy trình phức tạp cần thiết để tương tác với các unit systemd và cung cấp thông tin hữu ích cho người dùng
  • Giảm sự phiền toái khi phải nhập lặp đi lặp lại các lệnh systemctl, đồng thời tự động làm mới kết quả đầu ra

Cài đặt

  • isd có thể được cài đặt thông qua AppImage, nix và uv
  • AppImage là một tệp thực thi đơn có thể chạy trên mọi bản phân phối Linux, nên cũng có thể dùng trên các máy chủ từ xa bị giới hạn quyền
  • Để cài đặt isd trong môi trường nix, có thể dùng gói nix để cài đặt
  • uv là trình quản lý gói Python, có thể dùng uv để cài đặt và quản lý isd

Cách dùng isd

  • isd cho phép tìm kiếm các unit systemd, kiểm tra trạng thái và cung cấp phần xem trước thông tin chi tiết của nhiều unit
  • Gửi các lệnh systemctl tới unit đã chọn và tự động làm mới phần xuất trạng thái
  • Có thể mở pager trong isd để xem toàn bộ phần xuất trạng thái
  • Có thể mở một pager riêng cho đầu ra Journal, đồng thời thiết lập theme và key binding tùy chỉnh

Chế độ người dùng/hệ thống

  • isd chạy ở chế độ user hoặc system, và loại unit được hiển thị sẽ khác nhau tùy theo từng chế độ

Tìm kiếm mờ

  • Qua thanh tìm kiếm mờ, có thể tải tất cả unit và tệp unit khớp với nội dung đã nhập, rồi làm nổi bật chúng theo trạng thái hiện tại

Chọn nhiều unit

  • Có thể chọn nhiều unit trong widget kết quả tìm kiếm, đồng thời xem trước các unit đã chọn

Bảng lệnh

  • Có thể mở bảng lệnh để xem tất cả lệnh khả dụng và các key binding

Lệnh

  • Ví dụ, có thể nhấn Ctrl+O để dừng unit đã chọn

Hỗ trợ pager

  • Trong khi chạy isd, có thể mở pager để xem toàn bộ đầu ra xem trước

Tùy biến

  • isd cung cấp khả năng tùy biến và cấu hình, với nhiều theme và key binding để giúp người dùng đạt năng suất tối ưu

Tóm tắt

  • Khuyến nghị tự dùng thử để xem isd có hữu ích với bạn hay không

Bước tiếp theo

  • Hãy xem phần tùy biến và bảo mật

1 bình luận

 
GN⁺ 2025-01-19
Ý kiến trên Hacker News
  • Nhiều người dùng cảm thấy bất tiện vì các lệnh systemd không trực quan. Đặc biệt, phản hồi của lệnh còn thiếu và cấu trúc thư mục phức tạp gây rối

    • Tên thư mục "systemd/system" bị lặp lại nên gây bất tiện
    • Họ cho rằng giao diện nên thân thiện hơn với con người và Linux vẫn nên giữ được sự thú vị
  • Cách systemd xử lý ExecStop gây khó hiểu

    • ExecStart là lệnh được chạy khi khởi động dịch vụ, còn ExecStop được chạy sau khi lệnh khởi động hoàn tất
    • Có thể dùng thiết lập RemainAfterExit=yes để thực hiện hành vi mong muốn khi dừng dịch vụ
  • Có người thấy việc dùng lệnh CLI khá khó khăn, và nhờ các công cụ như lazygit/lazydocker mà hiểu rõ trạng thái hệ thống hơn

    • Với tư cách là người dùng NixOS, họ nghĩ việc khám phá dịch vụ, khả năng quan sát và quản lý sẽ rất hữu ích
  • Có ý kiến rằng TUI của systemd-client cũng cần thiết trên macOS, FreeBSD và Windows chứ không chỉ Linux

    • Khi cài đặt bằng công cụ uv đã gặp sự cố, nhưng vẫn đánh giá uv nhanh hơn pip
  • Việc cài công cụ bằng uv đã trở nên dễ hơn, nhưng cần một quy trình cài đặt bỏ qua phụ thuộc Python

    • Nó không chạy trên Python 3.10, nhưng đã giải quyết được bằng tùy chọn -p 3.13
  • Có người nói rằng làm việc với API systemd/dbus khá khó, nhưng kỳ vọng dự án mới này sẽ là thứ đáng thử và có thể học hỏi được

  • Dù phần lớn tương tác với systemd chỉ là các tác vụ nhỏ, họ vẫn thấy tính khả dụng còn thiếu và đánh giá TUI là hữu ích

    • Họ cho biết đã tự động hóa việc tương tác hệ thống để giảm bớt sự bất tiện
  • Một điểm đáng tiếc là không thể cài trên máy chủ từ xa và image Docker

    • Họ muốn cài cục bộ rồi thực thi lệnh từ xa qua ssh và docker exec
  • Có người thích systemd, nhưng muốn biết liệu có thể kết nối tới host từ xa trước khi cài đặt hay không

    • Họ thường xuyên dùng lệnh systemctl --host <hostname>
  • Có người muốn chạy một dịch vụ trước một dịch vụ cụ thể khác, nhưng muốn biết liệu có thể làm vậy mà không cần sửa file unit của dịch vụ kia hay không