web-dev-qa-db-ja.com

start-stop-daemonは環境変数を使用できますか?

Wineで実行中のWindowsアプリをデーモン化し、/var/runにpidを作成する必要があります。これを実行するにはX11セッションが必要なので、実行中のユーザーの環境で$ DISPLAY変数が設定されていることを確認する必要があります。

特定のディスプレイを使用してX11セッションがすでに実行されていると想定すると、start-stop-daemon行は/etc/init.dスクリプトで次のようになります。

start-stop-daemon --start --pidfile /var/run/wine-app.pid -m -c myuser -g mygroup -k 002 --exec /home/myuser/.wine/drive_c/Program\ Files/wine-app.exe

残念ながら、Ubuntu 8.04の私のバージョンのstart-stop-daemonには、環境変数を設定する-eオプションがありません。次のように、コマンドの前に$ DISPLAYを設定するだけでよいことがわかります。

VAR1="Value" start-stop-daemon ...

しかし、それは機能しません。 -c {user}オプションを使用して特定のユーザーとして実行しているので、環境スイッチがあり、VAR1が失われていると思います。実行中のユーザーの.profile.bashrcからDISPLAYをエクスポートしようとしましたが、どちらも機能しません。

これを行う別の方法はありますか?これは可能ですか?私は何かを見落としているか?

10
scottburton11

変数を設定してwineを実行するシェルスクリプトを記述できます。

3
Teddy

envを使用して環境を変更できます。

start-stop-daemon --start --pidfile /var/run/wine-app.pid -m -c myuser -g mygroup -k 002 --exec /usr/bin/env VAR1="Value" /home/myuser/.wine/drive_c/Program\ Files/wine-app.exe
21
Jakob