¿Cómo se puede reflejar la salida estándar de un terminal en otro?

¿Cómo se puede reflejar la salida estándar de un terminal en otro?

No estoy seguro de haber formulado la pregunta correctamente, pero digamos que tengo dos terminales virtuales abiertas y si escribo lsuna de ellas, obtengo el contenido del directorio enambosde ellos (el segundo no tiene que poder escribirse, solo necesita mostrar la salida estándar del primero). ¿Cómo haría para lograr esto?

Respuesta1

Como mencionó geekosaur, screenhará lo que necesites (y mucho, mucho, más).

Primero, cree una sesión de pantalla con nombre para su comodidad en su primer terminal:

$ screen -S foo

En segundo lugar, adjunte a la sesión de pantalla en su segundo terminal:

$ screen -x foo

Respuesta2

Puedes usar scriptpara hacer esto.

Por ejemplo, si desea copiar toda su salida, /dev/tty1ejecutaría

script -f /dev/tty1

A partir de ese momento, todo lo que escriba y todos los resultados del comando se duplicarán en /dev/tty1.
scriptinicia otro shell, así que cuando hayas terminado, puedes simplemente escribir exitpara finalizar script.

La -fidea es hacerlo en tiempo real. De lo contrario, /dev/tty1solo verá el resultado cuando se muestre una línea completa (cuando se escribe un carácter de nueva línea en el tty).

Respuesta3

Depende exactamente de lo que estés buscando. Una solución fácil es script(1); GNU screenen modo multiattach es una solución más sofisticada.

información relacionada