我需要守护在Wine中运行的
Windows应用程序,并在/ var / run中创建一个pid.由于它需要运行X11会话,我需要确保在运行用户的环境中设置了$DISPLAY变量.
假设我已经运行了一个X11会话,并且有一个给定的显示,这是我的/etc/init.d脚本中的start-stop-daemon行的样子:
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
不幸的是,我在Ubuntu 8.04上的start-stop-daemon版本没有-e选项来设置环境变量.我认为你可以在命令之前设置$DISPLAY,如下所示:
VAR1="Value" start-stop-daemon ...
但它不起作用.由于我使用-c {user}选项作为特定用户运行,我猜测有一个环境切换并且VAR1丢失.我已经尝试从正在运行的用户的.profile和/或.bashrc中导出DISPLAY,但它也不起作用.
还有另一种方法吗?这有可能吗?我忽略了什么吗?
解决方法
您可以编写一个shell脚本来设置变量,然后运行wine.