適用於 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`

指令 /etc/bashrc 可在 Linux 下設定必要的環境變數,但是卻無法在 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,輸入這些字元。