Debianでターミネーターのタイトル、ターミナルのタイトル、ZSHを変更するにはどうすればよいですか?


14

ここで質問するか、unix.stackexchange.comで質問するかはわかりません。この質問はこちらで見つかりまし

私の質問も同様です。ターミナルのタイトルを変更したいのですが、Debianベースのディストリビューション、Terminator、ZSHを使用しています。oh-my-zshタイトルはbashで問題ありませんでしたが、ZSHに移動すると、次のように表示さ/bin/zshれます題名。


@DaniëlW.Crompton本当に?だまされた?もしそうなら今すぐ閉じる、その質問にリンクしたので、そこにあることはわかっているが、別のOSとエミュレーターを使用しているため、それが
だまされている

あなたがリンクした質問でアドバイスされたことを試しましたか?
ダニエルW.クロンプトン2013

2
@DaniëlW.Cromptonはい、echo -ne "\e]1;this is the title\aそしてecho -ne "\e]1;$PWD\a"エラーを出さないが機能しない、私は何かが欠けていない限りすべての
チェックを外し

1
echo -ne "\ e] 0; $ PWD \ a"を1ではなく0で試しましたか?
ダニエルW.クロンプトン2013

回答:


13

xtemエスケープシーケンスを使用してウィンドウタイトルを設定します。ほとんどの実装では、最初のものが最もよく機能します。

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

編集: 上記はタイトルを一度だけ設定します。タイトルに常に文字列を表示するようにzshを設定するに.zprofileは、ホームディレクトリに以下を追加します。

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac

2
私は以前に述べたecho -ne "\e]0;$PWD\a"作品が、私はシェルを終了すると、それが動作を停止...私はあなたが答えで入力しようとしたと私は取得zsh: command not found: stringaし、zsh: command not found: e]1それらのすべて、ようにして
Lynob

1
回答を更新
ダニエルW.クロンプトン

$ PWD内のホームディレクトリを~私が使用したprecmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Zシェル)に
置き換えるには

13

以下はgnome-terminalの各タブの名前を変更するのに役立ちました。次のコードを〜/ .zshrcファイルに追加しました。

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

これにより、各タブの名前を変更するタイトル関数が作成されます。

なお、oh-my-zshを使用している場合は、自動タイトルコマンドを無効にする必要があります。〜/ .zshrcファイルのこの行のコメントを外すことでそれを行うことができます:

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE = "true"が私にとってはトリックでした。ありがとうございました。
Rakesh Gopal 2016

4

これは、使用するシェルに関係なく機能するはずです。

printf "\033];%s\07\n" "hello world"

2

以前の答えは私にとってはうまくいきませんでした。しゃっくりがないわけではありません(常に更新されるわけではありません)。それは私がZSHを使用していなかったためかもしれませんoh-my-zsh。幸い、私はを知ったchpwdので、

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd ディレクトリが変更されるたびに呼び出されます。
  2. xterm(またはその他)を初めて起動したとき、これはディレクトリの変更としてはカウントされないため、chpwd呼び出しを直接 .zshrc

私はoh-my-zshを使用していないので、そこで機能するかどうかはわかりませんが、それらが変更されて上書きされない限りchpwd(その場合、上書き:Dを上書きします)、そうする必要があります。


-1

さて、ウィンドウを表示して名前を希望どおりに設定するスクリプトを作成できます。スクリプトを実行して、自分の名前のウィンドウを表示します。ウィンドウのX、Y位置とサイズを設定することもできます。複数のウィンドウを作成して、あらゆる機会に名前を付けることができます。


//、もう少し具体的なものはありますか?
Nathan Basanese

私がそれらのスクリプトを書いてから12年以上になります。悪い情報は伝えたくありませんが、xtermのオプションを使用してすべてが行われたと思います。詳細については、xtermのMANページを確認してください。私はどこかにスクリプトを持っているかもしれませんが、ハーベイは私の古いディスクをすべて害のないように捨てるために捨てられた山に残しました。修理が完了したら、これを更新できるかもしれません。
cliff2310 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.