पुनरारंभ करने के बाद `ग्नू स्क्रीन` लेआउट कैसे जारी रखें


13

मैं screenबाईं ओर vim के साथ 3 में विभाजन का उपयोग कर रहा हूं , और दो अन्य स्क्रीन दाईं ओर क्षैतिज रूप से विभाजित हैं। मुझे पता है कि स्क्रीन से कोचिंग करते समय, मैं लेआउट को सहेज सकता हूं :layout save my_layout_name

मेरे पास पहले से ही layout autosave onमेरी .screenrcफ़ाइल है, लेकिन यह मेरी समस्या के साथ मदद नहीं करता है।

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

जवाबों:


13

नई स्क्रीन के लिए डिफ़ॉल्ट लेआउट

अपने क्षेत्रों को प्रबंधित करें, फिर स्क्रीन के अंदर कोड निष्पादित करें :

  • फ़ाइल के लिए अपने वर्तमान लेआउट को बचाने के लिए .screen_layout:

    rm -f $ HOME / .screen_layout
    स्क्रीन -X लेआउट डंप ।स्क्रीन_लेआउट
    
  • लेआउट बचत के साथ इसे ऑटो-लोडिंग बनाने के लिए :

    इको सोर्स .screen_layout >> $ HOME / .rcrc
    इको लेआउट सेव डेम >> $ HOME / .rcrc
    

यह काम किस प्रकार करता है

  1. आप टाइप screen
  2. स्क्रीन पर लिखा है $HOME/.screenrc:
  3. source .screen_layout- अब बनाए गए क्षेत्रों से आदेशों को पढ़ें और निष्पादित करें । $HOME/.screen_layout
  4. layout save def- जब आप अलग करें तो इसे रखने के लिए लेआउट के रूप में वर्तमान क्षेत्रों को बचाएं

layout dump .screen_layout

  • निर्देशिका में फ़ाइल करने के लिए डंप ( परिशिष्ट ) वर्तमान लेआउट$HOME

screen -X command

  • वर्तमान स्क्रीन सत्र commandमें चलाएं (यदि अंदर निष्पादित किया गया है)। तब के समान
    ctrla: command

आपको भी

  • स्टार्टअप पर कॉपीराइट नोटिस अक्षम करें :

    इको स्टार्टअप_मेज़ेज ऑफ >> होम / .स्क्रीन आर्क
  • स्क्रॉल बफर बढ़ाएं (डीईएफ। 100)

    इको डिफ्रोलकबैक 1000 >> $ HOME / .rcrc
  • खुद लिखें .screen_layout(50% / 50% ऊर्ध्वाधर, 2 गोले के साथ):

    विभाजन -v
    स्क्रीन -t s1
    
    फोकस
    स्क्रीन -t s2
    
    फोकस
    

तुम सही हो। यह विधि एक फ़ाइल में कमांड्स को डंप करके स्क्रीन लेआउट को बनाए रखती है, फिर उन्हें दोहराती है .screenrc.screen_layoutफ़ाइल सभी आदेशों हर बार चलाने के लिए के साथ संपादित किया जा सकता screenचलाया जाता है, सहित layout save defaultअंत में। मैं जोड़ने के लिए अन्य पाठकों का सुझाव screenके बाद focusमें .screen_layoutपार्टी का प्रदर्शन शुरू करने के लिए फ़ाइल।
रंडुनेल

7

Ctrl- aफिर उसके :बाद layout save default प्रोवाइड स्क्रीन नया वर्जन (लेआउट फीचर के साथ) गुड लक है।

UPDATE: यहां एक .screenrc फ़ाइल है जो अन्य अच्छी विशेषताओं को जोड़ने के साथ-साथ परिवर्तन को स्थायी बना देगी ।


किसी भी विचार क्यों layout autosave onमें .screenrcकाम नहीं किया? यह मेरे लिए बेहतर होगा।
spinlock

आप सही हैं, यह काम नहीं करता है। लेकिन मैंने यहाँ से .conrc का परीक्षण किया है: gist.github.com/joaopizani/2718397 और यह काम करता है।
मीर दुनेव

2

" लेआउट ऑटोसैव ऑन " केवल स्पष्ट रूप से नामित लेआउट के लिए काम करता है।।

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

यदि आपने कॉन्फ़िगरेशन फ़ाइल में कोई लेआउट निर्दिष्ट नहीं किया है, तो आपको कोचिंग से पहले आंतरिक कमांड " लेआउट को बचाने के लिए अपने_लेआउट_नाम " को चलाना होगा

यह चुनने के लिए पूर्वनिर्धारित लेआउट के साथ एक .screenrc है:

 0 — one (the only region)
 1 — two-v (the screen is splitted vertically into two regions, default layout)
 2 — two-h (the screen is splitted horizontally into two regions)
 3 — three (three regions — two in the upper part of the screen and one underneath)
 4 — four (four regions)

पूर्वनिर्धारित लेआउट

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

यदि आपने अपना स्वयं का लेआउट बनाया है, तो उसे " लेआउट डंप फ़ाइल नाम " कमांड के साथ सहेजा जाना चाहिए । तब आप इस फ़ाइल के #layouts अनुभाग में अपने लेआउट को जोड़ने के लिए "फ़ाइल नाम" फ़ाइल से एक कोड का उपयोग कर सकते हैं ।

डिफ़ॉल्ट रूप से " टू-वी " लेआउट को केवल खिड़की के साथ बैश के साथ लोड किया जाता है।


यह बहुत अच्छा है, हालांकि मैंने याद किया कि एक लेआउट से दूसरे में कैसे स्विच किया जाए, फिर उस टिप्पणी को देखा कि कुंजी बंधन को हटा दिया गया था। बस फी - यह कीबाइंडिंग मेरे (उबंटू 16.04) लेआउट को स्विच करने के लिए काम करती है: bind ' ' layout next # <- actually means Ctrl-a + Space
बाची

0

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

यदि आप अपने स्थानीय मशीन पर टर्मिनल बंटवारे के लिए स्क्रीन का उपयोग करते हैं (जो मैं उल्लेखित पीसी पुनरारंभ से अनुमान लगाता हूं), तो आप कह सकते हैं कि टर्मिनल एमुलेटर को जांचना चाहते हैं terminator। यह क्षैतिज और ऊर्ध्वाधर टर्मिनल विभाजन (साथ ही नेस्टेड) ​​का समर्थन करता है और आप आगे उपयोग के लिए अपने पसंदीदा लेआउट को बचा सकते हैं। तो आप बस एक उपयुक्त विकल्प के साथ टर्मिनेटर चलाते हैं terminator -l <name of saved layout>:।


मुझे एक स्क्रीन को दूसरी स्क्रीन के अंदर घोंसले में रखने की जानकारी है, लेकिन सभी स्क्रीन पुनः आरंभ होने पर समाप्त हो जाती हैं। एक स्क्रीन के अंदर स्क्रीन को हल किया layoutगया था जब जोड़ा गया था, इसलिए आपका उत्तर प्रश्न और पुराना दोनों के अलावा है। मैं terminatorहालांकि सुझाव की सराहना करता हूं ।
रंडुनेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.