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

5.1 动态设置标题无法使用

问题  

错误 ID 4855527,终端.

在编辑配置文件窗口的标题和命令选项卡中,动态设置标题下拉菜单的菜单选项无法使用。 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 操作环境设置这些变量。 因此,在 Solaris 操作环境中,动态设置标题和 shell 提示无法使用。

解决方案  

要解决此问题,您可以通过对各种 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

对 ESC 和 BEL,提示字符串中的 '^[' 和 '^G' 字符是单字符。 您可以用 Ctrl+v+ESC 和 Ctrl+v+g 组合键来输入这些字符。