web-dev-qa-db-ja.com

現在のディレクトリを反映するようにgnome-terminalのタイトルを変更しますか?

Gnome-terminalウィンドウのタイトルを変更して、現在のディレクトリを反映させます。それを行う方法はありますか?台本は? 「ターミナルタイトルの変更」スレッドはあまり役に立ちませんでした。コマンドを使用する場合は手動で:

gnome-terminal --title=$PWD 

動作しますが、新しいターミナルインスタンスが作成されます(期待どおり)。使えるようになりたい

--title=$PWD 

cdコマンドで。

それを達成する方法はありますか?

29
okkhoy

gnome-terminalはxtermと同じ制御コマンドを使用するため、このページが役立つ場合があります。

bashおよびその他のシェルのXtermタイトル

TL; DR:

あなたの.bashrcに以下を追加してください

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

46
dwalter

Prompt_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'は、現在のディレクトリのみをタイトルとして表示します

11
user2909452

cdコマンドをオーバーライドしてpwdをタイトルに設定するには、次のようにします。

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`

これを~/.bash_aliases。おそらく、これを調整して必要なことを行うことができます。

3
Stoutie

私は専門家ではありませんが、〜/ .bashrcファイルを編集してみてください。私があなたの問題を正しく理解していれば、私(Ubuntu 12.04を使用しています)に従って.bashrcを変更できます。 「古い」行はコメント化されており、新しい行はその下にあります(追加のコメント付き)。

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

その結果、端末のタイトルは現在のディレクトリのタイトルと同じになります。 cd Documents/projectsの後、端末のタイトルはprojectsです(ファイルが開いている場合、端末名はその名前です)

1
jmarceli