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

第 6章 使用特定應用程式時會發生的問題

這個章節將提供使用特定應用程式會發生的問題,以及如何規避的方法。

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

6.2 ScrollKeeper 的選項沒有完整的說明文件

問題  

ScrollKeeper

scrollkeeper-rebuilddb 的線上援助頁中,沒有 -o-p 選項的完整說明。

解決方案  

您並不需要使用 -o-p 選項,進行 ScrollKeeper 資料庫的標準設定。只有下列情況才會需要這些選項:

  • ScrollKeeper 的資料庫必須安裝在非預設的位置上。 例如,建立無磁碟機的用戶端。

    請使用 -p 路徑 選項,指定 ScrollKeeper 所在的位置,其中的路徑 必須是一個空的目錄。如果你在這個選項指定了一個不是空的目錄,指令 scrollkeeper-rebuilddb 會無法順利進行。

  • 必須從非預設的位置讀取 OMF 檔案。OMF 檔案的預設位置,是由 /etc/scrollkeeper.conf 檔案所指定。

    請使用 -o 路徑選項,指定 OMF 檔案的位置。請指定一個完整的路徑名稱,例如 /usr/share/omf。如果只指定了部分的路徑名稱,例如 /usr/share,指令 scrollkeeper-rebuilddb 會花費很長的時間來處理,產生許多警告訊息,甚至可能當機。

以下的範例將為您說明,如何使用-o -p 選項,為無磁碟的客戶端建立 ScrollKeeper 資料庫:


# scrollkeeper-rebuilddb \
-p /export/root/clone/Solaris_9/\
sun4u/var/gnome/lib/scrollkeeper \
-o /export/exec/Solaris_9_sparc.all/\
usr/share/omf