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

5.1 动态设置的标题不起作用

问题 

缺陷 ID 4855527,Terminal

在编辑配置文件窗口中的标题和命令 选项卡上,下拉菜单动态设置的标题的菜单选项不起作用。Terminal 使用下面的 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

(or)

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 输入这些字符。