La pregunta es "¿Cómo puedo hacer que mi línea de comandos sea más fácil en Linux (y otros sistemas operativos estilo Unix)?"

"screen" es la respuesta, pero es la respuesta incluso si no está haciendo la pregunta. "screen" es tan fundamentalmente útil que debería ser una parte fundamental del kernel si me preguntas.

¿Así que qué es lo? Así que ahí está, conectado a su caja de Linux, y comienza una compilación. Antes de que te des cuenta, hay un trillón de dependencias a considerar y estará ahí por un tiempo. Así que ahora su sesión está atada, por lo que si desea continuar con otra cosa, debe establecer una nueva conexión con la caja. Pero, ¿qué sucede si necesita reiniciar la máquina desde la que se está conectando mientras se realiza una compilación de un día? Matar su conexión al servidor Linux matará cualquier proceso asociado con esa sesión.

¿O qué pasa si quiere probar algo en una sesión y ver el resultado en otra sesión? SecureCRT es un gran cliente ssh, y la versión 5 admite pestañas, lo cual es genial. Pero, por supuesto, cada vez que necesite realizar una nueva sesión, deberá autenticarse.

De todos modos, "pantalla" es la respuesta, como ya sabéis porque os lo dije al principio.

Lo que hace la pantalla es desacoplar la sesión de la consola de la propia consola. Cuando crea una sesión ssh, está proporcionando un tty de entrada / salida. Para que pueda decirle a la caja qué hacer y pueda responderle.

Lo que hace "screen" es proporcionar un proxy para esa sesión. Entonces, "screen" es donde van su entrada y salida, y puede estar conectado a la pantalla o no. Cuando estás ejecutando la pantalla es transparente, es como si estuvieras realizando una sesión normal.

Pero si cierra su sesión ssh y luego se vuelve a conectar desde otra terminal, escribir screen -r le permitirá continuar donde lo dejó. Y no importa si se trata de otra sesión ssh o una sesión telnet, o si se acerca a la consola física.

Entonces eso es útil, ¿verdad? Pero esto no es todo por mucho tiempo. "screen" no se limita a una sesión de consola. Puedes tener varios de ellos. Podría tener 10 sesiones diferentes yendo a su caja de Linux simultáneamente y luego desconectarlas todas y reanudarlas en otro lugar.

"screen" se controla con el meta ctrl-a de forma predeterminada, y aquí hay un montón de comandos útiles:

ctrl-a c Crear e ingresar una nueva pantalla
ctrl-a n Cambiar a la pantalla siguiente
ctrl-a p Pantalla anterior
ctrl-a "Lista de pantallas
ctrl-a M Pantalla de monitorización de actividad (marcará otras pantallas si pasa algo)
ctrl-a S Pantalla dividida
ctrl-a Tab Cambiar entre pantallas divididas

Entonces, hay un puñado, y tenga en cuenta que puede cortar y pegar entre pantallas, lo que lo hace enormemente útil cuando está en la consola.

 

Con esto concluye este artículo en pantalla y ahora se ubicará entre los millones de otros en la red. Hay una razón por la que están todos ahí: "screen" es la respuesta.



Miércoles, Octubre 22, 2008

« Atrás