Como exibo o nome atual da “sessão” ou “sockname” de uma sessão de tela na barra de status?

3

Eu executo várias sessões de tela, cada uma criada com 'screen -S nome ' e gostaria de poder exibir na barra de status > name Eu costumava criar a sessão de tela atual.

No entanto, não consigo fazer isso. Alguma idéia?

    
por Neg_EV 19.03.2010 / 17:06

3 respostas

1

Isso está chegando na próxima versão: link

Além disso, você pode usar a variável de terminal $STY , embora as pessoas pareçam obter resultados inconsistentes com ela.

    
por 01.09.2010 / 05:12
0

Isso foi emulado com êxito por como incluir o nome da sessão da tela no hardstatus?

Eu aprimorei ainda mais, da seguinte forma:

# generates equivalent of $STY followed by "on $HOST" if $STY is non-standard
backtick 10 60 60 sh -c 'sty=$(screen -ls | grep --color=no -o "$PPID[^[:space:]]*") ; if [ ${sty##*.} = $HOST ] ; then echo $sty ; else echo "$sty on $HOST" ; fi'
# includes session name thanks to backtick 10
hardstatus string "[screen %n%?: %t%? (%10')] %h"
    
por 27.05.2014 / 11:22
0

O Max Cantor refere-se a uma próxima versão em sua resposta . Agora funciona facilmente com %S na linha do hardstatus.

MWE (.screenrc):

hardstatus on
hardstatus alwayslastline
hardstatus string "%S"

Isso exibe o nome da sessão sem o ID (como ${STY#*.} ).

(Mesma resposta a outras perguntas aqui e aqui para completar).

    
por 10.08.2015 / 15:34