web-dev-qa-db-fra.com

Changer le titre de terminal gnome pour refléter le répertoire actuel?

Je souhaite modifier le titre de la fenêtre GNOME-Terminal pour refléter le répertoire actuel. Y-a-t-il un moyen de faire ça? Un script peut être? Les threads "Modifier le titre de terminal" n'ont pas beaucoup aidé. Manuellement lorsque nous utilisons la commande:

gnome-terminal --title=$PWD 

cela fonctionne, mais une nouvelle instance de terminal est créée (comme prévu). Je veux pouvoir utiliser le

--title=$PWD 

avec la commande CD.

Y a-t-il un moyen de réaliser cela?

29
okkhoy

puisque gnome-terminal utilise les mêmes commandes de contrôle que Xterm, cette page pourrait être utile.

Titre de la xterm pour Bash et autres coquilles

TL; DR:

ajoutez-y après votre .bstructrc.

Prompt_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

46
dwalter

Prompt_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"' ne affichera que le répertoire actuel comme titre

11
user2909452

Je le fais comme ceci pour remplacer la commande cd et définir pwd dans le titre:

function title { echo -en "\033]2;$1\007"; }
function cd { dir=$1; if [ -z "$dir" ]; then dir=~; fi; builtin cd "$dir" && title `pwd`; }
cd `pwd`

Je viens de le jeter dans mon ~/.bash_aliases. Vous pourriez probablement modifier cela pour faire ce que vous voulez.

3
Stoutie

Je ne suis pas un expert, mais vous devriez essayer de modifier votre fichier ~/.bashrc. Si j'ai bien compris votre problème, vous pouvez modifier votre fichier .CASHRC en fonction de mon (j'utilise Ubuntu 12.04). La "vieille" ligne est commentée et le nouveau est en dessous (avec un commentaire supplémentaire).

case "$TERM" in
xterm*|rxvt*)
  # OLD PS1 directive
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
  # NEW PS1 directive, shows only current directory name as terminal window name
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\W\a\]$PS1"
    ;;
*)
    ;;
esac

Le résultat est que mon titre de terminal est égal à mon titre de répertoire actuel, par exemple. après cd Documents/projects mon titre de terminal est projects (si le fichier est ouvert, le nom du terminal est son nom)

1
jmarceli