मैं ओएस एक्स मावेरिक्स में जीयूआई ऐप के लिए पर्यावरण चर कैसे सेट कर सकता हूं?


19

मैं ओएस एक्स मावेरिक्स में चलाने के लिए एक ऐप प्राप्त करने के लिए संघर्ष कर रहा हूं। मैं अंत में .app बंडल में ड्रिलिंग करके और शेल स्क्रिप्ट को सीधे चलाने के लिए इसे प्राप्त करने में सक्षम था। ऐसा लगता है कि JAVA_HOME को सेट करने की आवश्यकता है। तो मैं इसे अपने लाभ में खोल में सेट करता हूं, और सब कुछ ठीक काम करता है।

हालाँकि, अगर मैं बस आइकन को गोदी में क्लिक करना चाहता हूँ, तो यह नहीं चलेगा। मेरा अनुमान है कि ऐसा इसलिए है क्योंकि JAVA_HOME विश्व स्तर पर सेट नहीं है। चूंकि मैं ऐप को सीधे शेल से नहीं चला रहा हूं, OS X को नहीं पता है कि JAVA_HOME क्या है। यह बस देखता रहता है।

OS X के पिछले संस्करणों में, ऐसा लगता है कि GUI ऐप्स के लिए पर्यावरण चर केवल /etc/launchd.conf में जोड़कर सेट किए जा सकते हैं। यह फ़ाइल Mavericks में मौजूद नहीं है। मैं एक वैश्विक पर्यावरण चर कैसे सेट कर सकता हूं जो एमएवरिक्स में GUI ऐप्स के लिए काम करेगा?

जवाबों:


24

/etc/launchd.conf डिफ़ॉल्ट रूप से अस्तित्व में नहीं है, लेकिन यह अभी भी 10.9 में काम करता है।

  1. उदाहरण के लिए भागो sudo nano /etc/launchd.conf
  2. जैसे कोई लाइन जोड़ें setenv JAVA_HOME /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home। (मैं नहीं जानता कि JAVA_HOMEवास्तव में हालांकि क्या होना चाहिए।)
  3. या तो फिर से शुरू करें या launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.confफिर चलाएं और फिर से शुरू करें।

launchctl exportउपयोगकर्ता लॉन्च प्रक्रिया sudo launchctl exportद्वारा निर्यात किए गए प्रिंट चर और रूट लॉन्च प्रक्रिया द्वारा निर्यात किए गए चर प्रिंट करते हैं।

इस विधि का उपयोग डिफ़ॉल्ट पथ सेट करने के लिए भी किया जा सकता है। उदाहरण के लिए मैंने इस लाइन को इसमें जोड़ा है /etc/launchd.conf:

setenv PATH /Users/lauri/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin

(मैंने /Users/lauri/binइसके बजाय इस्तेमाल किया ~/binक्योंकि रूट के रूप में चलने वाले कार्यक्रमों के लिए ~/binहोगा /var/root/bin।)


5
/etc/launchd.confसिस्टम को पुनः आरंभ किए बिना परिवर्तन कैसे प्राप्त करें, यह समझाने के लिए +1 । PATH परिवेश चर फ़ाइलों को कॉन्फ़िगर करने के /etc/paths.d/लिए उपयोग किया जाना चाहिए।
टिमो मीनन

4
वास्तव में, /etc/launchd.conf10.10 के बाद अब काम नहीं करता है
ओएलजीजी 9'14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.