ユーザーがログインするのではなく、システム起動時にシステムユーザーサービスを開始します。

ユーザーがログインするのではなく、システム起動時にシステムユーザーサービスを開始します。

UID 1000 のサービス定義が与えられると、~/.config/systemd/user/do-something.serviceサービスは自動的にインストール、有効化、および開始されます。ログインするときdo-something.service、始めたいです。システム起動時代わりに。

考えられる解決策の1つは、[email protected]それをシステム依存関係としてインストールすることですmulti-user.target。しかし、これが推奨される設定であるかどうか、および欠点は何であるかが問題です。

答え1

私が知る限りArchWikiのsystemd/ユーザーエントリ、起動時にユーザーマネージャの起動はsystemd-logindによって処理されます。現在のユーザーの場合:

loginctl enable-linger

その他の場合USER(ユーザー名またはID):

sudo loginctl enable-linger USER

~からマニュアルページ:

特定のユーザーに対して有効になっている場合、起動時にそのユーザーのユーザー管理者が作成され、ログアウト後も保持されます。これにより、ログインしていないユーザーが長期実行サービスを実行できるようになります。

関連情報