システムサポートサービスは起動時に起動できませんが、手動で起動できます。

システムサポートサービスは起動時に起動できませんが、手動で起動できます。

/etc/systemd/system/に次のtest.serviceを作成しました。

[Unit]
Description=Operations
After=multi-user.target

[Service]
ExecStart=/opt/sga/tools/test_service_start.sh

ExecStop=/opt/sga/tools/test_stop.sh


[Install]
WantedBy=default.target

systemctl -l status test.service を実行すると、次のコマンド出力が表示されます。

● test.service - test_Operations
   Loaded: loaded (/etc/systemd/system/test.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

再起動後に「journalctl -u test.service -b」を実行した場合:

 - No entries

誰が私を助けることができますか?

ベストアンサー1

システムバスを使用する場合、通常は次のものを使用します。

[Install]
WantedBy=multi-user.target

システムによって、またはdefault.targetにエイリアス(シンボルリンク)が割り当てられます。私のシステムでは、次へのdefault.targetシンボリックリンクを見ることができます。multi-user.targetgraphical.targetgraphical.target

$ systemctl status default.target
● graphical.target - Graphical Interface
     Loaded: loaded (/lib/systemd/system/graphical.target; static)
     Active: active since Wed 2021-03-17 07:44:06 CET; 6h ago
       Docs: man:systemd.special(7)

graphical.targetちょっと変です。ジョブを実行するためにグラフィカル環境が必要な場合は、通常、システムバスの代わりにユーザーバスを使用する必要があるためです。それ以外の場合、設定XAUTHORITYと設定を同時にしないと問題が発生します。DISPLAY

2つのオプションがあります。

  1. WantedBy=multi-user.targetアプリケーションにグラフィック環境が必要ない場合に使用します。ファイルを編集する前に実行してsudo systemctl disable test.serviceシンボリックリンクを削除し、ファイルを編集しますsudo systemctl daemon-reload && sudo systemctl enable test.service

  2. そのままにしWantedBy=default.targetてもグラフィック環境が必要な場合は、サービスをユーザーバスに移動してください。ユーザーバスの別のオプションはですgraphical-session.target。しかし、まだDEでは実装されていないので、これはよりよく合うように聞こえますが、選択する前にシステムで発生していることを確認してください。

おすすめ記事