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

其它的階段作業啟動自訂

本節涵蓋:

如果要設定環境變數

    如果要設定整個系統的環境變數,請在設定並匯出變數的 /etc/dt/config/Xsession.d 目錄中建立檔案。

例如,如果您建立可執行的 ksh 指令集,/etc/dt/config/Xsession.d/myvars 包含:

	export MYVARIABLE="value"

然後,在下次登入時,變數 MYVARIABLE 將會設定在每個使用者的環境中。

    如果要設定個人環境變數,請在 HomeDirectory/.dtprofile 中設定變數。

例如:

	export MYVARIABLE="value"

下次登入時,在每個使用者的環境中設定變數 MYVARIABLE


註解 -

階段作業管理者不會自動讀取 .profile.login 檔案。然而,可以配置它以使用這些檔案;請參閱 "選擇性地搜尋 .profile 或 .login 指令集"


如果要設定來源

    如果要設定整個系統的來源,請將來源增加至檔案 /etc/dt/config/language/sys.resources。(您可能必須建立此檔案。)


註解 -

.dtprofile 只支援 /bin/sh/bin/ksh 語法。


例如,如果您在 /etc/dt/config/C/sys.resources 中,可以指定:

	AnApplication*resource: 

然後,在下次登入時,來源 AnApplication*resource 將會設定於每個 RESOURCE_MANAGER 屬性中。

    如果要設定個人來源,請將來源增加至檔案 HomeDirectory/.Xdefaults

如果要設定特定顯示器的來源

您可以在系統上設定所有桌上管理系統使用者的特定顯示器來源。而且,使用者可以設定限制為其自己的階段作業之特定顯示器來源。此項設定使您能夠視使用者使用何種顯示器以登入桌上管理系統來指定特定顯示器。

    如果要在系統上設定所有桌上管理系統使用者的特定顯示器來源,請建立指定特定顯示器來源的檔案 /etc/dt/config/language/sys.resources

    如果要設定個人特定顯示器來源,請在 HomeDirectory/.Xdefaults 中指定來源。

    您藉由將這些來源附於 cpp 條件式陳述式中來分割它們。 DISPLAY_displayname 巨集是根據 $DISPLAY 變數的值來定義的。這是藉由轉換所有的 .(句點)與 : (冒號)字元為 _ (底線)、去除任何螢幕規格以及最後將字首 DISPLAY_ 加於結果所完成的。

    例如,:0$DISPLAY 會是 DISPLAY_0,而 blanco.gato.com:0.0$DISPLAY 會是 DISPLAY_blanco_gato_com_0。結果的值可以用作階段作業來源檔案中的一部分 cpp 測試。例如,如果在/etc/dt/config/C/sys.resources 中您指定:

    Myapp*resource: 值
    #ifdef DISPLAY_blanco_gato_com_0  Myapp*resource: specialvalue1  
    #endif
    #ifdef DISPLAY_pablo_gato_com_0  Myapp*resource: specialvalue2  
    #endif

    當使用者登入顯示器 blanco.gato.com:0 來源上時, MyApp*resource 將會設定於 RESOURCE_MANAGERspecialvalue1;當使用者登入pablo.gato.com:0; 時為 specialvalue2 , 而當使用者登入其它顯示器上時

如果要變更起始階段作業的應用程式

您可以指定替代應用程式,將其視為使用者起始階段作業的一部份啟動。

  1. /usr/dt/config/language/sys.session 複製到 /etc/dt/config/language/sys.session。

  2. 修改新的 sys.session 檔案。

    sys.session 中每項登錄的出現如:

    	dtsmcmd -cmd command_and_options
    

    如果要將其它的應用程式視為使用者起始階段作業的一部份啟動,請以完整的路徑名稱指定新的 sys.session 登錄。例如,如果要將/usr/bin/X11/xclock視為使用者起始階段作業的一部份啟動,請增加 xclock 登錄至 /etc/dt/config/C/sys.session

    	#  	# Start up xclock...  	#  	dtsmcmd -cmd "/usr/bin/X11/xclock 
    -digital"

如果要設定特定顯示器的階段作業

使用者可以設定特定顯示器的階段作業以將階段作業調整為特定的顯示器。

    HomeDirectory/.dt/sessions 目錄複製到 HomeDirectory/.dt/顯示器顯示器 為真實的、不合格的主機名稱(pablo:0 是有效的,pablo.gato.com:0unix:0 則不是)。

例如,如果要建立顯示器 pablo.gato.com:0 的特定顯示器階段作業:

cp -r HomeDirectory/.dt/sessions HomeDirectory/.dt/pablo:0

當使用者下次登入顯示器 pablo.gato.com:0 時,階段作業管理者將會啟動該特定顯示器的階段作業。

在階段作業啟動與登出時執行其它指令

當使用者登入其桌上管理系統階段作業時,他們可以指定其它指令被啟動。對於設定未由階段作業管理者儲存的 X 設定值,這是很有用的。例如,使用者可以使用 xsetroot 來自訂root(工作區)指標。另一種用法是啟動無法由階段作業管理者儲存與回復的應用程式。

如果要在階段作業啟動時執行其它的指令

    建立包含指令的檔案 HomeDirectory/.dt/sessions/sessionetc

一般而言,此檔案為指令集且必須有執行許可權。sessionetc 中啟動的處理應於背景中執行。


註解 -

請勿使用 sessionetc 來啟動由階段作業管理者自動回復的客戶機。如此作會造成應用程式的多重副本被啟動。您可能無法立刻看到副本,因為視窗可能相互堆疊。


如果要在登出時執行其它的指令

sessionetc 的姐妹檔案為 sessionexit。使用 sessionexit 以執行不是由階段作業管理者所處理的階段作業結束時的一些作業。

    建立包含指令的檔案 HomeDirectory/.dt/sessions/sessionexit

如同 sessionetc,此檔案通常是具有執行許可權的指令集。

如果要從備份回復階段作業

當階段作業管理者儲存階段作業時,如果使用的是特定顯示器階段作業,階段作業資訊會儲存於 HomeDirectory/.dt/sessions 目錄中或 HomeDirectory/.dt/顯示器目錄中。在這些目錄中,階段作業管理者會建立名為 目前 的子目錄以儲存個別的目前或主階段作業的資訊。在儲存階段作業資訊之前,階段作業管理者會以該名稱製作前階段作業的備份並將其儲存於 current.oldhome.old 中。

  1. 從登入螢幕使用單視窗階段作業或指令行登入來登入。

  2. 將備份階段作業目錄複製到作用中的名稱。例如,如果要回復備份主階段作業:

    	cp -r HomeDirectory/.dt/sessions/home.old 
    \  	HomeDirectory/.dt/sessions/home

    可以用相同的方式回復特定顯示器的階段作業。

如果要調查階段作業啟動的問題

    檢查檔案 HomeDirectory/.dt/startlog

階段作業管理者在此檔案中登錄每個使用者的階段作業啟動進度。