.profile डेबियन व्हीज़ी LXDE में नहीं है


11

मैं जोड़ने $HOME/binके लिए $PATHसे ~/.profile। हालाँकि, ऐसा लगता है कि यह लॉगिन के दौरान खट्टा नहीं है। मैं एक लॉगिन प्रबंधक का उपयोग करता lxdmहूं - मुझे लगता है, और नहीं startx। मैं इस मामले को जानता हूं कि किन लिपियों को निष्पादित किया जाता है।

स्पष्ट करने के लिए, देखें कि $HOME/binमैं स्पष्ट रूप से स्रोत के बाद कैसे जोड़ा जाता है ~/.profile। लेकिन क्या इसे ग्राफ़िकल लॉगिन के दौरान इसे लागू नहीं किया जाना चाहिए था?

sashoalm@aspire:~$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ source ~/.profile 
sashoalm@aspire:~$ echo $PATH 
/home/sashoalm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ 

क्या आपने इसे / etc / प्रोफाइल में जोड़ने की कोशिश की है?
मारियसमैटुटिया

3
मैं नहीं चाहता कि यह सभी उपयोगकर्ताओं के लिए, केवल एक उपयोगकर्ता के लिए वैश्विक हो।
शशोअल्म

जवाबों:


13

लेकिन क्या इसे ग्राफ़िकल लॉगिन के दौरान इसे लागू नहीं किया जाना चाहिए था?

इस बारे में एक मामूली बहस है, जिस पर कुछ चित्रमय लॉगिन एक असामान्य रुख लेते हैं ...

मैं ~ / .profile से $ PATH में $ HOME / bin जोड़ता हूं। हालाँकि, ऐसा लगता है कि यह लॉगिन के दौरान खट्टा नहीं है। मैं एक लॉगिन प्रबंधक का उपयोग करता हूं - मुझे लगता है कि lxdm

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

स्पष्ट रूप से सोर्सिंग न करने केlightdm लिए मैंने लोगों से जो औचित्य देखा है - क्योंकि एक डीएम एक शेल नहीं है।~/.profile

आप खुद को इसके स्रोत ~/.profileसे देख सकते हैं ~/.xsession- यहां देखें


2
इस उत्तर के लिखे ~/.profileजाने पर ~/.xsessionसंभवत: सोर्सिंग ने काम किया है, लेकिन यह अब काम नहीं करता है। मैंने ~/.xsessionrcइसके बजाय इसे सोर्स करके काम किया ।
फिलिप एस।

2

यदि बैश आपका लॉगिन शेल है, तो यह कोशिश करेगा ~/.bash_profile, ~/.bash_loginऔर ~/.profileइस क्रम में। हालांकि यह पहले एक पर रुक जाएगा ।

यदि आपका ~/.profileस्रोत खस्ता नहीं है, तो इसका मतलब है कि आपकी HOMEनिर्देशिका में अन्य दो (संभवतः दोनों) में से एक है । आपको जाँच करनी चाहिए कि कौन सा नया है, तो PATHपहले एक में नया विवरण रखें।


3
जबकि यह एक संभावित कारण है, वे फाइलें मेरे सिस्टम में मौजूद नहीं थीं (मैंने पूछने से पहले भी जांच की थी)।
शशोअल्म

2

ज्यादातर @goldilocks से सहमत हैं। बस जोड़ना चाहते हैं कि स्क्रिप्ट के बजाय स्रोत ~/.profileहै ।~/.xsessionrc~/.xsession

यहाँ तर्क है:

qxu@debian:/etc/X11/Xsession.d$ cat 40x11-common_xsessionrc
# This file is sourced by Xsession(5), not executed.

#Source user defined xsessionrc (locales and other environment variables)
if [ -r "$USERXSESSIONRC" ]; then
  . "$USERXSESSIONRC"
fi

qxu@debian:/etc/X11$ grep USERXSESSIONRC Xsession
USERXSESSIONRC=$HOME/.xsessionrc

1

जब बैश को एक इंटरेक्टिव लॉगिन शेल के रूप में या --loginविकल्प के साथ एक गैर-इंटरैक्टिव शेल के रूप में आमंत्रित किया जाता है , तो यह पहले फ़ाइल से कमांड को पढ़ता है और निष्पादित करता है /etc/profile, यदि वह फ़ाइल मौजूद है। उस फ़ाइल को पढ़ने के बाद, यह उस क्रम में , और , के लिए लग रहा है ~/.bash_profile, ~/.bash_loginऔर ~/.profileपहले से मौजूद आदेशों को पढ़ता है और निष्पादित करता है और पठनीय है।

इसलिए, जब ~/.bash_profileमौजूद ~/.profileहोगा , कभी नहीं पढ़ा जाएगा।


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