Você pode escrever um script de shell para definir a variável e depois executar o vinho.
Eu preciso daemonizar um aplicativo do Windows em execução no Wine e criar um pid em /var/run
. Como requer que uma sessão X11 seja executada, preciso ter certeza de que a variável $ DISPLAY esteja definida no ambiente do usuário em execução.
Supondo que eu já tenha uma sessão X11 em execução, com uma determinada exibição, aqui está como a linha start-stop-daemon se parece no meu script /etc/init.d
:
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
Infelizmente, minha versão do start-stop-daemon no Ubuntu 8.04 não possui a opção -e
para definir variáveis ambientais. Eu entendo que você poderia simplesmente definir $ DISPLAY antes do comando, assim:
VAR1="Value" start-stop-daemon ...
Mas isso não funciona. Como estou usando a opção -c {user}
para executar como um usuário específico, acredito que haja um switch de ambiente e a VAR1 está perdida. Eu tentei exportar DISPLAY do usuário em execução .profile
e / ou .bashrc
, mas ele também não funciona.
Existe outra maneira de fazer isso? Isso é possível? Eu estou negligenciando alguma coisa?
Você pode usar env
para modificar o 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