Bisakah start-stop-daemon menggunakan variabel lingkungan?

10

Saya perlu mengubah aplikasi Windows yang berjalan di Wine, dan membuat pid /var/run. Karena membutuhkan sesi X11 untuk dijalankan, saya perlu memastikan variabel $ DISPLAY disetel di lingkungan pengguna yang berjalan.

Dengan asumsi saya sudah menjalankan sesi X11, dengan tampilan yang diberikan, beginilah tampilan garis start-stop-daemon dalam /etc/init.dskrip saya :

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

Sayangnya, versi saya start-stop-daemon di Ubuntu 8.04 tidak memiliki -eopsi untuk mengatur variabel lingkungan. Saya mengetahui bahwa Anda cukup menetapkan $ DISPLAY sebelum perintah, seperti:

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

Tapi itu tidak berhasil. Karena saya menggunakan -c {user}opsi untuk berjalan sebagai pengguna tertentu, saya menduga ada perubahan lingkungan dan VAR1 hilang. Saya sudah mencoba mengekspor DISPLAY dari pengguna yang menjalankan .profiledan / atau .bashrctetapi tidak berhasil.

Apakah ada cara lain untuk melakukan ini? Apakah ini mungkin? Apakah saya mengabaikan sesuatu?

scottburton11
sumber

Jawaban:

3

Anda bisa menulis skrip shell untuk mengatur variabel dan kemudian menjalankan anggur.

Teddy
sumber
Belum punya kesempatan untuk mempraktikkan ini, tapi saya menulis skrip dan sepertinya cara terbaik untuk pergi. Terima kasih atas tipnya!
scottburton11
21

Anda dapat menggunakan envuntuk memodifikasi lingkungan:

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
Jakob
sumber