bash で Konsole のタイトルを変更するにはどうすればいいですか?

bash で Konsole のタイトルを変更するにはどうすればいいですか?

次のように、ループを実行するたびに Konsole のタイトルを変更したいと思います。

while read line; do
  echo $line $i/$numline
  echo -ne "\033]0;$line $i/$numline\007"
  commands
  let i=i+1
done<text

echo -ne "\033]0;text\007"コマンドが機能しないことがわかりました。

答え1

まず、次の設定に移動する必要がありますkonsole:

設定 -> 現在のプロファイルを設定 -> タブ -> タブタイトルの形式 = %w

デフォルトでは、コンソールは要求されたものを無視し、設定されたとおりに独自の処理を行います。tells%wはシェルが望むものに置き換えられます。他のコードもありますが、挿入ボタンを使用すると、すべてのコードが認識されます。


ターミナル エミュレーターが実行していた処理をシェルに引き継がせる方法についての簡単なメモ。

これは~/.bashrcタイトルを更新するものです。 bash 変数についてさらに調査するPS1か、変数を確認する必要があるかもしれませんPROMPT_COMMAND

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

関連情報