Establecer títulos de la pestaña Terminal


11

Estoy tratando de abrir algunas pestañas de terminal en gnome-terminal, y hasta ahora he logrado hacer algo , pero ahora estoy atascado.

Entonces, tengo el siguiente requisito:

  • Abrir pestañas tituladas "X" e "Y"
  • Ejecutar algunos comandos
  • Mantenga las pestañas abiertas y listas para su uso posterior; guarda el titulo.

Hasta ahora, logré cumplir algunos de los requisitos, pero no todos:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Esto abre dos pestañas:

  1. "X" (y luego cambia el título al título predeterminado)
  2. "Y", pero la pestaña se cierra tan pronto como salgo top.

¿Hay alguna manera de abrir una pestaña, iniciar bash, pero no cambiar el título? He intentado con Google, pero me di por vencido.

EDITAR: No tiene que ser un comando.


¿Tiene que ser un comando? Porque la GUI de gnome-terminal funciona bien para eso.
neph

@kikjezrous Bueno, sé cómo hacerlo con atajos de teclado, o simplemente haciendo clic derecho, pero tengo que hacerlo cada vez que me pongo a trabajar (y son 6 pestañas), por lo que es más un problema de conveniencia que una necesidad real.
omninonsense

Ah, editaré mi respuesta.
neph

Respuestas:


4

Como puede ver en otras respuestas , el título de la pestaña es cambiado por el shell cada vez que genera un mensaje. Y después de ejecutar topsu pestaña sale porque el comando que le indicó que ejecute termina ...

Haré lo siguiente:

Paso 1: llame al terminal con shells, agregando variables de entorno así:

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Paso 2: agregue al final de su .bashrcsiguiente código:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... que creo que es fácil de entender y puede modificar con el comando / ajustes que necesita. Probado y funciona bien; después de salir topde la pestaña, aún tendrá el aviso y la pestaña para que pueda leer detenidamente.

Captura de pantalla (después de presionar "q" top):

captura de pantalla


6

Para mantener los títulos de las pestañas, debe comentar las siguientes líneas en su .bashrc:

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Entonces gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"funcionará como se esperaba:

ingrese la descripción de la imagen aquí


Marcar esto como la respuesta correcta, ya que es la más simple. :-)
omninonsense

Cambié la respuesta aceptada (y la edité ligeramente), porque se ajustaba mejor a mis requisitos; ¡Sin embargo, esta sigue siendo una gran respuesta!
omninonsense

1
No hay problema, así es como funciona :)
Sylvain Pineau

1

Asumo que no tiene que ser un comando, y le doy una forma totalmente gráfica de hacerlo.

Después de iniciar gnome-terminal, el menú 'archivo' le permite abrir nuevas pestañas que tendrán asignado un título determinado. Eso se puede cambiar mediante el menú 'terminal' o haciendo clic derecho en la pestaña y haciéndolo desde el menú contextual.

Luego, puede abrir la parte superior y cualquier otro comando que desee, todo está en la terminal, ejecutándose como un proceso normal y sin conexión que se ejecuta desde cualquier otra terminal, solo el entorno de escritorio, que no morirá después de que sienta que ha hecho lo que es supone que debe hacer.


Usando gnome-terminal incorporado no hay ninguna opción para establecer el título en el menú contextual para pestañas o cualquier opción en el menú 'terminal'. ¿Qué versión de terminal estás usando?
Williams

1

Mientras jugaba, descubrí que no es el comando en absoluto, es el perfil.

Ir:

Edit | Profiles | (Default) | Edit | Title and Command 

y cambie la opción "Cuando las terminales establecen su propio título" a "Mantener título inicial", al final de la lista. Ahora, cuando ejecutas un comando con un título, se quedará, por lo que tu comando funcionará correctamente.

ingrese la descripción de la imagen aquí


Tenga en cuenta que tendrá que hacer esto para cada perfil definido
Sylvain Pineau
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.