A solução foi as opções -p.
screen -r hub -p 0 -X hardcopy
Isso me permite enviar para a tela que eu quero. Também descobri Ctrl-a d para voltar ao shell sem fazer uma nova tela, o que ajuda.
Estou tentando executar a tela para conectar a uma porta serial. Eu quero que ele execute um comando e, em seguida, a cada 60 segundos, quero usar a cópia impressa para gravar, o que é mostrado em um arquivo de log.
Até agora eu fiz isso:
screen -S hub /dev/ttyUSB0 115200
Isso abre a conexão que eu quero. Eu então simplesmente corro
logs 2
O que faz com que a máquina envie um status para a tela a cada 2 segundos, mas apenas um monte de texto.
Eu consegui rodar:
screen -S hub -X hardcopy
um par de vezes, mas às vezes eu acabo com várias telas (nem tenho certeza do porquê) e se eu faço ^ A ", eu recebo uma lista de 2-3 janelas. O punho é ttyUSB0 e, em seguida, há geralmente 1 ou 2 janelas de bash.
Como posso executá-lo para executar o comando hardcopy em ttyUSB0 (janela 0, acredito) automaticamente?
Tags bash gnu-screen tty