'स्क्रीन' का उपयोग करते समय टैब


20

मैं Ubuntu 10.04 का उपयोग कर रहा हूं । स्थापित होने के बाद screen:

sudo apt-get install screen

मैं दो बनाया ssh (मैं के अनुसार निम्न चरणों का पालन करते कदम से निम्नलिखित बातों कदम करके दो दूरस्थ सर्वर के लिए कनेक्शन दस्तावेज़ यहाँ ):

1. एक टर्मिनल विंडो खोलें, कमांड चलाएंscreen

2. एक नया वर्चुअल कंसोल बनाने के लिए Ctrl+ A+ दबाएँc

3। ssh usr@IP1

इस बिंदु पर, मेरे पास एक वर्चुअल कंसोल है जो दिखाता है कि मैंने रिमोट सर्वर (IP1) से जुड़ा है।

4. एक नया वर्चुअल कंसोल बनाने के लिए Ctrl+ A+ दबाएँc

5। ssh usr@IP2

तो, अब मैं दो दूरस्थ सर्वर (IP1 & IP2) से जुड़ा हूं। लेकिन , मैं दो टैब की जरूरत नहीं है एक टर्मिनल विंडो पर, बजाय, मैं उपयोग करने के लिए है Ctrl+ A+ pऔर Ctrl+ A+ nमें दो आभासी कंसोल के बीच स्विच करने के लिए एक टर्मिनल विंडो।

क्या ऐसा नहीं है कि उपयोग करने से screen, मैं एक टर्मिनल विंडो में दो टैब रख सकता हूं , प्रत्येक टैब में एक दूरस्थ सर्वर के लिए एक कनेक्शन प्रदर्शित होता है। मेरी टर्मिनल विंडो में टैब क्यों नहीं हैं?

जवाबों:


26

यहाँ मेरा है .screenrcकि मैं हर जगह का उपयोग खिड़की के नीचे टैब केscreen रूप में और टैब के ऊपर एक सूचना रेखा के रूप में मेरी संख्याओं को देखने के लिए करता हूं । आपको वास्तव में जो हिस्सा चाहिए वह "देखो और महसूस करो" के तहत है।

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

प्रारंभ में निर्मित होने पर आप अतिरिक्त रूप से दो टैब जोड़ने के लिए निम्नलिखित जोड़ सकते हैं screen:

screen ssh usr@IP1
screen ssh usr@IP2

साथ ही, शेल कमांड और प्रॉम्प्ट से जारी एस्केप कोड का उपयोग करके स्टेटस कंटेंट को अपडेट किया जा सकता है । उदाहरण के लिए, मैं अपने में इसका उपयोग करके वर्तमान निर्देशिका के साथ स्थिति को अद्यतन करता हूं .bashrc:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
मुझे हमेशा आश्चर्य होता है कि स्क्रीन को काम करने के लिए चूसना नहीं बनाने के लिए यह हमेशा कुछ कट्टर विन्यास क्यों लेता है। PS shelltitle "$ |shell:"शीर्षक में कमांड का नाम जोड़ने के लिए प्रयास करें ।
एम्फ़ैटेमाचिन 1

7

जब आप Ctrl+ दबाते हैं aऔर "आप स्क्रीन को "टैब" देख सकते हैं, तो वे आपके टर्मिनल GUI पर टैब नहीं होंगे, आप मैन्युअल रूप से टर्मिनल GUI पर एक नया टैब बनाकर उपयोग कर सकते हैं और फिर नए पर चला सकते हैं screen -rअपने स्क्रीन सत्र में लौटने के लिए टैब और फिर Ctrl+ aऔर एक नंबर के साथ अपने वांछित सत्र पर नेविगेट करें या "अपने सभी टैब के साथ एक मेनू देखें।

आप Ctrl + में से प्रत्येक को " a तब " दबाकर स्क्रीन को एक नाम दे सकते हैं A


1
screen -r -xयदि स्क्रीन पहले से ही पहले टैब में संलग्न है तो उसे चलाने की आवश्यकता है ।
अरसेज

3

मुझे लगता है कि आप स्क्रीन पर उन लोगों के साथ कोनोला जैसे ग्राफिक टर्मिनलों पर टैब को भ्रमित कर रहे हैं। स्क्रीन में आप उल्लिखित ^ ए-कोम्बिनेशंस के साथ केवल एक विंडो की सामग्री को स्विच करते हैं। यह एक गैर ग्राफिक वातावरण पर भी काम करता है।


2

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

जो मैं जानता हूँ के लिए, screenटैब बनाने नहीं है, लेकिन आप आदेश आप संकेत दिया साथ स्क्रीन के बीच स्विच करने के लिए है, या के रूप में मैं पसंद करते हैं Ctrl- A 1, Ctrl- A 2, आदि

अधिक करने के लिए कि एक टैब आप gnome-terminalसुविधाओं का उपयोग कर सकते हैं , स्क्रीन के बिना भी: Ctrl- Shift- Tएक नया टैब बनाएगा, और Alt- 1, Alt- 2, आदि टैब के बीच स्विच करेगा।

इसके अलावा मैं पूछता हूं कि आप सर्वर पर स्क्रीन क्यों नहीं चलाते हैं, इसलिए केवल एक ssh कनेक्शन का उपयोग कर (लेकिन इस मामले में बिना किसी टैब के)।


2

मुझे पता है कि यह काफी पुराना है, लेकिन जब से Google ने मुझे यहां तक ​​पहुंचाया, अन्य लोग भी इसे पढ़ सकते हैं। तो यहाँ मेरी $ 0.02 हैक "स्क्रीन" सत्र के भीतर टैब की नकल करने के लिए:

इसके साथ एक स्थिति रेखा बनाएँ:

  • बाईं ओर: दिनांक / समय
  • दाईं ओर: स्थानीय होस्ट नाम + औसत लोड
  • बीच में: स्क्रीन के नाम "विंडोज़"
    • वर्तमान विंडो: काली पृष्ठभूमि पर लाल पाठ
    • अन्य विंडो: स्टेटस लाइन बैकग्राउंड कलर पर व्हाइट टेक्स्ट (नीला, यहाँ)

इसमें डालें ~/.screenrc:

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(शायद यह $ 0.02 से अधिक की कीमत है क्योंकि मैंने इस पर काफी समय संघर्ष किया; ;-)

वर्तमान विंडो से पिछली / अगली के साथ F6/ F7कुंजियों पर स्विच करने के लिए :

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