起動時にすべてのユーザーに対して「sudo vulkaninfo」を実行します。

起動時にすべてのユーザーに対して「sudo vulkaninfo」を実行します。

システムが起動するたびにコマンドを実行する必要がありますsudo vulkaninfo(システムがスリープ状態から復帰するとき、つまり で実行する方法もわかっています/usr/lib/pm-utils/sleep.d/somescript)。このコマンドはグローバルである必要があるため、すべてのユーザーが起動時にこのコマンドを実行します。/etc/profile.d の下の profile.d にスクリプトを追加しようとしましたが、ログインできなくなりました。rc.local はローカルのみであるため、機能しません。どのようなオプションがありますか?

編集: システム設定を自動化するスクリプトを作成しているため、ターミナルからこれを実行できる必要があります。そのため、プログラムは動作しません。たとえば、ファイルを作成し、コマンドを追加し、システム起動ファイルが配置されている場所にファイルを移動できるコマンドが必要です。

答え1

そのためにroot の crontab を使用します@reboot。これは root スクリプトから簡単に編集できます。

(crontab -l 2>/dev/null; echo "@reboot vulkaninfo") | crontab -

@reboot vulkaninfoこれにより、root の crontab に行が追加され、vulkaninfo起動のたびに root 権限で実行されます。

cron には最小限の環境しかないことに注意してください。コマンドに環境変数の設定が必要な場合は、手動で設定するか、環境変数を設定するファイル ( など) をソースとして指定します$HOME/.profile。コマンドが起動プロセスの早い段階で実行される可能性もありますが、sleepその場合は単純なコマンドまたはテスト ループで回避できます。

参考文献:

関連情報