Lo admito por adelantado: es vergonzosamente tarde para mí haber descubierto screen
. Amigos y compañeros de trabajo me lo han estado sugiriendo durante años, pero no fue hasta hace poco que tuve una necesidad concreta. Ahora desearía haberlo tenido todo el tiempo. En breve, screen
le brinda el equivalente de los «espacios de trabajo» que encuentra en Gnome, KDE y otros entornos de escritorio, pero para la línea de comandos. Puede que no parezca mucho, pero como el equivalente gráfico, comienzas a ver la potencia después de algunos usos. Hoy vamos a cubrir algunos screen
conceptos básicos útiles para el escritorio de su hogar, pero especialmente útil si utiliza herramientas de acceso remoto como SSH.
Descripción general
Digamos que está en la línea de comando y está ejecutando un proceso largo como una recompilación del kernel. En algunas máquinas, eso puede tardar hasta una hora. Un usuario promedio podría sentarse y esperar. Un usuario inteligente podría hacer el trabajo en segundo plano o usar las teclas de función para abrir un nuevo inicio de sesión de TTY. Un usuario de pantalla, sin embargo, ya ha pensado en el futuro. Si la pantalla se hubiera lanzado primero (o automáticamente, más sobre eso más adelante), ese usuario simplemente presionaría la combinación de teclas adecuada para crear un nuevo shell. Y otro, y otro, si se quiere. Cada uno opera independientemente de los demás y todos los resultados permanecerán en la sesión de pantalla apropiada.
Algunos de ustedes a quienes les gusta usar el método Alt + Ctrl + (F1 a F4) pueden preguntarse cómo screen
es mejor Varias razones en realidad, algunas de las cuales serían:
- No limitado al número de teclas de función
- Posibilidad de nombrar cada pantalla
- Capacidad para desconectar/volver a conectar sesiones de pantalla
- Soporte de «Barra de estado»
- Pantallas compartidas multiusuario
- Pantallas divididas
MUCHO más.
Empezando
Como la pantalla se incluye en casi todas las principales distribuciones de Linux, esta guía no cubrirá la instalación. La forma más sencilla de iniciar la pantalla es simplemente abrir una terminal y escribir
screen
Es posible que obtenga una pantalla de bienvenida, pero de lo contrario es posible que no note nada diferente. Simplemente parece un terminal normal, ¿verdad?
Lo que en realidad está viendo es la sesión de pantalla predeterminada, y puede pensar en ella como una capa sobre su caparazón. Si sale o desconecta la sesión, volverá a su shell normal sin pantalla.
Adición y navegación de pantallas
Para empezar, necesitará conocer una combinación de teclas principal. Esta es la combinación de teclas «mágicas» que le permite acceder a todos los comandos individuales. ¿Qué es esta combinación mágica? Ctrl + A. Por ejemplo, Ctrl + A seguido de c creará una nueva pantalla. Ctrl + A y n pasarán a la siguiente pantalla en línea (si existe). A continuación se incluyen muchas de las teclas de acción más comunes (todas las teclas distinguen entre mayúsculas y minúsculas):
- c – Crear una nueva pantalla
- n – Pasar a la siguiente pantalla
- p – Ir a la pantalla anterior
- S: pantalla dividida en regiones apiladas
- | – Dividir en regiones una al lado de la otra (es posible que no funcione en todos los sistemas)
- d – Separar pantalla
- A – Establecer título de pantalla
Colocación/desconexión de pantallas
Si bien hay muchos usos excelentes para la pantalla, esta función podría llamarse el pan y la mantequilla de la pantalla. La capacidad de desconectar una pantalla, dejarla en funcionamiento y recuperarla más tarde es invaluable.
Digamos que está ejecutando el servidor de Minecraft de la semana pasada y se está ejecutando en una PC vieja debajo de su cama. Normalmente, si quisiera, por ejemplo, ingresar comandos en la consola del servidor, tendría que sacar la máquina, sacar un teclado y un monitor, ejecutar sus comandos y retroceder todo. Si el software del servidor se hubiera iniciado en una sesión de pantalla, puede ingresar al servidor mediante SSH, volver a conectar la pantalla y hacer lo que necesita. Cuando haya terminado, desconecte la pantalla y el servidor seguirá funcionando incluso después de cerrar la sesión SSH. Días/semanas/meses después, puede volver a iniciar sesión en el servidor y volver a adjuntar esa pantalla para ingresar nuevos comandos.
.screenrc
Finalmente, no podríamos cubrir screen sin al menos una breve mención del archivo “~/.screenrc”. Hay muchos usos para este archivo, pero como esta es una guía introductoria, no cubriremos todas las opciones posibles. En su lugar, solo señalaremos la configuración de estado duro muy apreciada.
Esta opción le brinda una barra de información fantásticamente útil que persistirá en todas las sesiones de pantalla. Por lo general, se coloca en la parte inferior y contiene información como la hora, el nombre de host y el título/número de la pantalla actual.
Puede encontrar códigos de estado duro de ejemplo en toda la red con su motor de búsqueda preferido, pero aquí hay algunos para que pueda comenzar.
#1
hardstatus alwayslastline hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
#2
hardstatus alwayslastline hardstatus string "%{+b Rk}(%{-b g}$LOGNAME@%H%{+b R}) (%{-b g}%C %a%{+b R}) %{-b g} %n %t %h"
#3
hardstatus alwayslastline hardstatus string '%{= M} %H%{= G} %l %= %{= w}%-w%{+b r}%n*%t%{-b r}%{w}%+w %= %{c}%d %D %{B}%c '
Danos tu opinión