आप es के लिए वातावरण कैसे सेट करते हैं?


10

मैं के साथ खेल रहा है तों पिछले कुछ दिनों में, और है कि यह केवल अपने स्टार्टअप स्क्रिप्ट (चलाता है यह (आरसी) की तरह मोड़ / सुविधा है .esrcप्रवेश पर)। प्रत्येक इंटरैक्टिव सत्र में कोड चलाने का सामान्य तरीका उस कोड को %promptफ़ंक्शन में रखना है ।

बेशक, कोई %promptकार्य नहीं है अगर es -lकभी नहीं चलाया गया है।

तो, सवाल: कैसे आप gdm या इसी तरह के माध्यम से आते हैं, जो केवल स्रोत .profile (या .xprofile, .xsession, आदि) में आने के लिए लॉगिन वातावरण सेट करते हैं? सबसे अच्छा मैं आया हूँ:

if [ -f "$HOME/.esrc" ]; then
    eval "`es -l <<-x
        sh <<<'export -p'
    x`"
fi

जो लगता है ... दिल दहला देने वाला। कोई बेहतर दृष्टिकोण?


मैं इकट्ठा करता हूं कि esआपका लॉगिन शेल नहीं है। में स्थापित करने के बारे alias es='es -l'में क्या .bashrc?
cjm

esमेरा लॉगिन शेल है। क्षमा करें यदि मैंने स्पष्ट नहीं किया। लेकिन टर्मिनलों को लॉन्च करने से पहले एक्स सत्रों में लॉगिन गोले नहीं चलाए जाते हैं, कम से कम जहां तक ​​मुझे पता है।
james.haggerty

मैं उपयोग करता हूं bash, नहीं es। लेकिन जब मैं एक नई टर्मिनल विंडो खोलता हूं, तो यह bashएक लॉगिन शेल के रूप में चलती है ।
cjm

कम से कम अधिकांश एक्स टर्मिनलों के साथ, यह एक विकल्प है जो डिफ़ॉल्ट रूप से अक्षम है (जैसा कि यह होना चाहिए, आईएमओ)। तो हाँ, यह वर्कअराउंड है, लेकिन कोई कारण नहीं है कि इस सामान को कई बार चलाया जाए जब इसे एक बार चलाया जा सके।
james.haggerty

हम्म, यकीन नहीं है कि मैं आपके संपादन, गिलेज़ से सहमत हूँ। आपको क्या लगता है कि यह केवल लागू होता है? (और नहीं * csh या आरसी या ...?) और क्यों gdm और lightdm को हटा दें, क्योंकि वे वही हैं जो पर्यावरण को नियंत्रित करते हैं?
james.haggerty

जवाबों:


1

चूंकि किसी के पास असली जवाब नहीं है, इसलिए यहां मेरा भयानक हैक है। कुछ गोले (उदाहरण के लिए rxvt) में ऐसी सेटिंग्स होती हैं जो लॉगिन शेल को बाध्य करने की अनुमति देती हैं। तो, आप में .Xdefaults, आप कुछ को जोड़ सकते हैं

urxvt256c-ml:loginShell: true

जिसका अर्थ है कि urxvt256c-mlआपके द्वारा लॉन्च किए गए सभी टर्मिनल में डिफ़ॉल्ट रूप से एक लॉगिन शेल होगा।

क्या उससे किसी भी तरह से सहायता मिलती है?


खैर, एक परेशान व्यक्ति होने के नाते (ऊपर टिप्पणी देखें?), मैं कहूंगा कि मुझे पहले से ही इस बारे में पता था। यह टॉस-अप है कि क्या यह या मेरा थोड़ा परेशान कोड एक बेहतर विकल्प है; एक में वैचारिक लालित्य का अभाव होता है (मैं दावा कर रहा हूं कि मैं हर टर्मिनल के लिए लॉग इन करता हूं, जब मैं एक वास्तविक लॉगिन पर 100s बनाता हूं?), दूसरे में कार्यान्वयन लालित्य का अभाव होता है (लेकिन मुझे लगता है कि वातावरण को लॉगिन पर सेट किया जाना चाहिए)।
james.haggerty

आह, मैं देख रहा हूं कि अब आपका क्या मतलब है। व्यक्तिगत रूप से, मैं एक टर्मिनल मानता हूं कि लॉगिन की एक इकाई X11 पर्यावरण नहीं है, इसलिए यह मेरे लिए तीन बार लॉग इन होने पर समझ में आता है यदि मेरे पास तीन टर्मिनल खुले हैं। मैं जवाब यहाँ छोड़ दूँगा बस मामले में यह दूसरों के लिए उपयोगी है - चलो देखते हैं कि कितने नीचे वोट आकर्षित होते हैं। ^ _ ~
सरथ्रियन - SE दुरुपयोग के खिलाफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.