आप स्क्रीन चाहते हैं हमेशा एक लॉगिन शेल के रूप में अपने खोल लेते हैं और स्रोत एक ही फ़ाइलों है कि अगर पढ़ किया जाएगा (के रूप में टिप्पणी में बताया, या हो सकता है ~/.byobu/.screenrc
) सिर्फ सामान्य रूप से एक नया खोल शुरू कर दिया, जोड़ने ~/.screenrc
के लिए निम्न:
shell -$SHELL
इस तरह, आप मैन्युअल रूप से प्रत्येक समय स्रोत के लिए अपनी फ़ाइलें यह बताने के लिए की जरूरत नहीं है y कहां एक नई स्क्रीन शुरू करें। यद्यपि आपको यह करना होगा कि आपने अभी बदलाव किए हैं और चाहते हैं कि वे बदलाव आपकी वर्तमान स्क्रीन में दिखाई दें।
इस के लिए प्रलेखन (और अन्य स्क्रीन विवरणों के बहुत सारे) here पाया जा सकता है। असल में, shell
स्क्रीन को एक नया शेल बनाने की आवश्यकता होने पर इसे चलाने के लिए कहने के लिए एक कमांड है। $SHELL
सामान्य वरीयता है जो आपके पसंदीदा शैल के पथ को पकड़ता है। और डैश -
$SHELL
के सामने इंगित करता है कि इसे लॉगिन खोल के रूप में चलाया जाना चाहिए (जिसका आमतौर पर इसका अर्थ यह होगा कि यह आपके ~/.bash_profile
इत्यादि का स्रोत है)।
यह इंगित करने योग्य है कि स्क्रीन स्क्रीन शुरू करने के लिए खोल से अधिकांश पर्यावरण चर को विरासत में ले जाने के लिए डिफ़ॉल्ट है; और एक लॉगिन उप-खोल अप्रत्याशित तरीकों से कुछ पर्यावरण चर बदल सकता है। मैं एक ऐसी स्थिति में भाग गया जहां मेरे $ पाथ के तत्व मूल रूप से अनुमति दिए गए थे। मैंने सुपरसियर पर this particularly excellent answer को समस्या का समाधान किया।
आप source
कमांड उपलब्ध देख सकते हैं। यह ध्यान रखना महत्वपूर्ण है कि यह खोल आदेशों के बजाय screen
आदेशों की एक फ़ाइल को स्रोत करता है। अन्य प्रासंगिक (स्क्रीन) कमांड में eval
और exec
शामिल हैं।
माइक द्वारा स्वीकृत उत्तर को दूसरे (सही) में बदलने के बारे में कैसे? – dotz