एक एकल एसएसएच कनेक्शन के माध्यम से मेरे पास कई टर्मिनल सत्र कैसे हो सकते हैं?


21

मेरे पास एक उबंटू सर्वर संस्करण चल रहा है और मैं विभिन्न कार्यों को करने के लिए इसमें एसएसएच कर सकता हूं। मैं जो चाहूंगा वह एसएसएच में मेरे सर्वर में सर्वर एप्लिकेशन को बंद कर देगा और फिर दूसरे "वर्चुअल" सत्र (उसी एसएसएच उदाहरण के साथ) में स्विच करेगा और सेवा के खिलाफ क्लाइंट कॉल चलाएगा। जब मैं सेवा को एक अवरुद्ध कॉल शुरू करता हूं, तो मैं बिना एसएसएच सत्र के फायरिंग के बिना इसके खिलाफ क्लाइंट कॉल नहीं चला सकता।

मैं उम्मीद कर रहा था कि एक चालाक रास्ता हो सकता है, यूआई वर्चुअल डेस्कटॉप के साथ कुछ करता है।

जवाबों:


24

आप जो उपयोग करना चाहते हैं वह स्क्रीन है या स्क्रीन के चारों ओर उपयोगकर्ता-अनुकूल आवरण से बेहतर है जिसे बायोबू कहा जाता है।

स्क्रीन आपको एक ही ssh सत्र में कई वर्चुअल टर्मिनल सत्र चलाने की अनुमति देता है। एक ट्यूटोरियल और हेल्प पेज उपलब्ध हैं।

बायोबू एक रैपर है जो आसानी से ctrl-a से कुंजी संयोजन के बजाय एक साधारण फ़ंक्शन कुंजी के साथ नई स्क्रीन खोलने की अनुमति देता है। यह सभी खुले आभासी टर्मिनलों के साथ एक स्थिति रेखा भी दिखाता है जिसे नाम दिया जा सकता है।

एक और अच्छी विशेषता यह है कि आपके ssh कनेक्शन के डिस्कनेक्ट होने के दौरान आपकी सारी स्क्रीन ऊपर रह सकती है। आप बस ssh के माध्यम से फिर से कनेक्ट करें और बायोबू को कॉल करें और सब कुछ पहले जैसा है।

आख़िरकार बायोबू के कुछ स्क्रीनशॉट


5

जीएनयू स्क्रीन वह उत्तर है जिसकी आप तलाश कर रहे हैं - लेकिन यह वीआई की तरह है। एक सफल स्क्रीन वातावरण सेटअप करने के लिए आपको बहुत सारी कमांड मिली हैं। यहां कुछ चीजें हैं जिन्हें आपने शुरू किया है। सबसे पहले आप यह चाहते हैं कि .screenrc http://paste.ubuntu.com/473764/ इसे अपने उपयोगकर्ताओं के होम फ़ोल्डर में दूरस्थ सर्वर पर सहेजें। रिमोट मशीन पर अगली स्क्रीन स्थापित करें ( sudo apt-get install screen) आगे आप इसे फायर करना चाहेंगे यहां "फायरिंग स्क्रीन" के लिए कुछ कमांड हैं:

screen- यह बहुत आसान है। यह एक नया स्क्रीन सत्र शुरू करता है screen -ls- सभी सक्रिय स्क्रीन सत्रों को सूचीबद्ध करें। हां, आपके पास कई स्क्रीन के अंदर कई टर्मिनल हो सकते हैं। कितना प्यारा।

नमूना

screen -ls
There is a screen on:
    16467.pts-0.ubuntu  (08/05/2010 07:47:53 PM)    (Detached)
1 Socket in /var/run/screen/S-marco.

screen -x <pid> - यह एक अलग स्क्रीन सत्र को फिर से शुरू करेगा, IE: screen -x 16467

एक बार जब आप एक स्क्रीन में होते हैं (और आपने मेरी नमूना .screenrcफ़ाइल को नियोजित किया है ) तो आप नीचे दिए गए को देखेंगे:

(LOAD) 0$* bash

जो सर्वर लोड और सभी खुले "टर्मिनल टैब" की एक सूची है। वर्तमान में केवल एक खिड़की। कुछ टाइप करें फिर इस कुंजी संयोजन को Ctrl + Aदबाएँ : रिलीज़ करें, फिर दबाएँ cCtrl + Aभागने का क्रम है। सभी कमांड इस संयोजन के साथ शुरू होते हैं। cनया टैब बनाएं। आपको पता चलेगा कि पाद लेख में (LOAD) 0-$ bash 1$* bashदिखाया गया है कि एक और टैब खुला है और सक्रिय टैब नंबर 1 है। आप प्रत्येक स्क्रीन सत्र में अधिकतम 60 टैब खोल सकते हैं।

यदि आप स्क्रीन से बाहर निकलना चाहते हैं लेकिन इसे चालू रखना चाहते हैं Ctrl + Aतो dइससे आपका सत्र अलग हो जाएगा। अंत में आप का उपयोग करके टैब बंद कर सकते हैं Ctrl + Aतो kजो कि टैब मार डालेगा (अगर यह ऊपर ताले) लेकिन आम तौर पर आप सिर्फ टाइप कर सकते हैं exitके रूप में यदि आप एक टर्मिनल में थे और यह उस टैब को बंद होगा।

अंत में सभी विंडो को खोलने के लिए आप Ctrl + Aतब टाइप कर सकते हैं "

स्क्रीन के लिए विकल्पों की एक पूरी श्रृंखला उपलब्ध है जिन्हें आपको अधिक के लिए मैन फाइल पर डालना चाहिए। कुछ कमियां हैं। आप स्क्रीन में अपनी स्क्रॉल पट्टी का उपयोग नहीं कर सकते हैं, आपको वापस रोल करने के लिए बफर नियंत्रण का उपयोग करना होगा, हालांकि उपरोक्त आपको यह देखने के लिए पर्याप्त है कि क्या यह एक व्यवहार्य विकल्प है। इस बारे में एक बड़ी बात और कुछ मैंने सिस्टम एडमिनिस्ट्रेटर - नेटवर्क कनेक्टिविटी के रूप में बहुत कुछ निपटाया है। यदि आपका नेटवर्क बाहर चला जाता है तो आपके ऑपरेशन खो नहीं जाएंगे! चूंकि स्क्रीन सर्वर पर चल रही है। आपको बस SSH के माध्यम से screen -lsऔर फिर screen -xअपने सत्र में वापस लॉग इन करना होगा ।


ऐसा लगता है कि txwikinger ने मुझे कुछ उपयोगी लिंक के साथ हरा दिया!
मार्को Ceppi

Ctrl + Aफिर ?मदद पृष्ठ पर जाने के लिए टाइप करें । सभी कमांड और शॉर्टकट वहां सूचीबद्ध हैं। टाइप करें Ctrl + Aतो :नाम से आदेशों के किसी भी उपयोग करने के लिए, अगर नाम याद लेकिन हॉटकी भूल गया।
डैन

1

यदि आप उबंटू सर्वर संस्करण byobuका उपयोग कर रहे हैं तो निश्चित रूप से आपका सबसे अच्छा विकल्प है। उबंटू सर्वर गाइड में कुछ उपयोगी दस्तावेज हैं

यह आमतौर पर सीखने और उपयोग करने में आसान है screenऔर यह डिफ़ॉल्ट रूप से स्थापित है।


0

मैं Emacs का उपयोग करता हूं, इसलिए स्क्रीन का डिफ़ॉल्ट कॉन्फ़िगरेशन मेरे जीवन को कठिन बनाता है।

$ cat /home/cjac/.screenrc 

बचो ^

उसकी कोशिश करो!

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