Tengo la costumbre de abrir una terminal usando el comando "Abrir terminal aquí" en las carpetas. Esto hace que algunos terminales permanezcan abiertos mientras realmente ya no los uso, o me confundo qué terminal estaba sirviendo para qué propósito.
Sé que puedo etiquetar las pestañas de los terminales y demás, pero ¿puedo forzar a un nuevo terminal que se está abriendo para que se convierta en una nueva pestaña en una pantalla de terminal (si ya hay una abierta?) De esta manera, siempre las tengo en una sola pestaña terminal.
EDITAR
Bien, ha pasado un tiempo y mi Linux Mojo ha mejorado mucho. Entonces, la solución actual a esta situación para mí ha estado usando tmux
. Es un poco más avanzado que los terminales y las pestañas normales, pero una vez que me acostumbré (aproximadamente una hora de prueba), estoy muy satisfecho con la forma de hacer las cosas.
En primer lugar, me aseguré de que cada vez que abría un terminal usando ctrl-alt-t
, abriría tmux por defecto. Esto se puede lograr agregando la siguiente línea en su .bashrc
archivo después de todos los alias:
[[ $TERM != "screen" ]] && exec 'tmux
Ahora, cada vez que engendras un terminal usando, ctrl-alt-t
se te presentará un tmux
.
Para asegurarme de que solo tiene una terminal abierta al mismo tiempo, hice lo siguiente:
En primer lugar, puede volver a conectar una sesión tmux
ejecutándose tmux attach -d
. Esto desconectará a todos los demás clientes conectados a esta sesión. Esto funciona bien si eres la única persona que usa las sesiones.
Pero, si no tiene una sesión ejecutándose, dirá que no encontró ninguna sesión. Ergo, necesitas algo como if (nosession) {tmux} else {tmux attach -d}. Para hacer esto cree de anexar a su ~/.tmux.conf
archivo la siguiente línea:
#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
(Gracias a esta publicación )
En mi .bashrc
archivo, cambié la línea agregada previamente a la siguiente:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
Lo que esto hace es separar a todos los demás clientes de la tmux
sesión. Cuando haces esto, todas las otras terminales se cierran. Se cierran porque esta línea también se asegura de que cuando abra una terminal (ctrl-alt-t), inmediatamente inicie una sesión tmux.
Ergo, attach -d
mata las otras sesiones. ¡Así que esta es la solución más cercana que podría obtener y estoy bastante feliz con ella! :)
Lo único que aún me gustaría es que cuando presiono ctrl-alt-t
se abre mi sesión actual y también crea una nueva ventana. Todavía no lo he descubierto, ¡así que siéntete libre de ayudar!