端末タイトルの変更

端末タイトルの変更

alias特定のプログラムを起動し、端末のタイトルをプログラム名に変更するシェルを作成したいと思います。どうすればいいですか?

私はUbuntuで端末を実行し、SSHを介してDebianサーバーに接続しています。

答え1

trapBashは、myの最後の行に次のコマンドを使用して、すべての.bashrc コマンドをタイトルバーに表示します。

# trap commands and echo them to xterm titlebar. Must be last line.
trap 'echo -ne "\033]0;$BASH_COMMAND $USER@${HOSTNAME}>$(pwd)\007"' DEBUG

したがって、実行すると、コマンドの実行中にsleep 10タイトルバーがに変わり、その後は元に戻ります。sleep 10user@host>pwd

答え2

ほとんどの端末は、特定のエスケープシーケンスをヘッダ変更の試みとして認識するので、次のように動作します。

$ alias foo-with-title='echo -ne "\033]0;foo\007"; foo'

答え3

場合によっては、端末の上部に大きなUIがあり、別のウィンドウに入ったり出たりしたいので、ウィンドウが開いたときにウィンドウにタイトルを設定するようなものが必要です。.bashrcエイリアスは途中でパラメータを受け入れないため、ファイルに関数を定義しました(私が正しく理解した場合)。

# Set the title for a terminal window:
# - first parameter is the title text
title() {
  echo -ne "\033]0;$1\007"
}

title foo次に、コマンドラインから実行するか、別のコマンドで呼び出すことができるを使用して実行します。これはXfce端末を使用するDebianで動作します。

関連情報