Como alterar o título do Gnome-Terminal?

156

Eu tenho várias instâncias de terminais em execução no meu ambiente de trabalho, o que eu gostaria é de definir um título específico para cada um, a fim de ter uma idéia clara do propósito do terminal específico, ou seja, Apache, editing_ini, postgres etc. ..

Claro, a partir da linha de comando.

    
por topless 20.01.2011 / 14:20

12 respostas

142
  • A maneira mais userfriendly é pegá-lo no menu Terminal - > "Definir título ...".

  • Existem outras maneiras, mas você também pode enviar

    gnome-terminal --title="SOME TITLE HERE"
    

    Isso pode não dar o efeito desejado, pois há uma grande chance de que seu .bashrc substitua esse comportamento.

  • Trazendo-nos ao último método, que eu descaradamente arranquei do meu .bashrc .

    PROMPT_COMMAND='echo -ne "3]0;SOME TITLE HERE
    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}
    case "$TERM" in
    xterm*|rxvt*)
        # JEFFYEE REMOVED because it makes commands to title() not work
        #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
        ;;
    *)
        ;;
    esac
    
    7"'
    7"'

Como referência extra, esta é a linha em particular no meu .bashrc

gnome-terminal --title="SOME TITLE HERE"

Você também pode precisar comentar este código em seu ~ / .bashrc

PROMPT_COMMAND='echo -ne "3]0;SOME TITLE HERE
PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}
case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac
7"'
7"'
    
por Ward Muylaert 20.01.2011 / 14:51
60

A resposta de Ward é ótima se você quiser definir seu título com base em qual host você está, etc., toda vez que abrir um terminal. Se você quiser apenas definir rapidamente um título, pode executar o eco sozinho:

echo -ne "3]0;SOME TITLE HERE
termtitle() { printf "3]0;$*
echo -ne "3]0;SOME TITLE HERE
termtitle() { printf "3]0;$*%pre%7"; }
7"
7"; }
7"

ou faça uma função simples (dentro do seu ~/.bashrc ), digamos termtitle

%pre%

que você pode executar com termtitle some title here .

    
por naught101 29.05.2012 / 04:20
31

Se você usa o editor Vim, você também pode habilitar esta opção no seu vimrc:

:set title

que está desativado por padrão. Ele irá definir títulos de terminal legal mostrando o nome do arquivo que você está editando no momento e algumas outras coisas.

    
por ulidtko 20.01.2011 / 15:40
25

Por questão de integridade, gostaria de acrescentar que você também pode definir o gnome-terminal title usando este comando:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Você precisará instalar o pacote wmctrl primeiro.

    
por Isaiah 23.01.2011 / 01:57
19

Argh, tantas respostas ...

Eu tentei wmctrl , o que quase funcionou, exceto que não consegui alterar o título do ícone, pelo menos não permanentemente.

O problema é que o PS1 no Bash no Ubuntu define o título.

O PS1 padrão é

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

... que define o título na primeira sequência de escape: \e]0;\[email protected]\h: \w\a

Assim, existem duas soluções:

Solução 1: simplifique o PS1 e use PROMPT_COMMAND

Altere o PS1 para algo mais simples:

PS1="\[email protected]\h:\w\$ "

Em seguida, use o PROMPT_COMMAND:

PROMPT_COMMAND='echo -ne "3]0;SOME TITLE HERE
PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ '
7"'

Solução 2: modifique diretamente o PS1

Simplesmente modifique PS1 com novo título:

\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ 
    
por Hugh Perkins 07.02.2013 / 04:36
10

Se você é um usuário Ubuntu, você pode mudar o título de uma aba do terminal gnome usando o HUD .

Enquanto estiver no terminal gnome, pressione a tecla Alt para exibir o HUD, digite as primeiras letras, por exemplo, "tit", aperte enter e digite seu novo título.

Este é um método muito rápido e evita o uso do mouse.

    
por Tom 18.06.2013 / 08:55
3

Outra maneira de alterar o título de gnome-terminal é usando gconftool-2 ; isto muda o título do terminal inicial para o perfil selecionado, para que você possa ter perfis diferentes associados a títulos como 'Apache', 'Editing', etc. Você então lançará gnome-terminal com o perfil apropriado para obter o título do terminal que você especificou. Isso está em contraste com gnome-terminal --title "name" , que altera o título por terminal, mas não afeta o título inicial especificado no perfil.

Você pode usar o seguinte comando em um script para definir o nome do terminal de um perfil e pode alterar o nome do terminal em determinados momentos do dia para lembrá-lo de coisas:

gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"

Isso é para o perfil padrão, mas você pode definir o título para outros perfis também, alterando, por exemplo, Default para outro perfil como Profile0 :

gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"

Eu achei que essa maneira de alterar o título é útil devido à maneira como ele poderia ser usado no script, ou apenas como uma forma rápida de linha de comando para definir o título do perfil. Observe que, às vezes, é necessário relançar o terminal com o perfil especificado para que a configuração gconftool-2 tenha efeito. As configurações completas disponíveis para gnome-terminal podem ser listadas com gconftool-2 -R /apps/gnome-terminal .

    
por user76204 03.01.2013 / 02:09
2

Outra solução é usar xdotool para simular pressionamentos de tecla, talvez útil em scripts:

  1. Defina um atalho de teclado no terminal gnome:

    Edit > Keyboard Shortcuts... > Terminal > Set Title
    

    Por exemplo, assing the Shift+Ctrl+Y .

  2. Instale xdotool se você ainda não o tiver:

    sudo apt-get install xdotool
    
  3. A seguinte seqüência de comandos (que você pode usar também em um script bash) irá definir o título do terminal / tab (escape dos espaços com \ ):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [opcional] Você também pode usar xdotool para abra uma nova aba e configure o título com os comandos acima, usando:

    xdotool key ctrl+shift+t
    

    Considere adicionar um tempo de sono antes e depois de abrir uma nova guia, por exemplo, sleep 1 (para esperar por 1 segundo).

Esta não é a solução mais elegante, mas funcionou para mim! As respostas anteriores não funcionaram no meu caso. Eu uso o gnome-terminal no Ubuntu 14.04 e eu queria fazer um script bash.

    
por MakisH 12.11.2015 / 18:55
1

Para exibir apenas o diretório de trabalho atual no título, tente isso em seu '.bashrc':

PROMPT_COMMAND='echo -ne "3]0; ${PWD##*/}
PROMPT_COMMAND='echo -ne "3]0;$(basename ${PWD})
PROMPT_COMMAND='echo -ne "3]0; ${PWD##*/}
PROMPT_COMMAND='echo -ne "3]0;$(basename ${PWD})%pre%7"' 
7"'
7"'
7"'

ou

%pre%     
por Sriram 16.03.2014 / 06:47
0

Isso funcionou no meu Gnome Terminal 3.18.3 .

Edite seu arquivo .bashrc e adicione esta função

# Update gnome terminal title
function termtitle() {
    # take argument
    TITLE=$1
    shift
    # update title
    PROMPT_COMMAND='echo -ne "3]0; $TITLE 
$ source ~/.bashrc
7"' }

Não se esqueça de source do seu arquivo .bashrc

$ termtitle "MariaDB CLI"

E então você pode simplesmente atualizar, você poderá alterar o título do terminal assim:

# Update gnome terminal title
function termtitle() {
    # take argument
    TITLE=$1
    shift
    # update title
    PROMPT_COMMAND='echo -ne "3]0; $TITLE 
$ source ~/.bashrc
7"' }
    
por RousseauAlexandre 23.10.2017 / 11:06
-1

Caso alguma pobre alma como eu seja forçada a usar o tcsh, tente algo assim em seu .cshrc:

set prompt='%{3]0;%[email protected]%m
set prompt='%{3]0;%[email protected]%m%pre%7%}%~%# '
7%}%~%# '

Fonte e mais detalhes: link

    
por spookypeanut 02.05.2017 / 13:11
-1

Se você estiver usando o gnome 3, a conveniente opção de menu Terminal > Set Title foi removida. Você pode instalar um terminal bifurcado gnome 2 que ainda tenha a opção de menu "Set Title", e execute isso:

sudo apt-get install mate-terminal

Em vez de executar o "Terminal", execute "MATE Terminal". Você provavelmente também deve selecionar o terminal do parceiro em sudo update-alternatives --config x-terminal-emulator .

    
por 27.11.2018 / 07:28