如果要自訂登入螢幕外觀,您可以變更標識圖案或圖形、歡迎訊息與字型。
如果要修改 Xresources,請從 /usr/dt/config/language 將Xresources 複製到 /etc/dt/config/language。登入螢幕會在登入螢幕下次顯示時反映出任何變更。如果要強迫登入螢幕重新顯示,請從登入螢幕選項功能表選擇重新設定登入螢幕。
可以由 Xresources 檔案中的來源規格決定的登入螢幕屬性包括:
Dtlogin*logo*bitmapFile-位元映射或圖素映射檔案以顯示為標識圖案影像
Dtlogin*greeting*persLabelString-個人化的歡迎訊息
Dtlogin*greeting*labelString-歡迎訊息
Dtlogin*greeting*fontList 歡迎訊息的字型
Dtlogin*labelFont 壓下按鈕與標籤的字型
Dtlogin*textFont 輔助說明與錯誤訊息的字型
Dtlogin*language*languageName 替代文字的區域環境名稱 語言
在 Xresources 中設定 Dtlogin*logo*bitmapFile來源。
標識圖案可以是彩色圖素映射或位元映射檔案。
以下範例使用 Mylogo 位元映射作為標識圖案:
Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
按內定,登入伺服器在登入螢幕上顯示訊息 歡迎 到 主機名稱。如果要變更此訊息:
在 Xresources 中設定 Dtlogin*greeting*labelString 來源。
labelString 來源的值可以包含將會由登入伺服器主機名稱所取代的 % LocalHost%,以及將會由 X 伺服器顯示名稱所取代的 % DisplayName%。
以下範例將歡迎訊息變更為 此為 主機名稱!:
Dtlogin*greeting*labelString: 此為%LocalHost%!
一旦輸入使用者名稱,登入伺服器會依照內定值顯示訊息 歡迎 使用者名稱。您可以藉由在 Xresources 中設定 Dtlogin*greeting*persLabelString 來源來變更此訊息。persLabelString 的值可以包含%將會由 使用者名稱 所取 代的s。
以下範例將個人化的歡迎訊息變更為 Hello 使用者名稱。
Dtlogin*greeting*persLabelString: Hello%s
您可以藉由在 Xresources 中設定下列字型來源之一來變更登入螢幕上的字型:
歡迎訊息的 Dtlogin*greeting*fontList-字型
壓下按鈕與標籤的 Dtlogin*labelFont-字型
輔助說明與錯誤訊息的 Dtlogin*textFont-字型
如果要列出可供使用的字型,請鍵入:
xlsfonts [-選項] [-fn 型樣]
以下範例使用歡迎訊息的大字型(您所指定的值必須包含在一行上):
Dtlogin*greeting*fontList: -dt-interface \ system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:
如果要在登入螢幕語言功能表上顯示每個區域環境的文字以代替區域環境名稱的內定顯示, 在 Xresources 中修改 Dtlogin*language*languageName 來源名稱來源:
Dtlogin*En_US*languageName: 美語
現在將會顯示文字 美語 而非區域環境名稱 En_US。
如果要自訂登入螢幕行為,您可以修改 Xconfig 檔案中所指定的來源。
如果要修改 Xconfig,從 /usr/dt/config 將 Xconfig 複製到 /etc/dt/config。在修改 /etc/dt/config/Xconfig 之後,藉由鍵入下行告訴登入伺服器重新讀取 Xconfig:
/usr/dt/bin/dtconfig -reset
此發出指令 清除 -HUP 登入伺服器處理 ID
Dtlogin*authorize-Xaccess 檔案規格
Dtlogin*environment-X 伺服器環境
Dtlogin*language-內定語言
登入螢幕語言功能表的 Dtlogin*languageList-語言列表
Dtlogin*resources-Xresources 規格
Dtlogin*setup-Xsetup 檔案規格
Dtlogin*startup-Xstartup 檔案規格
Dtlogin*階段作業-Xsession 檔案規格
Dtlogin*failsafeClient-Xfailsafe 指令集規格
Dtlogin*reset-Xreset 指令集規格
Xsession 與 Xfailsafe 的 Dtlogin*userPath-路徑
Xsetup、Xstartup 與 Xfailsafe 的 Dtlogin*systemPath-路徑
Xsetup、Xstartup 與 Xfailsafe 的 Dtlogin*systemShell-SHELL
所有指令集的 Dtlogin.timeZone-TZ
在下面的範例中,變更 Xconfig 來源變更了所有顯示器的登入螢幕行為。在每項顯示器的基礎上可以指定用 *(星號)列出的來源。這使您能夠指定特定顯示器的自訂登入螢幕行為。如果要指定特定顯示器的來源,將來源指定為 Dtlogin*displayName*來源。例如,如果您想要關閉顯示器 expo:0 以使用者為基礎的存取控制,但為其它顯示器保持開啟,您會指定:
Dtlogin*expo_0*authorize: 錯誤
顯示器名稱中的任何特殊字元,例如:(冒號)或。(句號),都由 _ (底線)所取代。
按內定,登入伺服器允許 X 伺服器在每個使用者基礎上存取控制,並以 HomeDirectory/.Xauthority 檔案中儲存與保護的授權資料為基礎。只允許可以讀取此檔案的使用者連接到 X 伺服器。一般而言,此為 X 伺服器存取控制喜好的方法。
以使用者為基礎的存取控制的另一種選擇是以主機為基礎的存取控制。使用此種方法,如果一部主機有 X 伺服器所允許的存取權,該主機上任何使用者都可連接至 X 伺服器。使用以主機為基礎的控制的原因包括:
較舊的 R2 與 R3 X 客戶機將不能夠使用以使用者為基礎的存取控制連接到 X 伺服器。
在不安全的網路上,窺探者可能可以在網路上竊取 X 客戶機與 X 伺服器之間傳送的授權資料。
Xconfig Dtlogin*authorize 來源告訴登入伺服器要使用以使用者為基礎的 X 伺服器存取控制。如果要使用以主機為基礎的存取控制,將授權來源值變更為 錯誤,例如:
Dtlogin*authorize: 錯誤
當您由登入伺服器啟動時,如果您想要提供一個或多個環境變數和值給 X 伺服器,您可以在Xconfig 中使用 Dtlogin*environment 來源來指定它們。例如:
Dtlogin*environment: VAR1=foo VAR2=bar
將會使變數 VAR1 與 VAR2 可使用於區域 X 伺服器處理。這些變數也將會匯出至 Xsession 與 Xfailsafe 指令集。
當使用者由登入螢幕登入桌上管理系統時,使用者階段作業是在由選項功能表的語言子功能表所選擇的區域環境下執行的。如果使用者未選擇語言,則使用登入伺服器內定語言。您可以藉由在 Xconfig 中設定 Dtlogin*language 來源來控制內定語言的值。例如:
Dtlogin*language: Ja_JP
檢查您的系統文件以決定安裝在您系統上的語言。
按內定,登入伺服器建立包含系統上所安裝的所有區域環境列表的登入螢幕語言功能表。當使用者從登入螢幕語言列表選擇區域環境時,登入伺服器將會在選擇的區域環境中重新顯示登入螢幕。當使用者隨後登入時,登入伺服器將會在該區域環境中為使用者啟動桌上管理系統階段作業。
您可以藉由在 Xconfig 中修改 Dtlogin*languageList 來源來指定您自己的語言列表:
Dtlogin*languageList: En_US De_DE
現在登入伺服器在登入螢幕語言功能表中只顯示 En_US 與 De_DE。
在啟動 X 伺服器之後但在登入螢幕出現之前,登入伺服器執行 Xsetup 指令集。Xsetup 以 root 授權執行並發出需要在登入螢幕顯示之前執行的指令。
如果要修改 Xsetup,請從 /usr/dt/config 將 Xsetup 複製到 /etc/dt/config。下一次顯示登入螢幕時,將會執行修改的 Xsetup。
在使用者輸入使用者名稱與密碼以及其為辨證之後,但在啟動使用者階段作業之前,登入伺服器執行 Xstartup 指令集。Xstartup 以 root 授權來執行並發出需要在使用者階段作業啟動之前以 root 執行的指令。
如果要修改 Xstartup,請從 /usr/dt/config 將 Xstartup 複製到 /etc/dt/config。下次使用者登入時,將會執行修改的 Xstartup。
按內定,登入伺服器藉由執行 Xsession 指令集來啟動使用者階段作業。Xsession 以使用者的授權來執行並發出需要啟動桌上管理系統的指令。
請勿直接更新 Xsession 指令集。
有關如何自訂使用者的桌上管理系統階段作業啟動的資訊,請參閱 第 2章, 配置階段作業管理者 。
如果使用者從登入螢幕選項功能表的階段作業子功能表選擇單視窗階段作業,登入伺服器會執行 Xfailsafe 指令集。Xfailsafe 以使用者的授權來執行並發出需要啟動最小視窗環境的指令,通常是終端機視窗與選擇性的視窗管理者。
如果要修改 Xfailsafe,請從 /usr/dt/config 將 Xfailsafe 複製到 /etc/dt/config。下次使用者登入時,將會執行修改的 Xfailsafe。
在使用者結束桌上管理系統或單視窗階段作業之後,登入伺服器會執行 Xreset 指令集。Xreset 以 root 授權執行並發出需要在使用者的階段作業結束之後以 root 執行的指令。
如果您希望修改 Xreset,請從 /usr/dt/config 將 Xreset 複製到 /etc/dt/config。下次使用者登入時,將會執行修改的 Xreset。
登入伺服器提供匯出至 Xsetup、Xstartup、Xsession、Xfailsafe與 Xreset 指令集的環境。此環境描述於 表 1-1中。其它的變數也可以由登入伺服器匯出。
表 1-1 登入伺服器環
變數 |
Xsetup |
Xstartup |
Xsession |
Xreset |
說明 |
---|---|---|---|---|---|
X |
X |
X |
X |
內定或選擇的語言 |
|
X |
X |
X |
X |
替代 X 授權檔案(選擇性的) |
|
X |
X |
X |
X |
Dtlogin*userPath 來源(Xsession、Xfailsafe)或 Dtlogin*systemPath 來源(Xsetup、Xstartup、Xreset) 的值 |
|
X |
X |
X |
X |
X 伺服器連接編號 |
|
X |
X |
X |
X |
/etc/passwd(Xsession、Xfailsafe)或 Dtlogin*systemShell 來源(Xsetup、Xstartup、Xreset)中所指定的 Shell。 |
|
X |
X |
X |
X |
Dtlogin.timeZone 來源或由系統決定的時區值 |
|
|
X |
X |
X |
使用者名稱 |
|
|
X |
X |
X |
/etc/passwd 中所指定的主目錄 |
|
|
X |
X |
X |
使用者名稱 |
登入伺服器在其執行 Xsession 與 Xfailsafe 指令集時,設定路徑環境變數。您可以提供替代路徑給這些指令集
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
登入伺服器在其執行 Xsetup、Xstartup 與 Xfailsafe 指令集時,設定 SHELL 環境變數。內定值為 /bin/sh。如果您希望提供替代 shell 給這些指令集,您可以在Xconfig 中設定 Dtlogin*systemShell 來源。例如:
Dtlogin*systemShell: /bin/ksh
登入伺服器在其執行 Xsetup、Xstartup、Xsession、Xfailsafe 與 Xreset 指令集時設定 TZ 環境變數。內定值是得自系統,因此通常您將不需要變更此行為。如果要提供替代時區給這些指令集,請在Xconfig 中設定Dtlogin.timeZone 來源。例如:
Dtlogin.timeZone: CST6CDT