web-dev-qa-db-ja.com

Ubuntu 11.04でxtitleがタイトルを変更しない

Gnome Terminal 2.32.1ウィンドウのタイトルをすばやく変更する方法を見つけようとしています。かなり開いているため、それぞれで異なるファイルを編集しており、1つのコンパイラを使用して、他のログファイルをテーリングし、など。したがって、彼らがすべてpax@pax-desktop:~と言ったときに、私が望むウィンドウを探すのは苦痛です。

この質問 を試してxtitleを試してみましたが、何らかの理由で実際にタイトルを変更していません。

xtitle xyzzyを実行すると、目に見えるフィードバックは発生しませんが、odを介してパイピングすると、エスケープシーケンスの出力が確認されます(これはassumingが正しいですが詳細は確認していません):

pax@pax-desktop:~/porn_dir$ xtitle xyzzy | od -xcb
0000000    5d1b    3b32    7978    7a7a    0779    5d1b    3b31    7978
        033   ]   2   ;   x   y   z   z   y  \a 033   ]   1   ;   x   y
        033 135 062 073 170 171 172 172 171 007 033 135 061 073 170 171
0000020    7a7a    0779
          z   z   y  \a
        172 172 171 007
0000024

メニューTerminal | Set Titleに移動し、そこから変更してもかまいませんが、コマンドラインソリューションのほうが自動的に実行できるため(エディターを実行する前にタイトルをvi filenameに設定するviエイリアスを作成するなど)終了時にリセットします)。

プロファイル設定では、初期タイトルはTerminalに設定され、When terminal commands set their own titlesReplace initial titleに設定されます。また、私が使用しているプロファイルはDefaultのみです。

6
user9184

xtitleは正常に機能し、タイトルを変更していることがわかります。ただし、次のようにデフォルトの.bashrcにセクションがあります。

# If this is an xterm set the title to user@Host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

ユーザーに入力を求めるたびにタイトルを通常の値に戻すようにプロンプ​​トを設定します。

上記のPS1=...行をコメントアウトすると、タイトルは選択したものに設定されたままになります。

これには、すべての端末の現在のuser@Hostステータスを更新しないという副作用があります。 xtitleを実行する前に、現在のシェルに対してのみこれを選択的に有効にするには:

export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

(スクリプトからの呼び出し/ソースではなく、ターミナルでこれをソースする必要があることに注意してください!)

5
user9184

Gnomeターミナルを使用している場合は、Edit-> Profile Preferences-> Title and CommandWhen terminal commands set their own titlesオプションがReplace initial title(デフォルト)。

0
Nathan Kidd