SSHセッション後のターミナルタブのタイトル


11

Mac OS X(10.6.8を使用していますが、他のバージョンも同じだと思います)でリモートマシンにsshすると、ターミナルの現在のタブのタイトルが変更されます。不愉快なことに、リモートマシンから切断すると、明示的に、exitまたはタイムアウトを介して、タブのタイトルが元の状態に戻りません。

ほぼ毎日、これが原因で心臓発作を起こし、何らかのコマンドを実行しているときに、タブの名前がまだuser @ remotehostであることを目の隅から見るだけです。私は常にpwd何かをする前に自分の位置を確認するなどの傾向がある慎重なユーザーですが、それでも私が実行しているときにパニックの瞬間に私を捕まえDROP DATABASE x、リモートホスト名をタブに表示します。

一言で言えば、リモートホストから切断するときにこのタイトルを元に戻す方法はありますか?または、切断するたびに新しいタブを開いてタイトルをリセットする必要がありますか?


端末名も終了時にリセットされるnpm
Awesome_girl '23

回答:


20

追加PROMPT_COMMANDあなたへ .bash_profile

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

PROMPT_COMMANDプロンプトですが表示されるたびに実行されます。

既存のPROMPT_COMMAND環境変数が含まれているため、既存の設定(つまりupdate_terminal_cwd)が失われないことに注意してください。


2
コードを置き換えるのではなく、必ずPROMPT_COMMAND に追加してくださいPROMPT_COMMAND="<your code>; $PROMPT_COMMAND"。それ以外の場合は、この変数を使用する他の機能を無効にします。たとえば、/ etc / bashrcはこれを使用して端末の現在の作業ディレクトリを設定し、ターミナルで表示してさまざまな操作に使用できるようにします。
クリスページ

@ChrisPage $PROMPT_COMMAND他の機能を維持するには、新しいコードを前に置く必要がありますか?
reve_etrange 2015年

PS1に直接入れてみませんか?
Yongwei Wu

これはどのように編集し.bash_profileますか?sublime $HOME/.bash_profile
Awesome_girl 2016年

@Awesome_girl sublコマンドがインストールされていることを確認し、端末からを使用してファイルを編集しますsubl ~/.bash_profile。このコマンドが存在しない場合は、以下に従ってください:sublimetext.com/docs/2/osx_command_line.html
XtraSimplicity

1

.bash_profileファイルに貼り付ける必要があるのは次のとおりです。これははるかにすっきりしており、現在の作業ディレクトリを更新するときにAppleが行うアプローチを採用しています。変数のチェックupdate_term_titleはすでに存在します(誰もを呼び出さないため)必要はありませんbash -- loginが、ガードとして存在するだけです。

if [ -z "$INSIDE_EMACS" ]; then
    # Update the terminal title on every prompt shown
    update_term_title() {
        # Print user@short-hostname once SSH quits.
        echo -ne "\033]0;${USER}@${HOSTNAME%%.*}\007"
        # Or ${HOSTNAME} if short host names aren't your taste
        # Or echo -ne "\033]0;\007" if you don't want anything.
    }
    # Check to see if update terminal title is present?
    if ! echo $PROMPT_COMMAND | grep -q update_term_title
    then
       # This function is not found in PROMPT_COMMAND, add it
       PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }update_term_title"
    fi
fi

1
笑、誰がこの答えを書いたのだろうと思った...それは私だったことが判明:-)
zapstar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.