Start-stop-daemon có thể sử dụng các biến môi trường không?


10

Tôi cần phải tạo một ứng dụng Windows đang chạy trong Wine và tạo một pid trong /var/run. Vì nó yêu cầu một phiên X11 để chạy, tôi cần đảm bảo biến $ HIỂN THỊ được đặt trong môi trường của người dùng đang chạy.

Giả sử tôi đã có phiên X11 đang chạy, với màn hình đã cho, đây là dòng start-stop-daemon trông như thế nào trong /etc/init.dtập lệnh của tôi :

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

Thật không may, phiên bản start-stop-daemon của tôi trên Ubuntu 8.04 không có -etùy chọn để đặt các biến môi trường. Tôi tập hợp rằng bạn chỉ có thể đặt $ HIỂN THỊ trước lệnh, như vậy:

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

Nhưng nó không hoạt động. Vì tôi đang sử dụng -c {user}tùy chọn để chạy như một người dùng cụ thể, tôi đoán có một công tắc môi trường và VAR1 bị mất. Tôi đã thử xuất HIỂN THỊ từ người dùng đang chạy .profilevà / hoặc .bashrcnhưng nó cũng không hoạt động.

Có một cách khác để làm điều này? Điều này thậm chí có thể? Tôi đang nhìn cái gì đó?

Câu trả lời:


3

Bạn có thể viết một kịch bản shell để đặt biến và sau đó chạy rượu.


Haven đã không có cơ hội để thực hành điều này, nhưng tôi đã viết kịch bản và nó có vẻ là cách tốt nhất để đi. Cảm ơn vì tiền hỗ trợ!
scottburton11

21

Bạn có thể sử dụng envđể sửa đổi môi trường:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.