すべての長いディレクトリパスが端末のスペースを使いたくないので、pythonスクリプトを使用してそれらを切り捨てます。 .bashrcファイルを編集し、PS1を
export Prompt_COMMAND='PS1="$(python /home/vinay/bash_promt.py)"'.
そして、その端末のタイトルが機能しなくなった。単にTerminal
を表示しますが、これはいらいらしています。 bashで次のコマンドを実行して、タイトルを手動で変更できます。
Prompt_COMMAND='echo -ne "\033]0;CUSTOM TITLE\007"'
私のbashで設定されているカスタムプロンプトに端末のタイトルを設定する方法はありますか?.
Gnome-terminalの場合、端末のタイトルはPrompt_COMMAND
で定義されている/etc/profile.d/vte-2.91.sh
を介して設定されます。
このスクリプトで定義されているPrompt_COMMAND
は、次の2つのことを行います。
oSC 0エスケープシーケンス(\033]0;NEW_TITLE\007
)を使用して端末タイトルを変更します。
oSC 7エスケープシーケンス(\033]7;NEW_CURRENT_DIRECTORY\007
、これは__vte_osc7
関数に分解されます)を使用して、現在のディレクトリの端末の概念を変更します。
Prompt_COMMAND
から2番目のものを削除すると、新しく開いたターミナルウィンドウまたはタブは、以前のターミナルで立っていたディレクトリで開かなくなります。ほとんどの場合、これは必要ありません。
そのため、シェルの起動スクリプトでは、vte-2.91.sh
を取得した後、Prompt_COMMAND
と同様の方法でタイトルを設定し、現在の作業ディレクトリを正確に設定するvte-2.91.sh
を作成する必要がありますデフォルトで行われます。
PS1
またはその他の場所(色の変更などのエスケープシーケンスをフィルターで除外することはできません)内でPrompt_COMMAND
の解決された値を参照する方法を認識していません)。プロンプトとウィンドウタイトルに同じ文字列を表示したい場合、PS1
とPrompt_COMMAND
の文字列の構成を複製する必要があると思います。
これはあなたのために働くでしょう
~/.bashrc
を開きます。次の行を見つけます。
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
この行をコメントアウトします。その前に#
文字を追加します。
# PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
次に、この行を追加します(コメント化された行の直後に配置することもできます)。
Prompt_COMMAND='echo -ne "\033]0;Custom Name\007"'
Custom Name
を、ターミナルのタイトルを変更したいものに置き換えます。
お役に立てれば。
使用するエスケープシーケンスはESC] 2; new titleBELwhereESCとBELはエスケープ文字とベル文字です。 \[\e]2;NEWTITLE\a\]
が好きです。 #Bashエスケープシーケンスを使用して、プロンプトのタイトルを変更すると次のようになります。
export PS1='\[\e]2;new title\a\]Prompt > '
doc ref
したがって、カスタムの端末タイトルもあるマルチカラーの切り捨てられたbashプロンプトの例は次のとおりです。
export PS1='\[\e]2;$PWD\a\]\e[93m$USER\e[97m@\e[90m$HOSTNAME \e[93m$ \e[0m'
この例では、端末のタイトルは常に現在の作業ディレクトリ($PWD
)を反映し、端末のプロンプトは、現在のディレクトリに関係なく常に次のようになります:user@hostname $
。
$PWD
をCUSTOM TITLE
に置き換えると、端末タイトルに常にCUSTOM TITLE
を反映させることができます。
Update\[
および\]
で非印刷文字をラップしないように注意してください。それなしで動作し、私は何年も彼らなしでそれをやってきた。しかし、いくつかのセットアップで今日わかったように、ターミナルでは いくつかの問題を引き起こす可能性があります です。以下は、変数を使用してカラーコードをラッピングするよりクリーンなバージョンです。
T_YELLOW='\[\e[93m\]'
T_WHITE='\[\e[97m\]'
T_GRAY='\[\e[90m\]'
T_DEFAULT='\[\e[0m\]'
T_TITLE='\[\e]2;$PWD\a\]'
export PS1="${T_TITLE}${T_YELLOW}$USER${T_WHITE}@${T_GRAY}$HOSTNAME${T_YELLOW} $ ${T_DEFAULT}"