¿Puede start-stop-daemon usar variables ambientales?

10

Necesito demonizar una aplicación de Windows que se ejecuta en Wine y crear un pid in /var/run. Como requiere una sesión X11 para ejecutarse, necesito asegurarme de que la variable $ DISPLAY esté configurada en el entorno del usuario en ejecución.

Suponiendo que ya tengo una sesión X11 ejecutándose, con una pantalla dada, así es como se ve la línea start-stop-daemon en mi /etc/init.dscript:

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

Desafortunadamente, mi versión de start-stop-daemon en Ubuntu 8.04 no tiene la -eopción de establecer variables ambientales. Entiendo que simplemente podría establecer $ DISPLAY antes del comando, así:

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

Pero no funciona. Como estoy usando la -c {user}opción para ejecutar como un usuario específico, supongo que hay un cambio de entorno y se pierde VAR1. Intenté exportar DISPLAY desde el usuario en ejecución .profiley / o .bashrctampoco funciona.

Hay otra manera de hacer esto? ¿Es esto posible? ¿Estoy pasando por alto algo?

scottburton11
fuente

Respuestas:

3

Puede escribir un script de shell para establecer la variable y luego ejecutar wine.

Osito de peluche
fuente
No he tenido la oportunidad de poner esto en práctica, pero escribí el guión y parece ser la mejor manera de hacerlo. ¡Gracias por el consejo!
scottburton11
21

Puede usar envpara modificar el entorno:

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
fuente