2012-05-09 12 views
20

gnome-terminalウィンドウのタイトルを変更してカレントディレクトリを反映させたい。 これを行う方法はありますか?スクリプトがありますか? "change terminal title"スレッドはあまり役に立たなかった。 は手動で私たちがコマンドを使用する場合:現在のディレクトリを反映するようにgnome-terminalのタイトルを変更しますか?

gnome-terminal --title=$PWD 

をそれが動作しますが、(予想通り)新しいターミナルインスタンスが作成されます。 私はcdコマンドで

--title=$PWD 

を使用できるようにしたいです。

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

答えて

38

gnome-terminalがxtermと同じ制御コマンドを使用するので、このページは参考になるかもしれません。

Xterm Title for bash and other shells

TL; DR:

アドオンは、あなたの.bashrcに次の

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

+3

はストリップ$ {HOSTNAME} @ '$ {USER}:'あなただけPWD – dwalter

+0

Upvotedをしたいが、どのように示すことができた場合全体のパス? – Mawg

3

私は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に投げただけです。あなたはおそらくあなたが望むことをするためにこれを微調整することができます。

+1

これは私のMacOS 10.10上でiTermを使って、私の '.profile'に上記の関数を追加した後に完全に動作します。また、 'pushd'と' popd'を次のように追加することをお勧めします: 'function pushd {dir = $ 1; if [-z "$ dir"];次にdir =〜; fi;組み込みpushd "$ dir" && title \ 'pwd \'; } '' function popd {'popd&built \' pwd \ '; } ' –

7

PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'は、私は専門家ではないが、あなたはあなたの〜/ .bashrcファイルを編集してみてくださいタイトル

+1

素晴らしい!親ディレクトリとカレントを表示する方法はありますか? –

+0

@MariusAndreiana醜いと優雅ではありませんが、 'echo -ne" \ 033] 0; $(ベース名$(ディレクトリ名$ {PWD}))/ $(ベース名$ {PWD})\ 007 "' – vityav

1

としてのみ、現在のディレクトリを表示します。あなたの問題を正しく理解していれば、私の(私はUbuntu 12.04を使っています)に従って.bashrcを変更することができます。 「古い」行はコメントアウトされ、新しい行はコメントの下にあります(追加のコメント付き)。

case "$TERM" in 
xterm*|rxvt*) 
    # OLD PS1 directive 
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\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ある後 (ファイルが開いている場合、端末名は、その名前である)

関連する問題