Может ли start-stop-daemon использовать переменные окружения?


10

Мне нужно демонизировать приложение Windows, работающее в Wine, и создать pid /var/run. Поскольку для запуска требуется сеанс 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

К сожалению, моя версия start-stop-daemon в Ubuntu 8.04 не имеет -eвозможности устанавливать переменные окружения. Я понял, что вы можете просто установить $ DISPLAY перед командой, вот так:

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

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

Есть ли другой способ сделать это? Это вообще возможно? Я что-то пропускаю?

Ответы:


3

Вы можете написать сценарий оболочки для установки переменной и затем запустить wine.


У меня не было возможности применить это на практике, но я написал сценарий, и, похоже, это лучший путь. Спасибо за совет!
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.