Cómo usar el comando de pantalla de Linux

Con linux screen , puede empujar las aplicaciones de terminal en ejecución a segundo plano y tirar de ellas hacia adelante cuando desee verlas. También es compatible con pantallas divididas y funciona a través de conexiones SSH, ¡incluso después de desconectarse y volver a conectarse!

¿Qué es el comando de pantalla?

El screen El comando es un comando multiplexador de terminales, y está absolutamente repleto de opciones. Decir que puede hacer mucho es el abuelo de los eufemismos. La página del man se extiende a más de 4.100 líneas.

Los siguientes son los casos más comunes en los que utilizaría el screen y los cubriremos más a fondo en este artículo:

  • La operación estándar es crear una nueva ventana con un shell, ejecutar un comando y luego empujar la ventana al fondo (llamado “separación”). Cuando desee ver cómo va su proceso, puede volver a poner la ventana en primer plano (“volver a adjuntar”) y usarla nuevamente. Esto es ideal para procesos largos que no desea terminar accidentalmente cerrando la ventana del terminal.
  • Una vez que tengas un screen sesión en ejecución, puede crear nuevas ventanas y ejecutar otros procesos en ellas. Puede saltar fácilmente entre ventanas para monitorear su progreso. También puede dividir la ventana de su terminal en regiones verticales u horizontales, y mostrar sus diversas screen ventanas en una ventana.
  • Puede conectarse a una máquina remota, iniciar un screen y lanzar un proceso. Puede desconectarse del host remoto, volver a conectarse y su proceso seguirá ejecutándose.
  • Puedes compartir un screen sesión entre dos conexiones SSH diferentes para que dos personas puedan ver lo mismo, en tiempo real.

Pantalla de instalación

Para instalar screen en ubuntu, use este comando:

sudo apt-get install screen

Para instalar screen en Manjaro, utilice el siguiente comando:

sudo pacman -Sy screen

En Fedora, usted escribe lo siguiente:

sudo dnf install screen

Introducción a la pantalla

Empezar screen, simplemente escóralo como se muestra a continuación y presiona Enter:

screen

Verá una página con información de licencia. Puede presionar la barra espaciadora para leer la segunda página o Entrar para volver al símbolo del sistema.

Te quedas en el símbolo del sistema, y nada parece haber sucedido. Sin embargo, ahora está ejecutando un shell dentro de un emulador de terminal multiplexado. ¿Por qué es esto algo bueno? Bueno, comencemos un proceso que tomará mucho tiempo completar. Descargaremos el código fuente del último kernel de Linux y lo redirigiremos a un archivo llamado latest_kernel.zip.

Para ello, escribimos lo siguiente:

curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz > latest_kernel.zip

Nuestra descarga comienza, y el curl la salida nos muestra el progreso.

No podemos mostrarte una imagen del siguiente bit, porque es una secuencia de pulsaciones de teclas. Escriba Ctrl+A, suelte esas teclas y, a continuación, presione d para separar la pantalla.

El proceso de descarga sigue ejecutándose, pero se elimina la ventana que muestra la descarga. Volverá a la ventana del terminal desde la que inició el screen sesión. Un mensaje le indica que un screen ventana etiquetada 23167.pts-0.howtogeek se ha desprendido.

Necesita el número del principio del nombre de la ventana para volver a adjuntarlo. Si lo olvidas, siempre puedes usar el -ls (lista) opción, como se muestra a continuación, para obtener una lista de las ventanas separadas:

screen -ls

Cuando esté listo, puede usar el -r (volver a adjuntar) y el número de la sesión para volver a adjuntarla, así:

screen -r 23167

La ventana que ha estado funcionando en segundo plano ahora se devuelve a la ventana de su terminal como si nunca se hubiera ido.

Si es un proceso que va a llegar a su conclusión, eventualmente se completará. Si se trata de un proceso continuo, eventualmente querrá terminarlo. De cualquier manera, cuando finalice el proceso, puede escribir exit para salir del screen. Alternativamente, puede presionar Ctrl + A y luego K para matar por la fuerza una ventana.

Escriba el siguiente comando:

exit

Volverá a la ventana del terminal anterior, que seguirá mostrando el comando que utilizó para volver a conectar la ventana. Debido a que cerramos nuestra única ventana separada, recibimos un mensaje de que screen está terminando.

Uso de sesiones de pantalla con nombre

Puede utilizar el -S (nombre de sesión) opción para nombrar su screen sesión. Si usa un nombre memorable en lugar de la identidad numérica de la sesión, es más conveniente volver a conectarse a una sesión. Escribimos lo siguiente para nombrar nuestra sesión “bigfile”:

screen -S bigfile

Cuando screen inicia nuestra sesión, vemos una ventana en blanco con un símbolo del sistema. Vamos a descargar un archivo grande, por lo que podemos usar un proceso de larga duración como ejemplo.

Escribimos lo siguiente:

curl http://ipv4.download.thinkbroadband.com/1GB.zip > bigfile.zip

Cuando se inicia la descarga, presionamos Ctrl + A y luego presionamos D para separar la sesión. Escribimos lo siguiente para usar el -ls (lista) opción con screen para ver los detalles de nuestra sesión separada:

screen -ls

Detrás del identificador numérico (23266), vemos el nombre de nuestra sesión (bigfile). Escribimos lo siguiente, incluido el nombre de la sesión, para volver a adjuntarla:

screen -r bigfile

Nos reconectamos a nuestra ventana de descarga y vemos que la descarga larga aún está en curso.

Cuando se completa la descarga, escribimos exit para cerrar la ventana de sesión.

Uso de la pantalla con varias ventanas

Hasta ahora, hemos utilizado screen para colocar un solo proceso en segundo plano en una ventana separada. Sin embargo screen es capaz de hacer mucho más que eso. A continuación, ejecutaremos algunos procesos que nos permiten monitorear algunos aspectos de nuestra computadora.

Escribimos lo siguiente para iniciar una sesión de pantalla llamada “monitor”:

screen -S monitor

En el símbolo del sistema de nuestra sesión de nueva ventana, iniciaremos dmesg y utilice el -H (legible por humanos) y -w (esperar nuevos mensajes) opciones. Esto Mostrar los mensajes del búfer del kernel; aparecerán nuevos mensajes a medida que se produzcan.

Escribimos lo siguiente:

dmesg -H -w

Aparecen los mensajes existentes. No volvemos al símbolo del sistema porque dmseg está esperando nuevos mensajes, y los mostrará a medida que lleguen.

Queremos ejecutar otra aplicación, por lo que necesitamos una nueva screen ventana. Presionamos Ctrl + A y luego C para crear una ventana nueva. Vamos a usar watch Para ejecutar repetidamente vmstat, por lo que obtenemos una actualización frecuente Visualización del uso de la memoria virtual en nuestro ordenador.

Te puede ser útil:  Cómo buscar canciones en una lista de reproducción de Spotify

En el nuevo símbolo del sistema, escribimos lo siguiente:

watch vmstat

El vmstat la salida aparece y se actualiza cada dos segundos.

Nuestros dos procesos ya están en marcha. Para saltar entre el screen windows, presione Ctrl+A y el número de la ventana. La primera que creamos es la ventana cero (0), la siguiente es la ventana 1, y así sucesivamente. Para saltar a la primera ventana (el dmesg uno), presionamos Ctrl+A y 0.

Si pulsamos Ctrl+A y 1, nos lleva de nuevo al vmstat ventana.

¡Eso es bastante ingenioso! Podemos presionar Ctrl+A, y luego D para separarnos de esta sesión; podemos volver a conectar más tarde. Ambas sesiones seguirán en ejecución. De nuevo, para cambiar entre las ventanas, pulsamos Ctrl+A y el número (0 o 1) de la ventana a la que queremos cambiar.

Vayamos al siguiente paso y veamos ambas pantallas en una ventana. Cuando haga esto, estirará la ventana de su terminal a un tamaño que haga que este paso sea útil. Nuestros ejemplos están limitados al tamaño de nuestras capturas de pantalla, por lo que nuestras ventanas se verán un poco estrechas.

Para hacer esto, presionamos Ctrl + A y luego Mayús + S (se requiere una “S” mayúscula).

La ventana se divide en dos “regiones”.

La región superior sigue siendo la que se muestra vmstat, y la región inferior está en blanco. El cursor se resalta en la captura de pantalla a continuación. Para moverlo a la región inferior, presionamos Ctrl+A y luego Tab.

El cursor se mueve a la región inferior, que en realidad es solo un espacio vacío. No es una cáscara, por lo que no podemos escribir nada en ella. Para obtener una visualización útil, presionamos Ctrl + A y luego presionamos “0” para mostrar el dmesg en esta región.

Esto nos da ambas salidas en vivo en una ventana dividida. Si presionamos Ctrl+A y D para separar la ventana, y luego volver a adjuntarla, perderemos la vista de panel dividido. Sin embargo, podemos restaurarlo con los siguientes atajos de teclado:

  • Ctrl+A, S: Divida la ventana horizontalmente.
  • Ctrl+A, Pestaña: Desplazarse a la región inferior.
  • Ctrl+A, 0: Mostrar la ventana cero en la región inferior.

Podemos llevar las cosas incluso un paso más allá. Ahora dividiremos el panel inferior verticalmente y agregaremos un tercer proceso a la pantalla. Con el cursor en la región inferior, presionamos Ctrl + A y C para crear una nueva ventana con un shell en ella. La región inferior muestra la nueva ventana y nos da un símbolo del sistema.

A continuación, ejecutamos el df comando a Comprobar el uso del sistema de archivos:

df

Cuando vemos df Corriendo, pulsamos Ctrl+A y el carácter de tubería (|). Esto divide la región inferior verticalmente. Presionamos Ctrl+A y Tab para pasar a la nueva región. A continuación, presionamos Ctrl + A y 0 para mostrar el dmesg ventana.

También puede moverse de una región a otra y agregar más vdivisiones erticales u horizontales. Aquí hay algunas combinaciones de teclas más útiles:

  • Ctrl+A: Salta de un lado a otro entre las regiones actuales y anteriores.
  • Ctrl+A, Q: Cierre todas las regiones excepto la actual.
  • Ctrl+A, X: Cierre la región actual.

Uso de la pantalla sobre SSH

Con screen, puede iniciar una sesión de ventana, separarla para que siga ejecutándose en segundo plano, cerrar sesión o volver a iniciarla y volver a adjuntar la sesión.

Hagamos un SSH conexión a nuestro ordenador de uno diferente con el ssh mandar. Tenemos que proporcionar el nombre de la cuenta con la que nos vamos a conectar y la dirección del ordenador remoto.

Para nuestro ejemplo, escribimos lo siguiente:

ssh dave@192.168.4.30

Después de autenticarnos en el equipo remoto e iniciar sesión, escribimos lo siguiente para iniciar un screen sesión llamada “ssh-geek”:

screen -S ssh-geek

Para fines de demostración, ejecutaremos top En screen pero podría iniciar cualquier proceso de larga duración o interminable.

Escribimos lo siguiente:

top

Una vez top se está ejecutando en la ventana, presionamos Ctrl + A y luego D para separar la ventana.

Volvemos a la ventana original del terminal remoto.

Si escribimos exit, como se muestra a continuación, desconecta la sesión SSH y estamos de vuelta en nuestro equipo local:

exit

Escribimos lo siguiente para volver a conectarnos:

ssh dave@192.168.4.30

Después de volver a conectarnos e iniciar sesión, podemos escribir lo siguiente para volver a conectar el screen sesión:

screen -r ssh-geek

Ahora estamos reconectados a nuestra instancia aún en ejecución de top.

Esto es genial si desea iniciar un proceso en una máquina y luego continuar donde lo dejó en otra.

Compartir una sesión de pantalla

También puede utilizar un screen para permitir que dos personas vean e interactúen con la misma ventana. Digamos que alguien que ejecuta Fedora en su computadora quiere conectarse a nuestro servidor Ubuntu.

Escribiría lo siguiente:

ssh dave@192.168.4.30

Después de conectarse, inicia una sesión de pantalla llamada “ssh-geek” usando la opción -S (nombre de sesión). También utiliza el -d (separar) y -m (creación forzada) opciones para crear un nuevo screen sesión que ya está separada.

Escribe lo siguiente:

screen -d -m -S ssh-geek

Escribe lo siguiente, utilizando el -x (modo multipantalla) opción para adjuntar la sesión:

screen -x ssh-geek

En una computadora Manjaro, otra persona se conecta a la computadora Ubuntu con las mismas credenciales de cuenta, como se muestra a continuación:

ssh dave@192.168.4.1

Una vez que está conectada, escribe el screen y utiliza la opción -X (modo multipantalla) para unirse a la misma sesión de ventana, así:

screen -X ssh-geek

Ahora, cualquier cosa que cualquiera de las dos personas escribe, la otra verá. Por ejemplo, cuando una persona emite el comando date, ambos lo ven como está escrito, así como su salida.

Ambas personas ahora están compartiendo un screen sesión que se ejecuta en una computadora Ubuntu remota.


Para una pieza de software que vio la luz por primera vez en 1987, screen todavía tiene un buen wallop de productividad. ¡Familiarizarse con él será un tiempo bien empleado!

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings