Yanıtlar:
$STY
Değişkene bakabilirsiniz ( ekran komutunun ayarladığı değişken ). Eğer "" değilse, o zaman bir ekran oturumundasınız.
Ekrandayım
$ echo $STY
29624.pts-1.iain-10-04
$
Ekranda değilim
$ 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 değişkenine bakabilirsiniz.
echo $TERM
Eğer bir screen
oturumsa değişken değişkeni "screen" döndürmelidir.
root@deore:/volumes# echo $TERM
screen
Ctrl-a -d (ekrandan çıkmak için)
root@deore:/volumes# echo $TERM
xterm
Ayrıca şunları kontrol edin: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
"$TERM" = "screen"
sudo
Bu $STY
seçenek aksine, çevreye girerken korunmuş gibi görünüyor .
Varsayılan tuş ciltlemelerini değiştirmediyseniz, ekrandaysanız, saati gösteren Ctrl+ a-> Ctrl+ düğmelerini kullanabilirsiniz t. Bu, diğer önerilerin aksine, başka bir yerde ssh: d olsa bile çalışacaktır.
Bu caption
komut, ~/.screenrc
bir ekran oturumunu ayırt etmenin güzel bir yoludur.
Şahsen bunu kullanıyorum:
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
Ekranın altına buna benzer bir çizgi ekler:
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
İlk kısım (sistem adı + yük) yeşil, tarih ise pembe renktedir. Faydalı ve kaçırmak zor!
Başka bir çözüm buldum:
Değiştir .screenrc
, bu yüzden ekran oturumum normal terminalden tamamen farklı görünüyor.
.screenrc
dosya göstererek (örn.) Ne demek istediğinizi açıklarsanız daha yararlı olabilir .
Bir screen -ls
. Açıkça durum Attached
karşısında olduğunu gösterecek Detached
.
Ekli örnek:
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
Örnek müstakil:
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)