適用於 Solaris 作業環境之 GNOME 2.0 桌面的疑難排解指南

5.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

(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 來輸入這些字元。