एकता अनुप्रयोग लांचर के लिए पर्यावरण चर सेट करें


8

हमने .desktopअपना एप्लिकेशन लॉन्च करने के लिए एक फ़ाइल बनाई है । हमारे आवेदन की आवश्यकता है, कि एक निश्चित वातावरण चर सही ढंग से कॉन्फ़िगर किया गया है। मैं इस पर्यावरण चर को प्रति-उपयोगकर्ता आधार पर कैसे कॉन्फ़िगर कर सकता हूं (सामान्य उम्मीदवार जिन्हें मैं जानता हूं, जैसे ~/.bashrcऔर ~/.profileकाम नहीं करते)।

हो सकता है कि कोई काम हो गया हो, इसलिए मैं एप्लिकेशन लॉन्च करने से पहले Exec=इसे .desktopफ़ाइल की लाइन में कॉन्फ़िगर कर सकता हूं ?

जवाबों:


15

डेस्कटॉप फ़ाइल में ही, आप इस प्रोग्राम को निष्पादित कर सकते हैं env:

Exec=/usr/bin/env VAR=value /usr/bin/yourprogram

वैकल्पिक रूप से, एक आवरण स्क्रिप्ट (उदाहरण के लिए /usr/bin/yourprogram.env) का उपयोग करें:

#!/bin/sh
VAR=value
export VAR
exec /usr/bin/yourprogram.real "$@"

हालांकि, दोनों खराब समाधान हैं, क्योंकि एकता एक आवरण के माध्यम से शुरू होने पर कार्यक्रम को सही ढंग से ट्रैक नहीं कर पाएगी।

~/.profileकाम करना बेहतर होगा - सुनिश्चित करें कि आप सही सिंटैक्स का उपयोग कर रहे हैं और वह सब:

export VAR=value

या

VAR=value
export VAR

यह भी याद रखें कि जब आप लॉग इन करते हैं , तब~/.profile ही पढ़ा जाता है , इसलिए आपको इसे बदलने के बाद लॉग आउट करना होगा।


धन्यवाद। दुर्भाग्य से, उपयोग करने का आपका सुझाव env VAR=value /my/appकाम नहीं करता है; लॉन्च होने पर पर्यावरण चर VARसेट नहीं valueहोता है /my/app(मैंने desktopफ़ाइल को संपादित करके कोशिश की है ~/.gnome/apps)। रैपर स्क्रिप्ट बनाना मेरे लिए कोई विकल्प नहीं है, क्योंकि यह एंड-यूजर्स को वितरित किए गए हमारे एप्लिकेशन के लिए काम करना चाहिए और मुझे नहीं पता कि एंड-यूज़र को कहां चाहिए कि रैपर स्क्रिप्ट स्थित हो (लॉन्चर बनाने के लिए व्यवस्थापक अधिकारों की आवश्यकता नहीं है )।
माइक एल।

(हुह? मुझे नहीं पता ~/.gnome/appsथा कि यह अभी भी उपयोग में है; इसे ~/.local/share/applicationsपिछले कुछ वर्षों से कहा जाता है ।) @ माइक, अगर यह आपका अपना आवेदन है, तो इसे उचित पर्यावरण चर का निर्धारण करने के लिए स्वचालित रूप से निर्धारित क्यों नहीं किया जा सकता है? (इसके अलावा, क्या मैं पूछ सकता हूं कि आप विशेष रूप से किस चर को स्थापित कर रहे हैं?)
उपयोगकर्ता 16

मैं हमारे एप्लिकेशन के लिए जावा रनटाइम वातावरण के स्थान को परिभाषित करने वाला एक चर सेट करने का प्रयास कर रहा हूं।
माइक एल।

1
शायद कुछ मानक स्थानों के मानकों
।freedesktop.org

मैंने .desktopफ़ाइल का उपयोग करके स्थापित किया है xdg-desktop-menu install <my-desktop-file>। ऐसा लग रहा है कि इसे दो स्थानों पर कॉपी किया गया है और मैं हमेशा गलत एक का संपादन कर रहा था ...
मिक एल।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.