En un script que estoy construyendo, estoy experimentando cómo automatizar tanto como sea posible. Uno de los desafíos más interesantes es conectarse a una sesión de pantalla byobu y ejecutar un comando.
Así que comencé en el lugar obvio, mirando cuántas sesiones de pantalla hay (el juego tiene 3 ventanas en byobu y lordquackstar tiene 2. Los usuarios están en instancias de masilla separadas)
game@quackgame:~$ screen -ls
There is a screen on:
2019.byobu (01/05/2011 05:10:04 PM) (Attached)
1 Socket in /var/run/screen/S-game.
Solo uno allí, así que verifiqué el sistema
lordquackstar@quackgame:/home/game$ sudo ls -lAR /var/run/screen/
/var/run/screen/:
total 0
drwx------ 2 game users 100 2011-01-06 09:18 S-game
drwx------ 2 lordquackstar lordquackstar 100 2011-01-06 09:17 S-lordquackstar
/var/run/screen/S-game:
total 4
prwx------ 1 game users 0 2011-01-08 07:55 2019.byobu
-rw------- 1 game users 0 2011-01-06 09:18 byobu-exchange
-rw-r--r-- 1 game users 3 2011-01-08 07:32 byobu.updates-available
/var/run/screen/S-lordquackstar:
total 4
prwx------ 1 lordquackstar lordquackstar 0 2011-01-08 07:42 1169.byobu
-rw------- 1 lordquackstar lordquackstar 0 2011-01-06 09:17 byobu-exchange
-rw-r--r-- 1 lordquackstar lordquackstar 3 2011-01-08 07:35 byobu.updates-available
Todavía no hay pantallas múltiples
Entonces, para mi pregunta: ¿cómo puedo conectarme a una ventana en byobu desde un script?
En una nota ligeramente relacionada, una vez que me conecto desde un script bash, ¿hay alguna forma de enviarle un comando y luego desconectarlo?
htop
múltiples procesos pantalla mostraba