Come cambiare il titolo del terminale Terminator, ZSH su Debian?


14

Non so se dovrei chiedere qui o su unix.stackexchange.com, ho trovato questa domanda qui .

La mia domanda è simile, voglio cambiare il titolo di un terminale, sto usando una distribuzione basata su Debian, Terminator e ZSH, oh-my-zsh il titolo andava bene con bash, ma quando mi sono trasferito su ZSH, mostra /bin/zshcome titolo.


@ DaniëlW.Crompton davvero? è un dupe? in tal caso lo chiuderò subito, mi sono collegato a quella domanda, quindi so che è lì, ma non sapevo che fosse un dupe perché sto usando un sistema operativo e un emulatore diversi
Lynob

Hai provato cosa ti è stato consigliato nella domanda a cui ti sei collegato?
Daniël W. Crompton,

2
@ DaniëlW.Crompton sì, echo -ne "\e]1;this is the title\ae echo -ne "\e]1;$PWD\a"non dare errori ma non funziona, ho provato a deselezionare tutto a meno che non mi manchi qualcosa
Lynob

1
Hai provato echo -ne "\ e] 0; $ PWD \ a" con 0 anziché 1?
Daniël W. Crompton,

Risposte:


13

Impostate il titolo della finestra con le sequenze di escape xtem, nella maggior parte delle implementazioni la prima funzionerà meglio:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

EDIT: quanto sopra imposta il titolo solo una volta. Per impostare zsh in modo da visualizzare sempre la puntura nel titolo, aggiungere quanto segue alla propria .zprofiledirectory home:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac

2
ho detto prima echo -ne "\e]0;$PWD\a"opere, ma quando esco guscio, smette di funzionare ... Ho provato digitato nella risposta e ottengo zsh: command not found: stringaed zsh: command not found: e]1e così via, tutti loro
Lynob

1
Aggiornata la risposta
Daniël W. Crompton,

Per sostituire home directory all'interno di $ PWD con ~ho usato precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Z shell)
Maksym Ganenko

13

Quanto segue ha funzionato per me per rinominare ogni scheda in gnome-terminal. Ho aggiunto il seguente codice al mio file ~ / .zshrc .

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

Questo crea una funzione titolo per rinominare ogni scheda.

Nota, se stai usando oh-my-zsh dovrai disabilitare il suo comando di titolo automatico. Puoi farlo decommentando questa riga nel tuo file ~ / .zshrc :

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE = "true" ha fatto il trucco per me. Grazie.
Rakesh Gopal,

4

Questo dovrebbe funzionare indipendentemente dalla shell utilizzata:

printf "\033];%s\07\n" "hello world"

2

Le risposte precedenti non hanno funzionato abbastanza per me. Non senza alcuni singhiozzi (non sempre rinfrescati o qualcosa del genere). Potrebbe essere dovuto al fatto che avevo ZSH, senza oh-my-zsh. Per fortuna ho imparato chpwd, quindi:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd viene chiamato ogni volta che si cambia directory.
  2. la prima volta che avvii xterm (o altri) questo non conta come cambio di directory, quindi metti direttamente la chiamata chpwd .zshrc

Dato che non uso oh-my-zsh , non so se funziona lì, ma a meno che non siano stati modificati e sovrascritti chpwd(nel qual caso sovrascriverai la loro sovrascrittura: D), dovrebbe.


-1

Bene, puoi creare uno script che fa apparire una finestra e imposta il nome come desiderato. Esegui lo script per visualizzare la finestra con il tuo nome. È inoltre possibile impostare la posizione X, Y e le dimensioni della finestra. Puoi crearne diversi e avere finestre con nome per ogni occasione.


//, hai qualcosa di un po 'più specifico?
Nathan Basanese,

Sono passati più di 12 anni da quando ho scritto quelle sceneggiature. Non voglio dare cattive informazioni ma penso che tutto ciò sia stato fatto usando le opzioni di xterm. Controllare la pagina MAN per xterm per ulteriori informazioni. Potrei avere gli script da qualche parte, ma Harvey ha lasciato tutti i miei vecchi dischi in una pila in cui sono stati scaricati per farli fuori dai pericoli. Al termine delle riparazioni potrei essere in grado di aggiornarlo.
cliff2310
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.