He estado tratando de enviar comandos a una sesión de pantalla gnu en ejecución (4.00.03) en opensolaris, pero no puedo hacer que ejecute ningún comando a través de cualquier combinación de screen -X
Ok, comienzo una sesión de pantalla con screen -S test, y luego traté de screen -r -X "date"mostrarme la fecha, cuando me volvería a conectar a ella. Pero ni un mensaje de error ni salida en la pantalla sucedió. Intenté con tantas combinaciones que ni siquiera puedo recordar.
¿Alguna pista sobre cómo lograrlo?
La razón por la que estoy haciendo esto es porque tengo un programa, que no viene como un demonio, y deseo comenzarlo en una sesión de pantalla, para que luego pueda ver lo que está sucediendo.
gnu-screen
session
opensolaris
Der Hochstapler
fuente
fuente

Respuestas:
En realidad es bastante simple. Puedes usar lo siguiente:
echo -ne '\015'emula presionando la Entertecla.NOTA: ese 'material' es un comando de pantalla. http://www.gnu.org/software/screen/manual/screen.html#Stuff
fuente
stuffes un comando de pantalla para 'meter' una cadena en stdinecho -ne '\015'", ¿por qué?screen -d -m -S sessionname; screen -S sessionname -X [...]nada funcionará, incluso(screen -d -m -S sessionname&)&sleep 10;screen -S sessionname -X [...]no hace nada excepto crear una nueva sesión de pantalla que no hace nada. votoSuena como si quisieras:
$ pantalla -S prueba -d -m -c / dev / null - sh -c 'fecha; exec $ SHELL ' -S test: nombra esta sesión -d -m: pantalla de inicio separada -c / dev / null: ignore ~ / .screenrc (proporcione un archivo diferente o suelte esta opción, según sea necesario) -: opciones de fin de pantalla sh -c 'fecha; exec $ SHELL ': comando para ejecutar la pantalla, tenga en cuenta que si este comando era solo "fecha" y la pantalla saldría inmediatamente. si no quieres salir pantalla después de que salga su comando, entonces puede usar: $ screen -S test -d -m -c / dev / null - su comando aquíO tal vez solo quieres dtach .
fuente
screen -listmuestra que no hay sesiones abiertas.Abra una nueva ventana (con título de título ) en una sesión existente llamada session_name , y ejecute shell_command (con argumentos opcionales args )
fuente