बदलते / आदि / पर्यावरण ने मेरे पर्यावरण चर को प्रभावित नहीं किया


10

मैं इन निर्देशों का पालन करते हुए यूलर विशेषज्ञ प्रणाली स्थापित करने का प्रयास कर रहा हूं । पर्यावरण वैरिएबल जोड़ने के लिए मैंने अपना संपादन /etc/environmentइस प्रकार किया:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

लेकिन जब मैं उपयोग करता printenv PATHहूं तो मुझे अपने पथ में नई निर्देशिका नहीं दिखाई देती है।

मुझसे यहां क्या गलत हो रहा है?


यह लिंक अभी काम नहीं कर रहा है (SourceForge नीचे है) लेकिन क्या आप निर्दिष्ट कर सकते हैं कि आप सिस्टम-वाइड वातावरण चर चाहते हैं? चूंकि यह एक आवेदन के लिए है, यह संभावना है, और इसलिए नीचे दिए गए बहुत सारे उत्तर गलत हैं।
माइकल शेपर

जवाबों:


8

मुझे इस बात का कारण नहीं पता कि पैथ को क्यों नहीं बदला गया (पुनर्जन्म के बाद), लेकिन

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

वे स्थान सेट होने के लिए EYE_HOME को रोकते हैं।

यह ध्यान दिया जाना चाहिए कि /etc/environmentएक स्क्रिप्ट फ़ाइल नहीं है, लेकिन एक प्रकार की असाइनमेंट फ़ाइल है जिसे PAM द्वारा पढ़ा जाता है। OTOH जैसे स्क्रिप्ट फ़ाइलों में अनुमति नहीं है /etc/profileऔर ~/.profileया तो।

यदि आप एक स्क्रिप्ट फ़ाइल का उपयोग करते हैं, तो आपको चर का निर्यात करना होगा जैसा कि अविनाश राज के उत्तर में दिखाया गया है।

कृपया ध्यान दें कि जब ~/.bashrcआप टर्मिनल विंडो से अपना प्रोग्राम शुरू करते हैं तो यह काम करता है, यदि आप इसे ग्राफिकल वातावरण से शुरू करते हैं तो यह काम नहीं कर सकता है, क्योंकि यह डिस्प्ले मैनेजर द्वारा खट्टा नहीं है।


@ गनर-हिजाल्मर्सन --- सही। तथ्य यह है कि डिस्प्ले मैनेजर मेरे शेल से शुरू नहीं होता है मुझे बहुत बार काटता है। मैंने DE में सेट किए गए चरों को देखने के लिए एक ट्रिक पोस्ट की है: askubuntu.com/a/356973/16395
Rmano

अच्छी चाल, @ रमनो! कोई भी मौका जो आप इसे help.ubuntu.com/community/EnvironmentVariables से जोड़ सकते हैं ?
गुन्नार हेजलमरसन

धन्यवाद - मैंने कभी उसमें से एक को संपादित नहीं किया और मुझे नहीं पता कि मेरे पास अनुमति थी या नहीं। यदि मेरे पास समय है तो मैं इस पर गौर करूंगा, लेकिन अन्यथा आप जो भी चाहते हैं उसे कॉपी / पेस्ट करने के लिए स्वतंत्र महसूस करते हैं --- उस पृष्ठ को अप-टू-डेट रखने के लिए बुरी तरह से आवश्यकता है। एक प्रश्न: क्या सभी प्रदर्शन प्रबंधक (lightdm, gdm, kdm) स्रोत हैं, ~/.profileभले ही मेरा डिफ़ॉल्ट शेल नहीं है bash, लेकिन उदाहरण के लिए zsh,?
रमानो

खुद से जाँच की। मैं उपयोग करता हूं zsh; अनुप्रयोगों डे द्वारा शुरू में सेट चर को देखने ~/.pam_environmentऔर ~/.profile(नहीं ~/.zprofile)। यह अच्छा और बुरा है, लेकिन खराब हिस्से को बदलकर हल किया जाता है .profileताकि यह मेरे .zprofileऔर .zshenv। और मैं पुष्टि करता हूं कि उपयोग .pam_environmentकरना बुरा है, यह कुछ समय में अधिलेखित हो जाता है (नहीं, लेकिन यह है)।
रमानो

@ रमनो: मुझे पता है कि ~/.profileलाइटमेड और जीडीएम के बीच खटास है; केएमडी के बारे में निश्चित नहीं है।
गुन्नार हेजलमरसन

5
gedit ~/.bashrc

उसके बाद नीचे की पंक्तियों को जोड़ दें,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

फ़ाइल को सेव करें और इसे सॉरेक करें,

source ~/.bashrc

1
कि एक प्रणाली व्यापक चर होगा?
मोहम्मदी ऊंट


1
@AvinashRaj: यह चर न केवल उपयोगकर्ता-केवल होगा, लेकिन यदि एप्लिकेशन कमांड-लाइन टर्मिनल से शुरू नहीं हुआ है तो वे दिखाई नहीं देंगे ... उपयोगकर्ता के शेल का उपयोग न करके, ग्राफ़िकल वातावरण स्वयं से शुरू होता है। देखें askubuntu.com/a/356973/16395
Rmano

0

आप इन दो फ़ाइलों को सिस्टम वाइड कॉन्फ़िगरेशन के लिए भी आज़मा सकते हैं:

  • /etc/profile
  • /etc/bashrc

उपयोगकर्ता विस्तृत कॉन्फ़िगरेशन के लिए:

  • $HOME/.profile
  • $HOME/.bashrc

जैसा आपने किया है वैसा ही चरों को जोड़ें /etc/environment। लेकिन आपको लॉगिन और लॉगआउट करना होगा (या उचित पुनः लोड करना होगा)। शायद लॉगिन और लॉगआउट /etc/environmentसे काम चल जाएगा, लेकिन मुझे यकीन नहीं है।


-1

आप अपनी .bashrc फ़ाइल को अपनी होम निर्देशिका में संपादित करना चाहते हैं।

जब आप पथ को संपादित करते हैं :$PATHतो आपको अंत में शामिल करना चाहिए ताकि आप वर्तमान पथ को प्रतिस्थापित न करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.