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: value

那麼資源 AnApplication*resource 將在下次登入時設定在每一個使用者的 RESOURCE_MANAGER 屬性中。

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

設定顯示器特定的資源

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

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

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

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

    例如, $DISPLAY:0 將是DISPLAY_0,而 $DISPLAY blanco.gato.com:0.0 將是 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

    資源 MyApp*resource 將在 MyApp*resource 中設定為 specialvalue1,若使用者在顯示器 blanco.gato.com:0 登入的話; 設定為 specialvalue2,若使用者在 pablo.gato.com:0; 登入的話,以及設定為 value,若使用者在另一個顯示器上登入的話。

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

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

  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:0 unix: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 中。

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