DebianでLXDE環境を使用していますが、私の質問は非常に一般的なようです。ウィンドウ(例:bashを実行している端末エミュレータ)を開くと、ウィンドウにtextを含むウィンドウのタイトルが表示されます/bin/bash
。端末で実行するとmc
タイトルがmc [martin@localhost]
。
開いているウィンドウを切り替えることができるウィンドウパネルのウィンドウ名にも同じテキストが表示されます。
私の問題は、ウィンドウ名が更新されず、mc [martin@localhost]
別のコンピュータにログインしても引き続き表示されることです。起動時にのみmc
タイトルが更新されます。
タイトルを自動的に更新する方法はありますか?
答え1
一部のプログラムはウィンドウのタイトルを設定しましたが、終了する前にリセットすることを忘れていました。
各新しいbashプロンプトの前にウィンドウのタイトルを設定するには、「~/.bashrc」に次の行を追加します。
Caseステートメントは、ESCapeコマンドを使用してウィンドウのタイトルを変更できることが知られている端末でのみこの問題を発生させます。そこに「screen *」を追加することをお勧めします...
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
;;
*)
;;
esac
この行は Debian-6.0.9 の "/etc/bash.bashrc" にあり、もともとコメントアウトされました。システムの「/etc/bash.bashrc」を見ると、同様の行が見つかります。
デフォルトの「~/.bashrc」には同様の行を含めることができます。このシステム全体を有効にしたくない場合は、この行のコメントを削除または追加して有効にします。
すでに使用している場合は、既存の定義の後にPROMPT_COMMAND
caseステートメントを配置し、次のようにステートメント内に割り当てを作成します。PROMPT_COMMAND
case
PROMPT_COMMAND="$PROMPT_COMMAND;"'echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'