isdは、systemd ユニットを管理するためのより良い方法を提供するツールで、ターミナルユーザーインターフェース(TUI)を通じてユニットを検索し、プレビューを自動更新し、スマートな sudo 処理とユーザー向けのカスタマイズ可能なインターフェースを提供する
短い動機
isdは、systemd ユニットとやり取りするために必要な複雑な手順を簡素化し、ユーザーに有用な情報を提供する
systemctl コマンドを繰り返し入力する手間を減らし、出力結果を自動的に更新する
インストール
isdは AppImage、nix、uv を通じてインストール可能
- AppImage は、すべての Linux ディストリビューションで実行できる単一の実行ファイルで、権限が制限されたリモートサーバーでも使用可能
- nix 環境で
isd をインストールするには、nix パッケージを使ってインストールできる
- uv は Python パッケージマネージャーであり、uv を通じて
isd をインストールおよび管理できる
isd の使い方
isdは systemd ユニットを検索して状態を確認し、複数ユニットの詳細情報をプレビューで提供する
- 選択したユニットに
systemctl コマンドを送り、状態出力を自動的に更新する
isd 内で pager を開き、完全な状態出力を確認できる
Journal 出力用の別の pager を開くことができ、カスタムテーマとキーバインドを設定できる
ユーザー/システムモード
isdは user または system モードで実行され、各モードによって表示されるユニットの種類が異なる
あいまい検索
- あいまい検索バーを通じて、入力内容に一致するすべてのユニットとユニットファイルを読み込み、現在の状態に応じて強調表示する
複数ユニットの選択
- 検索結果ウィジェットで複数のユニットを選択でき、選択されたユニットのプレビューを提供する
コマンドパレット
- コマンドパレットを開いて、利用可能なすべてのコマンドとキーバインドを確認できる
コマンド
- たとえば、
Ctrl+O を押して選択したユニットを停止できる
ページャー対応
isdを実行しながら pager を開き、完全なプレビュー出力を確認できる
カスタマイズ
isdはカスタマイズ性と設定可能性を提供し、ユーザーが最適な生産性を発揮できるよう、さまざまなテーマとキーバインドを提供する
まとめ
isd が役に立つかどうか判断するために、実際に使ってみることを勧める
次のステップ
- カスタマイズおよびセキュリティのセクションを確認すること
1件のコメント
Hacker Newsのコメント
systemd のコマンドは直感的ではなく、不便に感じるユーザーが多い。特に、コマンドのフィードバックが不足しており、ディレクトリ構造も複雑で混乱しやすい
systemd/systemディレクトリ名が重複していてわかりづらいsystemd の ExecStop の扱い方がわかりにくい
RemainAfterExit=yes設定により、サービス終了時に望む動作を行わせることができるCLI コマンドの利用に難しさを感じており、lazygit / lazydocker のようなツールを使うことでシステム状態をより把握しやすくなった
systemd-client の TUI は Linux 以外の macOS、FreeBSD、Windows でも必要だと言及している
uv によってツールのインストールは簡単になったが、Python 依存関係を無視するインストールルーチンが必要だとしている
-p 3.13オプションで解決したsystemd/dbus API の作業は難しかったが、新しいプロジェクトを試して学べることがありそうだと期待している
systemd とのやり取りのほとんどは些細な作業であるにもかかわらず、使い勝手が不足しており、TUI が助けになると評価している
リモートサーバーや Docker イメージにインストールできない点が残念だとしている
docker execコマンドを通じてリモートコマンドを実行したいとしているsystemd は好きだが、インストール前にリモートホストへ接続できるか気になっている
systemctl --host <hostname>コマンドをよく使っている特定のサービスの前に別のサービスを実行したいが、他のサービスのユニットファイルを変更せずに可能かどうか気にしている