start-stop-daemon สามารถใช้ตัวแปรสภาวะแวดล้อมได้หรือไม่?


10

ฉันต้อง daemonize แอพ Windows ที่ทำงานใน Wine และสร้าง pid /var/runค่ะ เนื่องจากต้องใช้เซสชัน X11 จึงต้องตรวจสอบให้แน่ใจว่าตัวแปร $ DISPLAY ได้รับการตั้งค่าในสภาพแวดล้อมของผู้ใช้ที่กำลังทำงานอยู่

สมมติว่าฉันมีเซสชั่น X11 ทำงานอยู่โดยมีจอแสดงผลที่กำหนดนี่คือสิ่งที่บรรทัด start-stop-daemon ดูเหมือนใน/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

น่าเสียดายที่ start-stop-daemon เวอร์ชันของฉันใน Ubuntu 8.04 ไม่มี-eตัวเลือกในการตั้งค่าตัวแปรสภาพแวดล้อม ฉันรวบรวมว่าคุณสามารถตั้งค่า $ DISPLAY ก่อนคำสั่งดังนี้:

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

แต่มันไม่ทำงาน เนื่องจากฉันใช้-c {user}ตัวเลือกในการเรียกใช้ในฐานะผู้ใช้เฉพาะฉันเดาว่ามีสวิตช์ของสภาพแวดล้อมและ VAR1 จะหายไป ฉันได้ลองส่งออก DISPLAY จากผู้ใช้ที่กำลังทำงานอยู่.profileและ / หรือ.bashrcแต่ไม่สามารถใช้งานได้

มีวิธีอื่นในการทำเช่นนี้หรือไม่? เป็นไปได้ไหม ฉันมองอะไรบางอย่าง

คำตอบ:


3

คุณสามารถเขียนเชลล์สคริปต์เพื่อตั้งค่าตัวแปรแล้วรันไวน์


ยังไม่ได้มีโอกาสที่จะนำสิ่งนี้ไปสู่การปฏิบัติ แต่ฉันเขียนสคริปต์และดูเหมือนว่าวิธีที่ดีที่สุดที่จะไป ขอบคุณสำหรับทิป!
scottburton11

21

คุณสามารถใช้envเพื่อแก้ไขสภาพแวดล้อม:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.