Чи може старт-стоп-демон використовувати змінні середовища?


10

Мені потрібно демонізувати додаток Windows, що працює у Wine, та створити pid в /var/run. Оскільки для запуску потрібен сеанс X11, мені потрібно переконатися, що змінна $ DISPLAY встановлена ​​в середовищі працюючого користувача.

Якщо припустити, що у мене вже запущений сеанс X11, із заданим дисплеєм, ось як виглядає рядок старт-стоп-демон в моєму /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

На жаль, у моїй версії start-stop-демон на Ubuntu 8.04 немає -eможливості встановлювати змінні середовища. Я вважаю, що ви можете просто встановити $ DISPLAY перед командою, наприклад:

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

Але це не працює. Оскільки я використовую -c {user}опцію для запуску в якості конкретного користувача, я здогадуюсь, що існує комутатор середовища, і VAR1 втрачено. Я спробував експортувати DISPLAY від працюючого користувача .profileта / або, .bashrcале він також не працює.

Чи є інший спосіб зробити це? Це навіть можливо? Я щось переглядаю?

Відповіді:


3

Ви можете написати скрипт оболонки, щоб встановити змінну, а потім запустити вино.


У мене не було можливості здійснити це на практиці, але я написав сценарій і, здається, це найкращий шлях. Дякую за пораду!
scottburton11

21

Ви можете використовувати 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.