जवाबों:
मुझे लगता है कि पर्यावरण चर पर समुदाय विकी पृष्ठ आपको छांटने में मदद करेगा
Sagarchalise के उत्तर में जोड़ने के लिए, मैं सारांशित कर सकता हूं कि सेटिंग्स के लिए उपयुक्त स्थानों के रूप में लिंक क्या सुझाता है।
/etc/environment /etc/profileया/etc/bash.bashrcपृष्ठ से:
/etc/environment[...] विशेष रूप से सिस्टम-वाइड वातावरण चर सेटिंग्स के लिए है। यह एक स्क्रिप्ट फ़ाइल नहीं है, बल्कि असाइनमेंट एक्सप्रेशंस, प्रति पंक्ति एक है। विशेष रूप से, यह फ़ाइल सिस्टम-वाइड लोकेल और पथ सेटिंग्स को संग्रहीत करती है।
उपयोग करना जाने के /etc/profileलिए एक बहुत यूनिक्स-वाई तरीका है, लेकिन उबंटू के तहत इसकी कार्यक्षमता बहुत कम है। यह केवल इंगित करने /etc/bash.bashrcऔर प्रविष्टियों को एकत्रित करने के लिए मौजूद है /etc/profile.d।
मेरे सिस्टम पर, profile.d में एकमात्र दिलचस्प प्रविष्टि प्रविष्टि है /etc/profile.d/bash_completion.sh।
उबंटू पृष्ठ के पिछले संस्करण की सिफारिश की गई है ~/.pam_environment, लेकिन वर्तमान में यह पृष्ठ बताता है कि यदि यह काम नहीं करता है, तो आपको उपयोग करना चाहिए
~/.profile- यह पर्यावरण चर असाइनमेंट रखने के लिए शायद सबसे अच्छी फ़ाइल है, क्योंकि यह स्टार्टअप प्रक्रिया डेस्कटॉप सत्र के दौरान डिस्प्लेमैनगर द्वारा स्वचालित रूप से निष्पादित हो जाता है और साथ ही साथ लॉगिन शेल द्वारा जब एक लॉग-इन टेक्स्टुअल कंसोल से होता है।
~/.bash_profileया ~./bash_login- यदि इनमें से कोई एक मौजूद है, ~/.profileतो बैश एक लॉगिन शेल के रूप में शुरू होने के बजाय इसे निष्पादित करता है । बैश का चुनाव करेगा ~/.bash_profileकरने के लिए ~/.bash_login। [...] ये फ़ाइलें डिफ़ॉल्ट रूप से चित्रमय सत्र को प्रभावित नहीं करेंगी। "
~/.bashrc - "... चर सेट करने के लिए सबसे आसान जगह हो सकती है"। /etc/environmentऔर कब? यह क्रोन के साथ काम करने के लिए प्रतीत नहीं होता है, यहां तक कि जब भी उपयोग किया जाता हैSHELL=/bin/bash
/etc/environmentकी तरह है JAVA_HOME="/opt/java" और ANT_HOME="/opt/ant" कैसे यह करने के लिए
तुम्हें मिल गया है:
/ etc / प्रोफाइल: बॉर्न शेल (sh (1)) और बॉर्न संगत गोले (bash (1), ksh (1), ash (1), ...) के लिए सिस्टम-वाइड .profile फ़ाइल।
जो ल्युसिड और मेवरिक में चलता है
/etc/profile.d/*.sh
यदि मौजूद है, और यदि उपयोगकर्ता का शेल बैश है:
/etc/bash.bashrc
उपयोगकर्ता पर्यावरण के लिए, शेल के लिए एक भ्रामक सरणी है और क्या इसे "लॉगिन शेल" माना जाता है। यदि शेल बैश है:
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
श / डैश के लिए:
$HOME/.profile
zsh के लिए, मैं इस बारे में समझ बनाने की कोशिश करने वाला नहीं हूं ।
Https://help.ubuntu.com/community/EnvironmentVariables पर सिफारिश की गई है :
वैश्विक पर्यावरण चर का मतलब सभी उपयोगकर्ताओं को प्रभावित करना चाहिए /etc/environment।
उपयोगकर्ता-विशिष्ट वातावरण चर सेट किया जाना चाहिए ~/.pam_environment।
उबंटू पर पर्यावरण चर स्थापित करने के लिए प्रोफ़ाइल और आरसी फ़ाइलों से बचें। उन्होंने मेरे लायक होने की तुलना में मुझे अधिक सिरदर्द दिया है।
यह हालांकि कहा गया आसान है;)
यह संभव है कि आप उसी कॉन्फ़िगरेशन गैप में चल सकते हैं जो मेरे लिए मौजूद था। नीचे एन्क्रिप्टेड घर के लिए समाधान देखें।
~/.pam_environment:PATH DEFAULT=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:${HOME}/bin
IDEA_JDK DEFAULT=${HOME}/Applications/jdk
क्यों बदसूरत स्थिर पथ? ${PATH}मेरे लिए काम नहीं करेगा। मैंने अपने लॉगिन को कई बार इसके चारों ओर काम करने की कोशिश की, इसलिए मैं चूक की बदसूरत स्थिर प्रतिलिपि के साथ चिपका रहा हूँ :)
उबंटू रिलीज में और सटीक 12.04 बीटा 2 को शामिल करने के लिए, यदि आप एक एन्क्रिप्टेड होम डायरेक्टरी का उपयोग कर रहे हैं तो आपको /etc/pam.d/common-sessionइसे लोड करने के लिए संशोधित करना होगा ~/.pam_environment। यह समाधान स्पष्ट रूप से पहले रिलीज के लिए काम करता है, लेकिन मैंने इसका परीक्षण नहीं किया है।
यह एन्क्रिप्टेड होम निर्देशिकाओं के साथ एक मुद्दा लगता है। मैंने कहा
सत्र आवश्यक pam_env.so
/etc/pam.d/common-session के अंत में और अब ~ / .pam_environment पढ़ा जाता है। एन्क्रिप्टेड होम निर्देशिकाओं के बिना एक अन्य प्रणाली पर (10.04 भी) काम की आवश्यकता नहीं है। शायद मेरे मामले में, सिस्टम डिक्रिप्ट होने से पहले ~ / .pam_environment पढ़ने की कोशिश करता है।
सुपर यूजर पर मेरे जवाब से अनुकूलित: https://superuser.com/a/408373/66856
${HOME}या तो काम नहीं करेगा। में विस्तार नहीं है .pam_environment।
.pam_environment, लेकिन HOMEयह आमतौर पर जल्दी सेट नहीं होता है। यदि वह पंक्ति पढ़ी थी DEFAULT=${PATH}/Applications/jdk, तो आपने PATHउसमें सम्मिलित मूल्य देखा होगा।