本節涵蓋:
設定環境變數
設定資源
使用顯示器相依的階段作業
於登入時執行程序檔
回復備份階段作業
例如,如果您想要建立可執行的 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: 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,若使用者在另一個顯示器上登入的話。
您可以指定替代應用程式,將其視為使用者起始階段作業的一部份啟動。
將 /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
可以用相同的方式回復特定顯示器的階段作業。
階段作業管理者在此檔案中登錄每個使用者的階段作業啟動進度。