Ich muss eine Windows-App, die in Wine ausgeführt wird, dämonisieren und eine PID erstellen /var/run
. Da für die Ausführung eine X11-Sitzung erforderlich ist, muss sichergestellt werden, dass die Variable $ DISPLAY in der Umgebung des laufenden Benutzers festgelegt ist.
Angenommen, ich habe bereits eine X11-Sitzung mit einer bestimmten Anzeige ausgeführt, sieht die Start-Stopp-Dämon-Zeile in meinem /etc/init.d
Skript folgendermaßen aus:
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
Leider kann meine Version von start-stop-daemon unter Ubuntu 8.04 keine -e
Umgebungsvariablen festlegen. Ich verstehe, dass Sie einfach $ DISPLAY vor dem Befehl setzen könnten, wie folgt:
VAR1="Value" start-stop-daemon ...
Aber es funktioniert nicht. Da ich die -c {user}
Option verwende, um als bestimmter Benutzer ausgeführt zu werden, gibt es vermutlich einen Umgebungsschalter und VAR1 geht verloren. Ich habe versucht, DISPLAY vom laufenden Benutzer zu exportieren .profile
und / oder, .bashrc
aber es funktioniert auch nicht.
Gibt es einen anderen Weg, dies zu tun? Ist das überhaupt möglich? Übersehe ich etwas?
Sie können
env
die Umgebung ändern:quelle