本節涵蓋:
設定環境變數
設定來源
使用顯示相依的階段作業
於登入時執行指令集
回復備份階段作業
例如,如果您建立可執行的 ksh 指令集,/etc/dt/config/Xsession.d/myvars, 包含:
export MYVARIABLE="value"
然後,在下次登入時,變數 MYVARIABLE
將會設定在每個使用者的環境中。
例如:
export MYVARIABLE="value"
下次登入時,在每個使用者的環境中設定變數 MYVARIABLE
。
階段作業管理者不會自動讀取 .profile 或 .login 檔案。然而,可以配置它以使用這些檔案;請參閱 "選擇性地搜尋 .profile 或 .login 指令集"。
.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_MANAGER 到 specialvalue1;當使用者登入pablo.gato.com:0; 時為 specialvalue2 , 而當使用者登入其它顯示器上時 值。
您可以指定替代應用程式,將其視為使用者起始階段作業的一部份啟動。
將 /usr/dt/config/language/sys.session 複製到 /etc/dt/config/language/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(工作區)指標。另一種用法是啟動無法由階段作業管理者儲存與回復的應用程式。
一般而言,此檔案為指令集且必須有執行許可權。sessionetc 中啟動的處理應於背景中執行。
請勿使用 sessionetc 來啟動由階段作業管理者自動回復的客戶機。如此作會造成應用程式的多重副本被啟動。您可能無法立刻看到副本,因為視窗可能相互堆疊。
sessionetc 的姐妹檔案為 sessionexit。使用 sessionexit 以執行不是由階段作業管理者所處理的階段作業結束時的一些作業。
建立包含指令的檔案 HomeDirectory/.dt/sessions/sessionexit。
如同 sessionetc,此檔案通常是具有執行許可權的指令集。
當階段作業管理者儲存階段作業時,如果使用的是特定顯示器階段作業,階段作業資訊會儲存於 HomeDirectory/.dt/sessions 目錄中或 HomeDirectory/.dt/顯示器目錄中。在這些目錄中,階段作業管理者會建立名為 目前 或 主 的子目錄以儲存個別的目前或主階段作業的資訊。在儲存階段作業資訊之前,階段作業管理者會以該名稱製作前階段作業的備份並將其儲存於 current.old 或 home.old 中。
從登入螢幕使用單視窗階段作業或指令行登入來登入。
將備份階段作業目錄複製到作用中的名稱。例如,如果要回復備份主階段作業:
cp -r HomeDirectory/.dt/sessions/home.old \ HomeDirectory/.dt/sessions/home
可以用相同的方式回復特定顯示器的階段作業。
階段作業管理者在此檔案中登錄每個使用者的階段作業啟動進度。