2012-01-24 6 views
6

मेरे कार्यक्रम इसके मापदंडों में से एक के हिस्से के रूप में एक वातावरण चर की आवश्यकता है:मैं .desktop फ़ाइल की निष्पादन रेखा में पर्यावरण चर का उपयोग कैसे करूं?

myprogram --folder=$HOME/.special 

हालांकि, अगर मैं इस एक .desktop फ़ाइल के कार्यकारी लाइन में डाल दिया, यह काम नहीं करता:

Exec=myprogram --folder=$HOME/.special 

$ HOME कुछ भी हल करने के लिए प्रतीत होता है।

उत्तर

16

डिफ़ॉल्ट वातावरण चर द्वारा सभी कार्यान्वयनों द्वारा हल नहीं किया जा रहा है, हालांकि आप इसके बजाय sh को निष्पादित कर सकते हैं, जो पारित पर्यावरण चर को हल करेगा। ध्यान दें कि डेस्कटॉप स्पेक के लिए आपको बैकस्लैश के साथ = और $ वर्ण से बचने की भी आवश्यकता है। तो अगर आप चाहते हैं:

Exec=sh -c "myprogram --folder\=\$HOME/.special" 

अक्षर हैं जो भागने की जरूरत है की पूरी सूची के लिए, the specification

+1

देखते हैं अपने पात्रों स्ट्रिंग में कर रहे हैं, तो आप किसी भी वर्ण से बचने के लिए की जरूरत नहीं है। – ggg

+0

मुझे इस चाल को आजमाने की ज़रूरत है, लेकिन मुझे यह पसंद है। यहां एक आईएमओ spec का थोड़ा और पठनीय संस्करण है, https://developer.gnome.org/desktop-entry-spec/#exec-variables। – dragon788

संबंधित मुद्दे

 संबंधित मुद्दे