Como posso adicionar o nome da sessão à exibição do meu status de tela?

5

Estes são os meus arquivos .screenrc atuais, que são principalmente copiados do link no código

#First iteration 2014-09-06, not quite sure of stuff to add
# got a fancy hardstatus line noted below
hardstatus on
hardstatus alwayslastline
# hardstatus string "%w"

# blagged this hardstatus like from https://bbs.archlinux.org/viewtopic.php?id=55618, not quite sure what it does
hardstatus string '%{= kG}%{C}Screen: %{c}%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{C} %d-%m %{W}%c %{g}]'

Agora quero que o nome da sessão apareça também, e o que decidi é a partir dessa resposta - link

A solução corre ao longo destas linhas:

hardstatus string '%H:%''
backtick 0 30 30 sh -c 'screen -ls | grep --color=no -o "$PPID[^[:space:]]*"'

É uma área que eu não conheço e gostaria de saber como o comando backtick se encaixa nele, ou seja, se é um comando screen .

    
por vfclists 09.04.2015 / 08:58

1 resposta

4

Você pode verificar esta ou melhor, você pode verificar man page para screen que é uma boa referência e diz:

backtick id lifespan autorefresh cmd args...
backtick id

Program the backtick command with the numerical id id. The output of such a command is used for substitution of the "%'" string escape. The specified lifespan is the number of seconds the output is considered valid. After this time, the command is run again if a corresponding string escape is encountered. The autorefresh parameter triggers an automatic refresh for caption and hardstatus strings after the specified number of seconds. Only the last line of output is used for substitution.
If both the lifespan and the autorefresh parameters are zero, the backtick program is expected to stay in the background and generate output once in a while. In this case, the command is executed right away and screen stores the last line of output. If a new line gets printed screen will automatically refresh the hardstatus or the captions. The second form of the command deletes the backtick command with the numerical id id.

De acordo com seu exemplo, você pode adicionar:

hardstatus string '%H:%1' | %2''
backtick 1 30 30 sh -c 'screen -ls | grep --color=no -o "$PPID[^[:space:]]*"'
backtick 2 60 60 /usr/bin/uptime
    
por 09.04.2015 / 10:34

Tags