J'ai besoin de démonifier une application Windows exécutée dans Wine et de créer un pid /var/run
. Puisqu'il nécessite une session X11 pour fonctionner, je dois m'assurer que la variable $ DISPLAY est définie dans l'environnement de l'utilisateur en cours d'exécution.
En supposant que j'ai déjà une session X11 en cours d'exécution, avec un affichage donné, voici à quoi ressemble la ligne start-stop-daemon dans mon /etc/init.d
script:
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
Malheureusement, ma version de start-stop-daemon sur Ubuntu 8.04 n'a pas la -e
possibilité de définir des variables environnementales. Je suppose que vous pouvez simplement définir $ DISPLAY avant la commande, comme ceci:
VAR1="Value" start-stop-daemon ...
Mais ça ne marche pas. Puisque j'utilise l' -c {user}
option pour exécuter en tant qu'utilisateur spécifique, je suppose qu'il y a un commutateur d'environnement et VAR1 est perdu. J'ai essayé d'exporter DISPLAY depuis l'utilisateur en cours d'exécution .profile
et / ou .bashrc
mais cela ne fonctionne pas non plus.
Y a-t-il une autre façon de procéder? Est-ce seulement possible? Suis-je en train d'oublier quelque chose?
Vous pouvez utiliser
env
pour modifier l'environnement:la source