最近のLinuxディストリビューションでは、systemdは既存の/etc/init.dスクリプトを置き換えました。ユーザーサービスをサポートできます。
systemctl --user start my.service
initスクリプトを使って同様のことができるかどうか疑問に思います。つまり、システムの起動時に一般ユーザーにサービスを実行させるようにします。
答え1
すべてのinitscriptは、すべてのユーザーとして任意のコマンドを実行できますsu $user -c "/home/$user/onboot.sh"
。これにより、起動時にのみユーザースクリプトが起動され、必要なものは何でも実行できます。ユーザーにシステムユーザーサービスなどの機能を提供したい場合は、Supervisordを提供し、起動時に自動的に起動するようにinitscriptを作成します。もちろん、自分で同様のことを行うこともできます。毎分実行されるcronjobを作成し、まだ実行していない場合はスーパーバイザを起動することもできます。初期化スクリプトがなくても同じように動作します。