今systemdに答えがあります。

今systemdに答えがあります。

Ubuntu 15.04には次のファイルがあります。/usr/local/bin/myscript(私が作ったスクリプトです。)

マイアカウントでこのコマンドを実行すると、rootとして実行するために必要な操作が実行されます。sudo /usr/local/bin/myscript

今やりたい/usr/local/bin/myscriptコンピュータの起動時にルートとして実行されます(パスワードを入力せずにsudoコマンドを実行するのと同じ)。 Ubuntu 15.04ではどうなりますか?

ベストアンサー1

今systemdに答えがあります。

Ubuntuバージョン15を使用しています。あなたは体系化しました。 /etc/rc.localせいぜいsystemdの以前のバージョンとの互換性メカニズムです。以下のハイパーリンクでリンクされたAskUbuntuの質問に表示されている混乱を使用すると、ひどく間違っている可能性があります。したがって、適切なシステムサービスユニットを作成してください。

/etc/systemd/system/ローカル、非システム、および非パッケージのサービスユニットを作成するので、そのタイプのユニットがある場所にユニットファイルが配置されます。ただそう呼んでください/etc/systemd/system/myscript.service。これには以下が含まれます。

[単位]
説明=user2580のスクリプト
ドキュメント=https://unix.stackexchange.com/questions/202698/

[提供する]
タイプ=シンプル
ExecStart=/usr/local/bin/myscript

[インストールする]
WantedBy =マルチユーザー。ターゲット

スクリプトが「デーモン用」に分岐している場合は、そうしないようにしてください。それは完全に不要です。

  • systemctl preset myscript.service起動時に自動的に起動するには、スーパーユーザーとして実行してください。
  • systemctl start myscript.service手動で起動するには、今すぐ実行(スーパーユーザーとして)してください。
  • 実行しsystemctl status myscript.serviceてステータスを確認してください。

Xサーバーと通信できるコンテキストではスクリプトは実行されません。 Xサーバーが起動する前に実行することもできます。ただし、Xクライアントになるための要件については言及しておらず、HOME初心者には複雑な環境変数やその他の問題についても言及していません。とにかく、これらは他の質問のトピックです。だから私はそのままにします。

追加読書

おすすめ記事