मैं अपनी टर्मिनल जरूरतों के लिए दैनिक आधार पर स्क्रीन का उपयोग करता हूं और मैं इससे काफी खुश हूं। हाल ही में, हालांकि, मैं कुछ अपडेट मेरी पार्टी विन्यास फाइल करने के लिए बनाया गया है और मैंने देखा है कि मैं विभिन्न स्थापित करने गया था PATH
तत्वों ( PATH
, MANPATH
, INFOPATH
2 स्थानों में, आदि)। मैंने फाइलों को संशोधित किया कि वे क्या होनी चाहिए और अब मेरे सभी पर्यावरण चर एक बार में सेट हो जाते हैं .bash_profile
। इसमें मेरी समस्या है।
जाहिर है, मैं उन्हें दो जगहों पर सेट कर रहा था स्क्रीन की वजह से। स्क्रीन केवल निष्पादित करने के लिए प्रकट होती है .bashrc
और मेरे मूल बैश शेल से मेरे या किसी अन्य पर्यावरण चर को सही तरीके से प्राप्त करने के लिए प्रकट नहीं होती है PATH
। क्योंकि यह केवल निष्पादित करता है .bashrc
और मैं अब .bash_profile
केवल अपने चर सेट करता हूं , मुझे अधूरा मिलता है PATH
।
मेरा सवाल यह है कि, नकल के बिना स्क्रीन में मेरे पर्यावरण चर कैसे प्राप्त करें। Bash
डॉक्स के माध्यम से पढ़ने से प्रतीत होता है कि यह उस तरह का शेल हो सकता है , जिसका उपयोग स्क्रीन लॉग इन करने के लिए करता है, अर्थात एक गैर-लॉगिन इंटरेक्टिव शेल लेकिन मैं यह पता नहीं लगा सका कि स्क्रीन को किसी विशेष प्रकार के शेल का उपयोग करने के लिए कैसे बाध्य किया जाए, केवल के माध्यम से उपयोग करने के लिए खोल -s /bin/bash
।
आप मेरे GitHub पेज पर मेरे कॉन्फिगर फाइल को देख सकते हैं । यह कमिटेड कमेटी है जिसने स्क्रीन को तोड़ा ।
संपादित करें: मैं उपयोग कर रहा हूं Screen version 4.00.03 (FAU) 23-Oct-06
और मैं इसे लागू करना चाहता हूंscreen -h 50000
संपादित करें: मैं अब साइग्विन ( CYGWIN_NT-5.1 1.7.1(0.218/5/3) i686
, Screen version 4.00.03 (FAU) 23-Oct-06
) पर इसका परीक्षण करने में सक्षम हूं और यह मेरे मैक की तुलना में अलग व्यवहार प्रदर्शित करता है।
विशिष्ट व्यवहार जो मैंने अब खोजा है वह यह है कि सिग्विन में जो परिवर्तन मैं करता हूं उसमें PATH
.bash_profile स्क्रीन पर प्रवेश करने पर डुप्लिकेट हो जाता है और फिर स्क्रीन विंडो का क्रमिक निर्माण पथ की नकल नहीं करता है, लेकिन re-source .bash_profile करता है।
मैं जिस व्यवहार के बारे में बात कर रहा हूं, उसे स्पष्ट करने के लिए:
एक नए टर्मिनल से आउटपुट:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
स्क्रीन के पहले आह्वान से आउटपुट:
[~]$ screen -h 50000 -s -/bin/bash
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
इसके बाद कॉल C-a c
:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
आप देख सकते हैं