Así que soy un gran admirador de los multiplexores como GNU Screen y Tmux , pero incluso usando Screen durante años, todavía reconozco que hay muchas cosas que no sé (y solo uso Tmux durante un par de meses, así que es peor )
¿Qué configuraciones, consejos y trucos usas en ese software (ambos o en cada uno, no importa)?
Lo uso como mi configuración de pantalla (creo que lo adapté del valor predeterminado de Ubuntu screenrc
):
shell -$SHELL
startup_message off
defscrollback 1000
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''
termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007'
Es una configuración simple para que la barra de estado se muestre con algunos colores, pero estoy seguro de que hay más cosas que puedo hacer con la pantalla y Tmux y me encantaría saberlo.
gnu-screen
tmux
volcado de memoria
fuente
fuente
zombie qr
mantiene la ventana abierta incluso si el proceso está inactivo y permiteq
cerrarla or
resucitar el proceso. Útil para la verificación de software.Respuestas:
Esto puede ser un poco simple para esta multitud, pero me pareció útil agregar esto al final de .profile, para que cuando inicie sesión de forma remota a través de ssh, pueda leer el MOTD, luego cambie a la pantalla.
fuente
Tengo esto en mi .bashrc. Si no está ejecutando la pantalla, esta función solo llama
ssh
como de costumbre cuando se ejecuta. Si está ejecutando dentro de la pantalla (y no ha cambiado el valor predeterminado$TERM
), primero establece el nombre de la ventana en el host remoto (junto con cualquier parámetro opcional). Es muy útil realizar un seguimiento de las conexiones remotas cuando tiene muchas abiertas, lo cual es frecuente en nuestra línea de trabajo, creo.También lo uso
bind ^A windowlist -b
para acceder fácilmente a la lista de ventanas (solo toque ctrl-A dos veces).Fácil soporte de ssh-agent para todas las ventanas:
Luego, en cualquier ventana, ssh-add solo una vez cuando comienza una nueva sesión.
Finalmente, cuando se conecta a una sesión de pantalla remota desde otra sesión de pantalla, puede usar
screen -x -e ^Vv
para configurar la secuencia de control en CTRL-V (por ejemplo). Esto evita tener que encadenar CTRL-As para controlar la sesión remota.fuente
Puede considerar byobu , que es esencialmente una colección de cientos de consejos, trucos, configuraciones, combinaciones de teclas, scripts de estado y mejores prácticas orientadas en torno a
screen
ytmux
.fuente
Aunque comencé a usar tmux para paneles, todavía uso la pantalla para multiplexar las ventanas dentro. Supuestamente, tmux tiene esta funcionalidad, pero intercambiar paneles de una ventana a otra no es intuitivo para mí, ni dos visores de tmux conectados pueden ver diferentes ventanas dentro del mismo demonio (comportamiento screen-x), por lo tanto, la solución screen-in-tmux. Estos son dos enlaces tmux.conf que me tomaron más tiempo descubrir y uso todos los días.
El primero, vincular M (ctrl-b shift-M), alterna tmux entre el selector de panel del mouse y el resaltado / copia del mouse. Todavía puedes copiar / pegar en el modo de selección de panel, pero debes mantener presionada la tecla Mayús (y si te acostumbras a eso, copiar / pegar en cualquier otra aplicación te hará un poco miserable, déjame decirte). La macro también hace que sea visualmente obvio qué modo está seleccionado actualmente.
El segundo, vincular CL (ctrl-b ctrl-l), tomará cualquier diseño de 4 paneles y lo convertirá en mi diseño preferido. Muchas veces, me doy cuenta de que presioné ctrl-d en un panel que pensé que estaba dentro de la pantalla para cerrarlo, pero en su lugar no hubo sesión en la pantalla y cerró el panel. Dado que mi diseño es v-split, h-split, v-split y algunos cambios de tamaño, si accidentalmente cerré cualquiera que no sea la última ventana, se convierte en una molestia (sin juego de palabras) cerrar cualquier panel intermedio entre el que necesito recrear y el último, luego vuelva a crear y redimensione los paneles, y finalmente vuelva a adjuntar cualquier sesión de pantalla que haya tenido que separar al matar paneles. Con esta macro, puedo crear un nuevo panel, ctrl-b {(el enlace predeterminado para swap-pane -U) hasta que vuelva al orden correcto, luego presione la macro y todo volverá a la normalidad. Mi diseño preferido probablemente no sea el mismo que el tuyo,
list-windows
comando para obtener una cadena de diseño como la siguiente.Si eso es demasiado ingenuo para su gusto, siempre hay tmuxinator para la gestión de paneles.
fuente