Start-stop-daemon può usare variabili ambientali?


10

Devo demonizzare un'app di Windows in esecuzione su Wine e creare un pid in /var/run. Poiché richiede l'esecuzione di una sessione X11, devo assicurarmi che la variabile $ DISPLAY sia impostata nell'ambiente dell'utente in esecuzione.

Supponendo che ho già una sessione X11 in esecuzione, con un determinato display, ecco come appare la linea di demone start-stop nel mio /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

Sfortunatamente, la mia versione di start-stop-daemon su Ubuntu 8.04 non ha l' -eopzione per impostare variabili ambientali. Accetto che potresti semplicemente impostare $ DISPLAY prima del comando, in questo modo:

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

Ma non funziona Dal momento che sto usando l' -c {user}opzione per essere eseguito come un utente specifico, suppongo che ci sia un interruttore di ambiente e VAR1 è perso. Ho provato a esportare DISPLAY dall'utente in esecuzione .profilee / o .bashrcma non funziona neanche.

c'è un altro modo per fare ciò? È possibile? Sto trascurando qualcosa?

Risposte:


3

È possibile scrivere uno script di shell per impostare la variabile e quindi eseguire wine.


Non ho avuto la possibilità di metterlo in pratica, ma ho scritto la sceneggiatura e sembra il modo migliore per andare. Grazie per il consiglio!
scottburton11,

21

È possibile utilizzare envper modificare l'ambiente:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.