"खोल" लॉगिन के रूप में GNU स्क्रीन का उपयोग करें


22

जब आप एक नया शेल खोलते हैं तो स्क्रीन के पास स्वचालित रूप से चलने का सबसे अच्छा तरीका क्या है, चाहे लॉगिन, xterm, या कुछ और द्वारा?

मैं देखता हूं कि सबसे आम सिफारिश exec screenआपके नियमित शेल की आरसी या लॉगिन / प्रोफाइल फाइल में डालने की है , लेकिन उदाहरण के लिए, tcsh, लॉगिन गोले चले जाते हैं। अंतिम, जबकि गैर-लॉगिन शेल पढ़े। cshrc अंतिम। अगर मैं exec screen.shrc में डालता हूं, तो लॉगिन गोले .login फ़ाइल को स्रोत नहीं बनाएंगे, और यदि मैं इसे .login में रखता हूं, तो गैर-लॉगिन शैल स्क्रीन नहीं चलाएंगे। मैं मानता हूं कि अन्य गोले के साथ भी ऐसे ही मुद्दे हैं।


1
यह सवाल का जवाब नहीं देता है, लेकिन यह एक उल्लेख के लायक है: tmux स्क्रीन से एक क्रांतिकारी कदम है और स्क्रीन के साथ संगत कीबोर्ड के करीब होने की कोशिश करता है। यह पृष्ठ .bashrc से स्वचालित रूप से इसे शुरू करने के लिए दस्तावेज़ करता है।
डेटशमैन

जवाबों:


19

एक तरीका है:

# if $STY is not set...
if [ -z "$STY" ]; then
    exec screen -ARR
fi

ध्यान दें कि इसके लिए लिखा गया है bash, लेकिन इसके लिए cshभी समान होना चाहिए । इसे सभी गोले के .cshrcलिए निष्पादित करने के लिए रखो ।


एक और तरीका है: आप बस कर सकते हैं सेट screenअपना लॉगिन शेल के रूप में में /etc/passwdही है, और करने के लिए इस लाइन डाल अपने ~/.screenrc: (, पथ फिक्स निश्चित रूप से।)

defshell / bin / csh

लेकिन यह उन प्रोग्रामों को तोड़ सकता है जो /etc/passwdविभिन्न कमांड के लिए परिभाषित लॉगिन शेल चलाते हैं ।

( संपादित करें: स्क्रीन जोड़ना न भूलें /etc/shells)


1
पहले STY वैरिएबल के बारे में नहीं जानते थे, और इसे स्क्रीन मैनुअल में देखते हुए, मैंने यह भी पाया कि आप एक नई विंडो में कमांड चलाने के लिए स्क्रीन के साथ स्क्रीन निष्पादित कर सकते हैं (जैसे, "स्क्रीन vi" एक में खुल जाएगा vi नई विंडो, एक नियंत्रित शेल के बिना)। BTW, csh के लिए, आप इसे .login फ़ाइल में नहीं डालेंगे। सैम्पलिंग बैश करने के लिए लागू होती है, इसे .bash_login में डाल दिया जाता है।
हरदिवस

4

पुराना सवाल, लेकिन उसी चीज़ के लिए गुगली करना मुझे यहाँ ले आया, इसलिए यहाँ किसी और के लिए एक प्रतिक्रिया है जो इस पृष्ठ पर ठोकर खाती है।

सबसे अच्छी बात जो मुझे अब तक मिली है वह है बायोबू अगर आपके डिस्ट्रो में है। लॉगिन पर चलने के विकल्प के साथ आता है और एक साथ कई स्क्रीन को नियंत्रित करता है।

आप एक स्थान पर अलग कर सकते हैं और फिर दूसरे स्थान पर उसी सत्र में लॉगिन कर सकते हैं।

मुझे लगता है कि स्क्रीन सर्वर प्रक्रियाओं को चलाने के लिए उपयोग करने के लिए बढ़िया है लेकिन बायोबू रोजमर्रा की चीजों के लिए बहुत अच्छा है।


-2

कैसे के बारे में chsh का उपयोग कर:

chsh /usr/bin/screen

यह डिफ़ॉल्ट लॉगिन शेल को / etc / passwd में सेट करता है। (आप इसे वहाँ भी कर सकते हैं)


यह तब लॉग इन के अलावा आपके खाते के साथ कुछ भी करना मुश्किल हो जाता है। इसके अलावा, आपके sysadmin में शायद स्क्रीन नहीं है / etc / गोले। इसके अलावा, स्वीकृत उत्तर देखें।
wufulk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.