Come cambiare il titolo di Gnome-Terminal?

145

Ho diverse istanze di terminali in esecuzione nel mio ambiente di lavoro, quello che mi piacerebbe è impostare un titolo specifico per ognuno, al fine di avere una chiara idea di quale scopo serve il terminale specifico, ad esempio Apache, editing_ini, postgres ecc. ..

Ovviamente dalla riga di comando.

    
posta topless 20.01.2011 - 14:20

12 risposte

132
  • Il modo più intuitivo è selezionarlo dal menu Terminale - & gt; "Imposta titolo ...".

  • Ci sono altri modi, tuttavia, puoi anche pubblicare

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

    Questo potrebbe non dare l'effetto desiderato poiché c'è una grande possibilità che .bashrc sovrascriva quel comportamento.

  • Portandoci all'ultimo metodo, che ho spudoratamente strappato dal mio .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"'

Come riferimento extra, questa è la linea specifica nel mio .bashrc

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

Potresti anche dover commentare questo codice nel tuo ~ / .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"'
    
risposta data Ward Muylaert 20.01.2011 - 14:51
54

La risposta di Ward è ottima se vuoi impostare il tuo titolo in base a quale host sei ecc. ogni volta che apri un terminale. Se si desidera impostare rapidamente un titolo, è sufficiente eseguire eco da solo:

echo -ne "3]0;SOME TITLE HERE
#!/bin/bash

echo -ne "3]0;${1}
echo -ne "3]0;SOME TITLE HERE
#!/bin/bash

echo -ne "3]0;${1}%pre%7"
7"
7"
7"

o crea un semplice script bash, diciamo termtitle

%pre%

che puoi eseguire con termtitle "some title here"

    
risposta data naught101 29.05.2012 - 04:20
30

Se si utilizza l'editor Vim, è anche possibile abilitare questa opzione in vimrc:

:set title

che è disabilitato per impostazione predefinita. Imposterà fantastici titoli del terminale che mostrano il nome del file che stai modificando al momento e altre cose.

    
risposta data ulidtko 20.01.2011 - 15:40
23

Per completezza, vorrei aggiungere che puoi anche impostare il gnome-terminal titolo usando questo comando:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Devi installare il pacchetto wmctrl prima.

    
risposta data Isaiah 23.01.2011 - 01:57
16

Argh, tante risposte ...

Ho provato wmctrl, che quasi ha funzionato, tranne che non ho potuto farlo cambiare il titolo dell'icona, almeno non in modo permanente.

La soluzione è che PS1 in Ubuntu imposta il titolo.

Il PS1 predefinito è

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

... che imposta il titolo nella prima sequenza di escape.

Quindi, ci sono due soluzioni:

Soluzione 1: semplificare PS1, quindi utilizzare PROMPT_COMMAND

Cambia PS1 in qualcosa di più semplice:

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

... quindi utilizza 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"'

Soluzione 2: modifica diretta di PS1

Modifica semplicemente PS1 con nuovo titolo:

\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ 
    
risposta data Hugh Perkins 07.02.2013 - 04:36
11

Se sei un utente di Ubuntu, puoi cambiare il titolo di una scheda di gnome-terminal usando HUD .

Mentre sei nel terminale di gnome, premi Alt per visualizzare l'HUD, digita le prime lettere, ad es. "tit", premi invio e digita il tuo nuovo titolo.

Questo è un metodo molto rapido ed evita di usare il mouse.

    
risposta data Tom 18.06.2013 - 08:55
4

Un altro modo per cambiare il titolo di gnome-terminal è usando gconftool-2 ; questo cambia il titolo del terminale iniziale per il profilo selezionato, quindi potresti avere profili diversi associati a titoli come "Apache", "Modifica", ecc. Avresti quindi lanciato gnome-terminal con il profilo appropriato per ottenere il titolo del terminale che hai specificato. Questo è in contrasto con gnome-terminal --title "name" che cambia il titolo per terminale, ma non influenza il titolo iniziale specificato nel profilo.

È possibile utilizzare il seguente comando in uno script per impostare il nome del terminale per un profilo e si potrebbe avere il nome del cambio di terminale in determinati momenti della giornata per ricordarti cose:

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

Questo è per il profilo predefinito, ma puoi anche impostare il titolo per altri profili modificando, ad esempio, Default in un altro profilo come Profile0 :

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

Ho pensato che questo modo di cambiare il titolo sia utile per il modo in cui potrebbe essere usato negli script, o semplicemente come un modo rapido per impostare il titolo del profilo. Si noti che a volte è necessario riavviare il terminale con il profilo specificato per l'impostazione gconftool-2 affinché abbia effetto. Le impostazioni complete disponibili per gnome-terminal possono essere elencate con gconftool-2 -R /apps/gnome-terminal .

    
risposta data user76204 03.01.2013 - 02:09
3

Un'altra soluzione è usare xdotool per simulare i tasti, forse utile negli script:

  1. Imposta una scorciatoia da tastiera in gnome-terminal:

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

    Ad esempio, assing the Shift+Ctrl+Y .

  2. Installa xdotool se non lo hai già:

    sudo apt-get install xdotool
    
  3. La seguente sequenza di comandi (che puoi usare anche in uno script bash) imposterà il titolo del terminale / tab (sfuggi gli spazi con \ ):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [opzionale] Puoi anche usare xdotool per es. apri una nuova scheda e imposta il titolo con i comandi sopra, usando:

    xdotool key ctrl+shift+t
    

    Considera l'aggiunta di un tempo di sospensione prima e dopo l'apertura di una nuova scheda, ad es. sleep 1 (per attendere 1 secondo).

Questa non è la soluzione più elegante, ma ha funzionato per me! Le risposte precedenti non hanno funzionato nel mio caso. Io uso gnome-terminal in Ubuntu 14.04 e volevo creare uno script bash.

    
risposta data MakisH 12.11.2015 - 18:55
2

Per visualizzare solo la directory di lavoro corrente nel titolo, prova questo nel tuo '.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"'

o

%pre%     
risposta data Sriram 16.03.2014 - 06:47
1

Questo ha funzionato nel mio Gnome Terminal 3.18.3 .

Modifica il tuo file .bashrc e aggiungi questa funzione

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

Non dimenticare di source il tuo file .bashrc

$ termtitle "MariaDB CLI"

E poi puoi semplicemente aggiornare sarai in grado di cambiare il titolo del terminale in questo modo:

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

Se qualche povera anima come me è costretta a usare tcsh, prova qualcosa di simile nel tuo .cshrc:

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

Fonte e ulteriori dettagli: link

    
risposta data spookypeanut 02.05.2017 - 13:11
0

Se stai usando gnome 3, la comoda opzione di menu Terminal > Set Title è stata rimossa. Puoi installare un terminale forked di gnome 2 che ha ancora quell'opzione di menu "Set Title", ed eseguirlo invece:

sudo apt-get install mate-terminal

Invece di eseguire "Terminale", esegui "Terminale MATE". Probabilmente dovresti selezionare anche mate-terminal in sudo update-alternatives --config x-terminal-emulator .

    
risposta data 27.11.2018 - 07:28

Leggi altre domande sui tag