जवाबों:
आप $STY
चर ( स्क्रीन कमांड द्वारा निर्धारित चर ) को देख सकते हैं। यदि यह "" नहीं है तो आप एक स्क्रीन सत्र में हैं।
मैं परदे में हूँ
$ echo $STY
29624.pts-1.iain-10-04
$
मैं स्क्रीन में नहीं हूं
$ echo $STY
$
if test -n "$STY"; then printf "This is a screen session named '$STY'.\n"; else printf "This is NOT a screen session.\n"; fi
आप $ TERM चर को देख सकते हैं।
echo $TERM
यदि यह एक screen
सत्र है, तो शब्द चर को "स्क्रीन" पर लौटना चाहिए।
root@deore:/volumes# echo $TERM
screen
Ctrl-a -d (स्क्रीन से बाहर निकलने के लिए)
root@deore:/volumes# echo $TERM
xterm
यह भी देखें: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
"$TERM" = "screen"
विकल्प के sudo
विपरीत, पर्यावरण में प्रवेश करते समय संरक्षित होना प्रतीत $STY
होता है।
जब तक आपने डिफ़ॉल्ट कुंजी बाइंडिंग को नहीं बदला है, तब तक आप Ctrl+ a-> Ctrl+ कर सकते हैं t, जो समय दिखाएगा, यदि आप स्क्रीन में हैं। अगर आपके पास ssh है तो भी यह काम करेगा: अन्य सुझावों के विपरीत कहीं और दूर।
caption
में आदेश ~/.screenrc
एक स्क्रीन सत्र अंतर करने के लिए एक अच्छा तरीका है।
मैं व्यक्तिगत रूप से इसका उपयोग कर रहा हूं:
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
यह स्क्रीन के निचले भाग में इस तरह की एक पंक्ति जोड़ता है:
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
पहले भाग (सिस्टम नाम + लोड) के साथ हरे रंग में और गुलाबी में तारीख। उपयोगी और कठिन याद आती है!
मुझे एक और समाधान मिला है:
अपने को संशोधित करें .screenrc
, इसलिए मेरा स्क्रीन सत्र सामान्य टर्मिनल से पूरी तरह अलग दिखता है।
.screenrc
फ़ाइल को दिखा कर (उदाहरण के लिए) इसका वर्णन करते हैं तो यह अधिक उपयोगी हो सकता है ।
ए करें screen -ls
। यह स्पष्ट रूप से Attached
बनाम Detached
स्थिति को इंगित करने वाला है ।
उदाहरण संलग्न:
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
उदाहरण अलग:
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)