Solaris 一般桌上管理系統環境:進階使用者和系統管理員指南

當階段作業啟動時

當階段作業管理者啟動時,要經過下列步驟以啟動使用者的階段作業:

  1. 搜尋 HomeDirectory/.dtprofile 程序檔

  2. 找出 Xsession.d 程序檔的來源

  3. 顯示歡迎訊息

  4. 設定桌上管理系統搜尋路徑

  5. 收集可供使用的應用程式

  6. 選擇性地尋源 HomeDirectory /.profileHomeDirectory/.login

  7. 啟動 ToolTalk(R) 傳訊常駐程式

  8. 載入階段作業資源

  9. 啟動色彩伺服器

  10. 啟動工作區管理者

  11. 啟動階段作業應用程式

    下列各段描述以上所列出的步驟。

找出 .dtprofile 程序檔的來源

在階段作業啟動時,Xsession 程序檔會搜尋使用者的 HomeDirectory /.dtprofile 程序檔。 此 HomeDirectory /.dtprofile 程序檔是讓使用者能夠設定其階段作業環境變數的 /bin/sh/bin/ksh 程序檔。 有關設定環境變數更多的資訊,請參閱 "其它的階段作業啟動自訂 "

如果 HomeDirectory/.dtprofile 程序檔不存在,例如當使用者正第一次登入桌上管理系統時,Xsession 將會複製桌上管理系統預設 sys.dtprofile HomeDirectory/.dtprofile

桌上管理系統預設為 /usr/dt/config/sys.dtprofile。 如果要自訂 sys.dtprofile 程序檔,請從 /usr/dt/configsys.dtprofile 複製到 /etc/dt/config 並編輯新檔案。

找出 Xsession.d 程序檔的來源

在搜尋 HomeDirectory/.dtprofile 程序檔之後,Xsession 程序檔會搜尋 Xsession.d 程序檔。 這些程序檔是用於設定其它的環境變數並啟動使用者的階段作業選擇性常駐程式。 預設的 Xsession.d 程序檔為:

0010.dtpaths-文件可自訂的桌上管理系統搜尋路徑

0020.dtims-啟動選擇性的輸入方法伺服器

0030.dttmpdir-建立每個使用者、每個階段作業的暫存目錄

0040.xmbind-設定 $XMBINDDIR 為桌上管理系統預設

Xsession.d 中可能有其它廠商特定的程序檔。

Xsession 會先搜尋 /etc/dt/config/Xsession.d目錄中的所有檔案,接著才搜尋 /usr/dt/config/Xsession.d 目錄中的檔案。

桌上管理系統預設 Xsession.d 程序檔是位於 /usr/dt/config/Xsession.d 目錄中。如果要自訂 Xsession.d 程序檔,請從 /usr/dt/config/Xsession.d 將程序檔複製到 /etc/dt/config/Xsession.d 並編輯新檔案。 您必須有執行許可權才能執行此工作。

同時,如果要使 Xsession 自動搜尋您自己的程序檔,請將其複製到 /etc/dt/config/Xsession.d


註解 -

當您修改或建立 Xsession.d 程序檔時,請確定您發出的任何前景指令持續時間是短期的,因為指令所花費的時間將會直接影響階段作業啟動時間。如果前景指令未結束,階段作業啟動將會停頓。您想要繼續執行階段作業持續時間的 Xsession.d 程序檔中執行的指令應在背景中執行。


顯示歡迎訊息

在搜尋 HomeDirectory/.dtprofileXsession.d 程序檔之後,Xsession 顯示蓋住螢幕的歡迎訊息。 您可以自訂顯示的歡迎訊息,或完全關閉此訊息。 dthello 用戶端是用於顯示此訊息的。

如果要改變訊息文字,請藉由修改 dtstart_hello[0] 變數來變更 dthello 選項。

如果要變更 dtstart_hello[0],請建立設定新值的 /etc/dt/config/Xsession.d 程序檔。如果要為所有使用者顯示這一天的訊息,請建立可執行的 shksh 程序檔,例如,/etc/dt/config/Xsession.d/myvars,並設定如下的 tstart_hello[0]

 dtstart_hello[0]="/usr/dt/bin/dthello -file /etc/motd&"

同樣地,使用者可以藉由在 HomeDirectory/.dtprofile 中設定 dtstart_hello[0] 來變更他們的階段作業的歡迎訊息。

如果要關閉歡迎訊息,請設定 dtstart_hello[0]=" "。

有關 dthello 更多的資訊,請參閱 dthello 線上援助頁。

設定桌上管理系統搜尋路徑

桌上管理系統搜尋路徑是在登入時由 dtsearchpath 所建立的。有兩大類由 dtsearchpath 所使用的環境變數:

輸入變數-數值是由系統管理或一般使用者所設定的整個系統的變數以及個人環境變數。

輸出變數-由 dtsearchpath 建立與指派值的變數。每個變數的值都是桌上管理系統階段作業的搜尋路徑。

如果要改變 dtsearchpath 的指令行選項,請修改 dtstart_searchpath 變數。如果要變更所有使用者的 dtstart_searchpath 變數,請建立可執行的 shksh 程序檔(例如 /etc/dt/config/Xsession.d/myvars),並設定 dtstart_searchpath 如下:

 dtstart_searchpath="/usr/dt/bin/dtsearchpath"

使用者同樣地可以僅為他們自己的階段作業變更 dtsearchpath,方法是在 HomeDirectory/.dtprofile 中設定 dtstart_searchpath

有關 dtsearchpath 的更多資訊,請參閱 第 9章, 桌上管理系統搜尋路徑。有關 dtsearchpath 選項的更多資訊,請參閱 dtsearchpath 線上援助頁。

收集可供使用的應用程式

設定桌上管理系統搜尋路徑之後的下一步就是使用 dtappgather 收集可供使用的應用程式。 如果要改變 dtappgather 的指令行選項,請修改 dtstart_appgather 變數。 如果要變更所有使用者的 dtstart_appgather 變數,請建立可執行的 shksh 程序檔(例如 /etc/dt/config/Xsession.d/myvars),並設定 dtstart_appgather 如下:

 dtstart_appgather="/usr/dt/bin/dtappgather &"

使用者同樣地可以僅為他們自己的階段作業變更 dtappgather,方法是在 HomeDirectory/.dtprofile 中設定 dtstart_appgather

有關 dtappgather 選項的更多資訊,請參閱 dtappgather(4) 線上援助頁。

選擇性找出 .profile 或 .login 程序檔的來源

Xsession 能夠搜尋使用者的傳統 HomeDirectory /.profileHomeDirectory /.login 程序檔。依照預設值,此能力是取消的。如果要告訴 Xsession 去搜尋 .profile.login 程序檔,請設定 DTSOURCEPROFILEtrue

如果要變更所有使用者的 DTSOURCEPROFILE ,請建立設定新值的 /etc/dt/config/Xsession.d 程序檔。如果要設定所有使用者的 DTSOURCEPROFILEtrue,請建立可執行的 shksh 程序檔,例如,/etc/dt/config/Xsession.d/myvars,並設定如下的 DTSOURCEPROFILE

DTSOURCEPROFILE=true

使用者可以同樣地經由在 HomeDirectory/.dtprofile 中將 DTSOURCEPROFILE 設定為 true, 變更他們自己的階段作業的 DTSOURCEPROFILE

啟動 ToolTalk 傳訊常駐程式

ToolTalk 訊息常駐程式 ttsession 使獨立的應用程式能夠彼此通信而不需對彼此有直接的認識。應用程式會建立並發送 ToolTalk 訊息以彼此通信。 ttsession 在網路上通信以發送訊息。

如果要改變 ttsession 的指令行選項,請修改 dtstart_ttsession 變數。 如果要變更所有使用者的 dtstart_ttsession 變數,請建立可執行的 shksh 程序檔(例如 /etc/dt/config/Xsession.d/myvars ),並設定如下的 dtstart_ttsession

 dtstart_ttsession="/usr/dt/bin/ttsession -s"

使用者同樣地可以為他們自己的階段作業變更 ttsession,方法是在 HomeDirectory/.dtprofile 中設定 dtstart_ttsession

有關 ttsession 選項的更多資訊,請參閱 ttsession 線上援助頁。有關 ttsession 的更多資訊,請參閱 Common Desktop Environment: ToolTalk Messaging Overview

啟動階段作業管理者用戶端

此刻,Xsession會啟動 /usr/dt/bin/dtsession,此啟動會使階段作業啟動程序繼續進行 。

載入階段作業資源

階段作業管理者使用 X 伺服器 RESOURCE_MANAGER 屬性以使桌上管理系統資源可供所有的應用程式使用。階段作業管理者載入 RESOURCE_MANAGER 由:

桌上管理系統預設值資源可以在 /usr/dt/config/language /sys.resources 中找到。 這些資源將會經由 RESOURCE_MANAGER 屬性供每個使用者的階段作業使用。此檔案不應編輯,因為在後續的桌上管理系統安裝時會將它覆寫。

您可以藉由建立 /etc/dt/config/language /sys.resources 來增加系統預設資源。 在此檔案中,您可以為所有的桌上管理系統使用者置換預設值資源或指定其它的資源。既然此檔案是在階段作業啟動期間合併到桌上管理系統預設值資源內的,此檔案中應只放入新的或更新的資源規格。此檔案中所指定的資源將會經由 RESOURCE_MANAGER 屬性供每個使用者的階段作業使用。此檔案中所指定的資源,對於桌上管理系統預設值資源檔案中所指定的那些資源具有優先順序。

使用者可以使用其 HomeDirectory/.Xdefaults 檔案來增加桌上管理系統預設值與整個系統的資源。 此檔案中所指定的資源將可經由 RESOURCE_MANAGER 屬性供每個使用者的階段作業使用。此檔案中所指定的資源對於桌上管理系統預設值或系統管理者資源檔案中所指定的那些具有優先順序。


註解 -

X 工具箱本身的公用程式指定它將會從 RESOURCE_MANAGER 或從 HomeDirectory /.Xdefaults 其中之一而非兩者載入應用程式的資源。 一般而言,這表示會略過使用者的 HomeDirectory /.Xdefaults 檔案。 然而,階段作業管理者藉由在如上述的階段作業啟動時將其合併至 HomeDirectory 內以供應 HomeDirectory/ RESOURCE_MANAGER 。如果使用者變更 HomeDirectory /.Xdefaults,對新的應用程式而言,要到使用者呼叫重新載入資源動作時才看得到變更。 重新載入資源動作將會指示階段作業管理者重新載入具有預設值、整個系統以及使用者指定的資源之 RESOURCE_MANAGER 。此動作會使對整個系統與個人資源檔案所做的變更可供應用程式使用。


有關更多的資訊,請參閱:

啟動色彩伺服器

階段作業管理者作為桌上管理系統的色彩伺服器,並提供以下可用於配置它的 dtsession 資源集。

foregroundColor-控制是否配置前景色彩的像素

dynamicColor-指定是否配置唯讀色彩

shadowPixmaps-指定是要配置頂端陰影或底部陰影的色彩

colorUse-限制色彩配置

writeXrdbColors-指定是否在資源資料庫中放入 *background*foreground 資源

您可以藉由在該檔案中建立 /etc/dt/config/language/sys.resources 與指定色彩伺服器資源來設定所有使用者的色彩伺服器資源。

使用者同樣地可以藉由在 HomeDirectory /.Xdefaults 中指定色彩資源來為自己的階段作業設定色彩伺服器資源。

有關設定色彩伺服器資源的更多資訊,請參閱 "管理色彩"

啟動工作區管理者

階段作業管理者負責啟動工作區管理者。依照預設值 /usr/dt/bin/dtwm 會啟動。替代視窗管理者可以用 wmStartupCommand 資源來指定。

您可以藉由建立 /etc/dt/config/language /sys.resources 與指定該檔案中具有 Dtsession*wmStartupCommand 資源的視窗管理者之完整路徑名稱及選項來指定替代視窗管理者。

使用者同樣地可以僅為他們自己的階段作業指定替代視窗管理者,方法是在 HomeDirectory/.Xdefaults 中指定 Dtsession*wmStartupCommand

有關視窗管理者的更多資訊,請參閱 第 16章, 自訂工作區管理者

啟動階段作業應用程式

在啟動階段作業時,階段作業管理者將會重新啟動作為部分階段作業儲存的任何應用程式。被視為使用者起始階段作業的應用程式所回復之系統預設集,可以在 /usr/dt/config/language/sys.session 中找到。此檔案不應編輯,因為它將會在後續的桌上管理系統安裝時無條件地覆寫。

有關更多的資訊,請參閱 dtsessionfile (4) 線上援助頁。

系統管理者可以藉由將 /usr/dt/config/language/sys.session 複製到 /etc/dt/config/language/sys.session 並且修改後面那個檔案,來將啟動為使用者初始階段作業一部份的應用程式集取代掉。不像資源檔案,此檔案將會用作桌上管理系統預設檔案的完整取代,因此您可以複製系統預設檔案並作必要的修改。