Gestión de Sesiones
Crear y Listar Sesiones
screen # new unnamed session screen -S work # new session named "work" screen -ls # list all sessions screen -list # same as -ls
Comandos de Sesión
screen -S nameIniciar nueva sesión con nombre
screen -r nameReconectar a sesión desconectada
screen -x nameConectar a sesión ya activa (compartir)
screen -d nameDesconectar sesión remota
screen -d -r nameDesconectar en otro lugar, reconectar aquí
screen -D -RRForzar desconexión y reconexión (agresivo)
screen -lsListar todas las sesiones con PIDs
screen -wipeLimpiar sesiones muertas
Ventanas
Básicos de Ventanas
Ctrl-a cCrear nueva ventana
Ctrl-a nSiguiente ventana
Ctrl-a pVentana anterior
Ctrl-a 0-9Cambiar a ventana por número
Ctrl-a "Listar todas las ventanas (interactivo)
Ctrl-a 'Cambiar a ventana por nombre/número
Ctrl-a ARenombrar la ventana actual
Ctrl-a kCerrar la ventana actual
Gestión de Ventanas
Ctrl-a wMostrar lista de ventanas en la barra de estado
Ctrl-a Ctrl-aAlternar entre las últimas dos ventanas
Ctrl-a NMostrar número y nombre de la ventana
exit / Ctrl-dCerrar ventana (salir del shell)
División y Regiones
Comandos de División
Ctrl-a SDividir horizontalmente (arriba/abajo)
Ctrl-a |Dividir verticalmente (izquierda/derecha)
Ctrl-a TabMover foco a la siguiente región
Ctrl-a XCerrar la región actual
Ctrl-a QCerrar todas las regiones excepto la actual
Flujo de Trabajo con Regiones
Ctrl-a S # split horizontal Ctrl-a Tab # move to new region Ctrl-a c # create window in region Ctrl-a :resize 20 # set region to 20 lines
Modo Copia
Desplazamiento y Copia
Ctrl-a [Entrar al modo copia/desplazamiento
SpaceIniciar/terminar selección (en modo copia)
EnterCopiar selección y salir del modo copia
Ctrl-a ]Pegar texto copiado
h/j/k/lMover cursor (teclas vi en modo copia)
Ctrl-u / Ctrl-dDesplazar arriba/abajo media página
/ or ?Buscar hacia adelante/atrás
EscSalir del modo copia
Flujo de Trabajo de Copia
Ctrl-a [ # enter copy mode Space # mark start (navigate first) Space # mark end + copy (navigate first) Ctrl-a ] # paste into current window
Desconectar y Reconectar
Desconectar
Ctrl-a dDesconectar la sesión actual
Ctrl-a D DDesconectar y cerrar sesión
Ctrl-a zSuspender screen (como Ctrl-Z)
screen -d PIDDesconectar remotamente la sesión por PID
Reconectar
screen -r # reattach (if only one session) screen -r work # reattach by name screen -r 12345 # reattach by PID screen -d -r work # steal session from other terminal
Flujos de Trabajo Persistentes
# Start long-running task, detach, reconnect later screen -S build make -j4 all # start build Ctrl-a d # detach, go home screen -r build # reattach later
Compartir
Modo Multiusuario
# Host enables multiuser Ctrl-a :multiuser on Ctrl-a :acladd alice # grant access to user alice # Alice attaches screen -x hostuser/sessionname
Control de Acceso
:multiuser onHabilitar modo multiusuario
:acladd userOtorgar acceso completo al usuario
:aclchg user -w '#'Hacer al usuario de solo lectura (todas las ventanas)
:acldel userEliminar acceso del usuario
screen -x user/sessConectar a la sesión compartida
Configuración
Esenciales de ~/.screenrc
startup_message off # skip splash screen defscrollback 10000 # scrollback buffer lines hardstatus alwayslastline hardstatus string '%{gk}%H %{wk}%?%-Lw%?%{bw}%n*%f %t%{wk}%?%+Lw%?' shell -$SHELL # use login shell
Configuraciones Útiles
startup_message offSuprimir mensaje de inicio
defscrollback NEstablecer búfer de desplazamiento (predeterminado 100)
escape ^BbCambiar tecla prefijo a Ctrl-b
shelltitle '$ |bash'Establecer títulos de ventana automáticamente
caption always '%n %t'Mostrar siempre el pie con info de ventana
autodetach onDesconectar automáticamente en colgada (predeterminado)
vbell onUsar campana visual en lugar de audible
Patrones Comunes
Configuración de Desarrollo
# Auto-create windows in .screenrc screen -t editor 0 vim screen -t server 1 python -m http.server screen -t shell 2 bash select 0 # start on editor window
Registro y Monitoreo
Ctrl-a H # toggle logging to screenlog.N Ctrl-a M # monitor window for activity Ctrl-a _ # monitor window for silence
Referencia Rápida
Ctrl-a ?Mostrar todos los atajos de teclado
Ctrl-a :helpAyuda integrada
Ctrl-a :source fileCargar archivo de configuración
Ctrl-a :screen cmdEjecutar comando en nueva ventana
Ctrl-a :quitCerrar todas las ventanas y salir de la sesión