200 votos

¿Cómo cambiar el título de Gnome-Terminal?

Tengo varias instancias de terminales que se ejecutan en mi entorno de trabajo, lo que me gustaría es establecer un título específico para cada uno, con el fin de tener una idea clara de lo que el terminal específico sirve es decir, Apache, editing_ini, postgres etc ...

Por supuesto, desde la línea de comandos.

0 votos

Además del comentario de Ward: No te olvides de "desajustar PROMPT_COMMAND" antes de envíe la secuencia de escape de cambio de título, de lo contrario cualquier cambio que realice se perderá en cuanto aparezca el siguiente prompt Shell.

0 votos

Para una pregunta similar para KDE, véase stackoverflow.com/questions/8782159/

0 votos

Tuve este problema al cambiar de OS X a Ubuntu. Para obtener títulos personalizados dentro de una configuración de varias pestañas, utilicé gnome-terminal --load-config junto con este script He escrito.

79voto

Topkapi Puntos 1

La respuesta de Ward es genial si quieres establecer tu título basado en el host en el que estás, etc. cada vez que abres un terminal. Sin embargo, si sólo quieres establecer rápidamente un título, puedes ejecutar echo por sí mismo:

echo -ne "\033]0;SOME TITLE HERE\007"

o hacer una simple función (dentro de su ~/.bashrc ), digamos termtitle

termtitle() { printf "\033]0;$*\007"; }

que se puede ejecutar con termtitle some title here .

4 votos

O de forma similar podemos añadir como alias de bash añadiendo las siguientes líneas en ~/.bash_aliases function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_title y luego usar: $ title term_title

15 votos

Lamentablemente no parece funcionar para mí en la terminal de GNOME 3.6.2.

1 votos

Tampoco parece funcionar en xterm 322 o konsole 16.12... No sé si hay un nuevo método, por desgracia :(

33voto

ulidtko Puntos 2541

Si utiliza el editor Vim, también puede activar esta opción en su vimrc:

:set title

que está desactivado por defecto. Se establecerán los títulos de la terminal mostrando el nombre del archivo que se está editando en ese momento y algunas otras cosas.

0 votos

Esto da un nombre que cambiará cada vez no es útil :set notitle

30voto

Hugh Perkins Puntos 161

Argh, tantas respuestas...

He intentado wmctrl que casi funcionó, excepto que no pude conseguir que cambiara el título del icono, al menos no de forma permanente.

El problema es que el PS1 en Bash en Ubuntu pone el título.

El PS1 por defecto es

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

... que establece el título en la primera secuencia de escape: \e]0;\u@\h: \w\a

Por lo tanto, hay dos soluciones:

Solución 1: simplificar PS1, luego utilizar PROMPT_COMMAND

Cambia PS1 por algo más sencillo:

PS1="\u@\h:\w\$ "

A continuación, utilice el PROMPT_COMMAND:

PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'

Solución 2: modificar directamente el PS1

Simplemente modifica la PS1 con el nuevo título:

PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Notas sobre los códigos de escape

Tenga en cuenta que (tomando prestado el comentario de wjandrea debajo de esta respuesta):

  • \e o \033 es el carácter de escape (ESC), que inicia una secuencia de escape.
  • ] inicia un comando del sistema operativo (OSC).
  • Para un xterm, 0; significa "poner el título", y
  • \a o \007 es el carácter de campana (BEL) que termina el OSC.

Más información: https://en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences

0 votos

Hola, me gusta mucho tu respuesta. ¿Le importaría explicar el papel de ]0; en su código? Creo que he encontrado el significado de echo -e '\007 \033' con el ascii -o mando aunque la verdad es que tampoco estoy seguro de qué hace eso ahí gracias

2 votos

@iso \e o \033 es el carácter de escape (ESC), que inicia una secuencia de escape. ] inicia un comando del sistema operativo (OSC). Para un xterm, 0; significa "poner el título", y \a o \007 es el carácter de campana (BEL) que termina el OSC. Más información: es.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences

0 votos

@wjandrea Estaba buscando las letras de escape equivalentes ( \e y \a ) para \033 y \007 pero no pude encontrarlos ciertamente porque no sabía las palabras clave correctas para escribir en google. El enlace que has dado también es útil. ¿Puede convertir su comentario en una respuesta?

27voto

Craig Smitham Puntos 522

En aras de la exhaustividad, me gustaría añadir que también se puede establecer el gnome-terminal título utilizando este comando:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Tendrá que instalar el paquete wmctrl Install wmctrl primero.

1 votos

MyWindowTitle no aparece en el título del terminal. Aparece cuando hago wmctrl -m.

3 votos

Tenga en cuenta que wmctrl cambia el título de la ventana y no el de la pestaña, mientras que la solución de los caracteres escapados cambia el título de la pestaña. Además, el título de la ventana vuelve a ser el título original de la pestaña en cuanto se cambia de pestaña.

0 votos

Esto no me ha funcionado con Ubuntu 16.04 LTS.

10voto

Garry Puntos 648

Si eres un usuario de Ubuntu, puedes cambiar el título de una pestaña de gnome-terminal utilizando la opción HUD .

Estando en el gnome-terminal, pulsa Alt para que aparezca el HUD, escribe las primeras letras, por ejemplo "tit", pulsa enter y escribe tu nuevo título.

Este es un método muy rápido y evita el uso del ratón.

(ACTUALIZACIÓN: En las nuevas versiones de gnome-terminal, esto se ha eliminado. Pruebe otras respuestas).

1 votos

Sí, es cierto. Mantiene las manos en el teclado. Se muestra el título existente, por lo que es rápido y fácil también modificar el existente utilizando este método.

0 votos

teta es sólo para el Ubuntu inglés.

1 votos

Y la opción completa ha sido eliminada :(

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X