用于 Solaris 操作环境的 GNOME 2.0 桌面疑难解答指南

6.1 动态设置标题不起作用

问题 

缺陷 ID 4855527,终端

在编辑配置文件窗口的标题和命令选项卡中,下拉式菜单动态设置标题中的菜单选项不起作用。终端使用以下 Bash Shell 环境变量设置动态设置标题和 Shell 提示符:

PROMPT_COMMAND=$'echo -ne "\\033]0;${USER}@${HOSTNAME}: ${PWD}\\007"' PS1=$'[\\u@\\h \\W]\\$ ' USER=`id -un`

在 Linux /etc/bashrc 上设置了必需的环境变量,但没有为 Solaris 操作环境设置这些变量。因此,动态设置标题和 Shell 提示符在 Solaris 操作环境中不起作用。

解决方法 

一种解决方法是,可通过执行用于各种 Shell 的脚本来设置必需的环境变量。 

Bash Shell: 

bashrc 中设置以下环境变量:

case $TERM in
         xterm*)
             PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
             ;;
         *)
             PS1="bash\\$ "
             ;;
     esac

(或)

USER=`/usr/xpg4/bin/id -un`
export USER

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

ksh shell: 

~.profile 文件中添加以下环境变量:

mycd () {
cd "${@}"; echo "\033]0;${USER}@${HOSTNAME}: ${PWD}\007\c"
}
alias cd=mycd

csh shell: 

cshrc 中设置以下环境变量:

switch ($TERM)
         case "xterm*":
             set host=`hostname`
             alias cd 'cd \!*; echo -n "^[]0;${user}@${host}:
${cwd}^Gcsh% "'
             breaksw
         default:
             set prompt='csh% '
             breaksw
     endsw

提示符字符串中的字符“^[”和“^G”分别是代表 ESC 和 BEL 的单个字符。可以通过按 Ctrl+v+ESC 组合键和 Ctrl+v+g 组合键分别键入这两个字符。