起動時にコマンドを実行する

起動時にコマンドを実行する

私は最近「思い出させる」を Linux で試しました。すぐに気に入りましたが、リマインダーをポップアップ表示するには、デーモン モードで「remind」を実行する必要がありました。次のコマンドを使用して簡単に実行できます。

remind -z -k'gmessage %s &' /home/googie/.reminders &

コンピュータを起動するたびに「リマインド」デーモンを手動で起動するのは面倒なので (誰かが私に思い出させなければなりません!)、起動時に自動的に実行するようにしようと思いました。これはかなり簡単に実行できるだろうと思っていましたが、驚きました。

私は次のことを(この順序で)実行しました。

  1. スクリプト(開始、停止、再起動のケースを含む)を作成し、それを /etc/init.d に配置し、'update-rc.d' を実行して特定のランレベルのリンクを作成し、再起動しましたが、うまくいきませんでした。
  2. 'remind.conf'ファイルを作成し、/etc/initに配置しました('http://upstart.ubuntu.com/getting-started.html')、再起動しました --- まだ運がありません
  3. '/etc/rc.local' を開き、'exit 0' の直前に 'remind' デーモンを起動するコマンドを配置し、再起動しましたが、まだうまくいきません
  4. crontab を開き (sudo crontab -e)、最後の行に '@reboot' と続けて 'remind' デーモンを起動するコマンドを記述し、再起動しましたが、まだうまくいきません。
  5. 「システム->設定->スタートアップアプリケーション」を開き、「remind」デーモンを起動するコマンドで新しいスタートアッププログラムを追加し、再起動しましたが、まだうまくいきません
  6. ホームディレクトリにスクリプトを作成し、スクリプト内に「remind」デーモンを起動するコマンドを配置し、「/etc/rc.local」からこのスクリプトを呼び出し、再起動しました --- それでもうまくいきません
  7. crontab で '@reboot' の後にホーム ディレクトリのスクリプトを呼び出し、再起動しましたが、まだうまくいきません
  8. 「システム > 環境設定 > スタートアップ アプリケーション」を使用してホーム ディレクトリ内のスクリプトを呼び出しました --- 最終的に機能し、「remind」デーモンが実行されるようになりました。

それで、私の3つの質問は次の通りです:

  1. Linux で起動時に何かを実行するのは本当に複雑なのでしょうか、それとも単に私の知識不足なのでしょうか?
  2. 手順 1 と 2 を試すことは賢明でしょうか? これらは何かをサービスにするために使用されると思います。'remind' デーモンもサービスではないでしょうか?
  3. 「/etc/rc.local」または「crontab」アプローチが機能しなかったのはなぜですか? 何が問題なのか確認できるログはありますか?

(関連する参考文献があれば教えていただければ幸いです)

答え1

1) 残念ながら後者だと思います。でも気にしないでください。ほとんどの人はそれにつまずきます。

2+3) 機能する可能性があるのは 5 と 8 だけです。スタートアップ スクリプトと cron はログイン セッションを認識しないため、正しい方向を示すことはできませんremindgmessageまた、5 が機能しなかったのは、末尾のアンパサンドがコマンドではなくシェルの機能であるためです。コマンドがスタートアップ アプリケーションとして実行されている場合は、おそらくアンパサンドは不要です。

答え2

~/.xinitrcこの行を任意の X Window デスクトップの起動スクリプトに追加できます。

関連情報