Como reconectar a sessão 'screen' ou iniciar um novo comando

1

Desde que comecei a usar screen para iniciar o cliente de e-mail de modo de texto (console) (a saber alpine ), nunca perdi e-mails parcialmente escritos devido à desconexão da rede. Muito útil.

No entanto, o cliente de e-mail inicial agora está um pouco envolvido:

  1. Verifique se há sessão antiga com screen -list
  2. Dependendo do passo anterior:
    • Se houver, reconecte com screen -U -r <number>
    • Se não houver um, inicie o cliente de e-mail com screen -U alpine

Como posso simplificar essas etapas para que eu possa executar apenas o comando simples (script simples), que é start_or_reconnect alpine ? Podemos supor que, se houver mais de uma sessão ativa, é um erro ou apenas usar a primeira ...

    
por Jakub Narębski 14.02.2017 / 21:01

2 respostas

1

Use um nome de sessão explícito ( -S option) e use -RR para reconectar a uma sessão existente ou criar uma se não houver nenhuma.

alias m='screen -S alpine -d -RR alpine'
    
por 15.02.2017 / 00:51
1

Rápido e estúpido:

#!/bin/sh
ARG='screen -list | grep Detached | awk '{print $1}''
if [ -z "$ARG" ]; then
    screen -U alpine
else
    screen -U -r $ARG
fi
    
por 14.02.2017 / 22:17

Tags