वहाँ एक "स्क्रीन" सत्र बनाने के लिए एक तरीका है रिबूट बच?


25

मैं स्क्रीन उपयोगिता का उपयोग कर रहा हूं और मशीन को रिबूट करने पर सत्र को संरक्षित करना चाहूंगा। यदि संभव न हो तो आप स्क्रीन के अन्य विकल्पों की सिफारिश कर सकते हैं जो रिबूट के बीच सत्रों को संरक्षित करने की अनुमति देगा।

मैं उबंटू सर्वर 10.04 (ल्यूसिड लिंक्स) का उपयोग कर रहा हूं यदि वह मायने रखता है।

मेरे पास स्क्रीन के माध्यम से कई सत्र खुले हैं। जब मशीन उन सभी सत्रों को रिबूट करता है, और मुझे उन्हें फिर से खोलना पड़ता है। मैं उन स्क्रीन सत्रों को संरक्षित करने का एक तरीका खोजना चाहता था।


आप क्या करने की कोशिश कर रहे हैं? क्या आप अपने स्क्रीन सत्र में चल रहे इतिहास या सब कुछ को संरक्षित करना चाहते हैं?
मार्सेल जी

1
इस हार को रिबूट करने का उद्देश्य नहीं होगा?
ब्रायन नॉबलुच सेप

'सत्र' से आपका क्या अभिप्राय है? क्या आपका मतलब है कि आपके पास कई स्क्रीन विंडो में अन्य होस्ट के लिए ssh कनेक्शन हैं? यदि आपका मतलब यह है, तो एक। Pdfrc फ़ाइल लिखना और उस उपयोगकर्ता @ होस्ट को निर्दिष्ट करना जिसे आप स्लोगन करना चाहते हैं, को ट्रिक करनी चाहिए ..., यदि आपने ssh पासवर्ड रहित लॉगिन सक्षम किया है। फिर जब आप स्क्रीन शुरू करते हैं, तो सभी ssh कनेक्शन स्वतः शुरू हो जाएंगे। आप इसे rc.local (थोड़ा मुश्किल, क्योंकि आपको इसे su - yourusername से शुरू करने की आवश्यकता है) से शुरू कर सकते हैं, इसलिए जब आप लॉगिन करते हैं तो आप रनिंग स्क्रीन सेशन को फिर से शुरू कर सकते हैं।
नाट्क्सो एसेन्जो

1
इससे भी महत्वपूर्ण बात यह है कि आप हर समय रिबूट क्यों कर रहे हैं? यूनिक्स सर्वर विंडोज़ सर्वर नहीं हैं, वे उच्च समय के लिए डिज़ाइन किए गए हैं, मशीनों को वर्षों के अपटाइम्स (कर्नेल सुरक्षा पैच के बिना) के लिए जाना जाता है। यदि कर्नेल सुरक्षा पैच के कारण आपका रिबूट हो रहा है, तो ksplice जैसी चीज़ पर एक नज़र डालें।
यूनिक्स जेनरेटर

जवाबों:


16

सबसे पहले, आइए कुछ महत्वपूर्ण बातों को स्पष्ट करें:

  1. कितनी मशीनें शामिल हैं? दूसरे शब्दों में, क्या आप एक दूरस्थ मशीन से जुड़ रहे हैं, या आपके स्थानीय मशीन पर सब कुछ है?
  2. यदि कोई दूरस्थ मशीन शामिल है, तो कौन सी मशीन रिबूट हो रही है: क्या यह सर्वर या क्लाइंट है?

यदि एक मशीन शामिल है, या यदि सर्वर रिबूट किया जा रहा है, तो आप ज्यादातर भाग्य से बाहर हैं।

यदि आप किसी दूरस्थ मशीन में प्रवेश कर रहे हैं, लेकिन अपनी स्थानीय मशीन को रिबूट करने की आवश्यकता है, तो यह तब तक कोई समस्या नहीं है जब तक आप अपने स्थानीय मशीन के बजाय दूरस्थ मशीन पर स्क्रीन चला रहे हों। मुझे एहसास है कि स्क्रीन के किसी भी अनुभवी (यहां तक ​​कि थोड़ा अनुभवी) के लिए यह बहुत स्पष्ट है, लेकिन मैं इसका उल्लेख सिर्फ इस मामले में करता हूं कि यह उपयोगी हो सकता है।

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

कोई आसान समाधान नहीं है, और यह संभव है कि कोई भी समाधान आपके लिए काम न करे। लेकिन बेस्ट ऑफ लक।

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

लेकिन सबसे अधिक संभावना है कि आप रिमोट मशीन या एकमात्र मशीन को रिबूट किया जा रहा है, इस मामले में ऐसा करने का कोई सरल तरीका नहीं है। क्रायोपीआईडी ​​पहली बार में आशाजनक लगता है, लेकिन इसकी वेब साइट का कहना है कि यह स्क्रीन के लिए काम नहीं करता है।

लेकिन खोज के लायक एक और कुछ आशाजनक विकल्प है। (यह आपके लिए काम करेगा या नहीं यह एक बड़ी डिग्री पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं।) इसे github.com पर देखें : https://github.com/skoneka/screen-session/tree/master/ScreenSession/


CryoPID के लिए +1, उस बारे में नहीं जानता था!
यूनिक्स जेनरेटर

स्क्रीनसेशन दिलचस्प लग रहा है, इसके वर्णन से यह वही है जो मैं चाहता था
सर्गेई जी


4

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


वास्तव में मैं अपने जवाब को tmux-resurrect
Gaius

tmux-resurrect एक बहुत अच्छे समाधान की तरह दिखता है।
सर्व-


1

इस सब में, स्क्रीन ही बहुत सीमांत है। यह स्क्रीन नहीं है जिसे आप "सहेजना" चाहते हैं, क्या यह है?, लेकिन विभिन्न स्क्रीन सत्रों के भीतर वातावरण, जो कुछ भी वे हैं।

आप सुझाव दे रहे हैं कि स्क्रीन सत्र को सहेजना इसके अंदर एक एसएसएच प्रक्रिया और सभी प्रकार को कवर करेगा। स्क्रीन के अंदर जो चल रहा है वह स्क्रीन के कारोबार में से कोई भी नहीं है, और वे चीजें हैं जिन्हें "सहेजना" मुश्किल होगा ... जो भी लागू होने पर वास्तव में इसका मतलब होगा।

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