如果要自訂登入螢幕外觀,您可以變更標識圖案或圖形、歡迎訊息與字型。
如果要修改 Xresources,請從 /usr/dt/config/language 將 language 複製到 /etc/dt/config/language。登入螢幕會在登入螢幕下次顯示時反映出任何變更。如果要強迫登入螢幕重新顯示,請從登入螢幕選項功能表選擇重設登入螢幕。
可以由 Xresources 檔案中的資源規格決定的登入螢幕屬性包括:
Dtlogin*logo*bitmapFile—點陣圖或圖素映射檔案以顯示為標識圖案影像
Dtlogin*greeting*persLabelString—個人化的歡迎訊息
Dtlogin*greeting*labelString—歡迎訊息
Dtlogin*greeting*fontList 歡迎訊息的字型
Dtlogin*labelFont 按鈕及標籤的字型
Dtlogin*textFont 輔助說明及錯誤訊息的字型
Dtlogin*language*languageName 語言環境名稱 language 的替代文字
在 Xresources 中設定 Dtlogin*logo*bitmapFile 資源。
標識圖案可以是彩色圖素映射或點陣圖檔案。
以下範例使用 Mylogo 點陣圖作為標識圖案:
Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
依據預設值,登入伺服器會在登入螢幕上顯示訊息 Welcome to 主機名稱。若要變更這個訊息:
在 Xresources 中設定 Dtlogin*greeting*labelString 資源。
此 labelString 資源的值可以包含兩個值,其一為 %LocalHost%,此值將由登入伺服器的主機名稱所取代,而其二為 %DisplayName% ,此值則由 X 伺服器的顯示名稱所取代。
以下範例將歡迎訊息變更為 Here's主機名稱!:
Dtlogin*greeting*labelString: Here's %LocalHost%!
一旦輸入使用者名稱,登入伺服器會依照預設值顯示訊息 Welcome 使用者名稱 。您可以藉由在 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*語言 *languageName 資源名稱資源:
Dtlogin*En_US*languageName: American
現在將會顯示文字 American 而非語言環境名稱 En_US。
如果要自訂登入螢幕行為,您可以修改 Xconfig 檔案中所指定的資源。
如果要修改 Xconfig,從 /usr/dt/config 將 Xconfig 複製到 /etc/dt/config。 在修改 /etc/dt/config/Xconfig之後,藉由鍵入下行告訴登入伺服器重新讀取 Xconfig:
/usr/dt/bin/dtconfig -reset
此發出指令 kill -HUP 登入伺服器程序 ID)
Dtlogin*authorize—Xaccess 檔案規格
Dtlogin*environment—X 伺服器環境
Dtlogin*language—預設語言
Dtlogin*languageList—登入螢幕語言功能表的語言清單
Dtlogin*resources—Xresources 規格
Dtlogin*setup—Xsetup 檔案規格
Dtlogin*startup—Xstartup 檔案規格
Dtlogin*session—Xsession 檔案規格
Dtlogin*failsafeClient—Xfailsafe 程序檔規格
Dtlogin*reset—Xreset 程序檔規格
Dtlogin*userPath—Xsession 及 Xfailsafe 的 PATH
Dtlogin*systemPath—Xsetup, Xstartup 及 Xfailsafe 的 PATH
Dtlogin*systemShell—Xsetup, Xstartup 及 Xfailsafe 的 SHELL
Dtlogin.timeZone—全部程序檔的 TZ
在下面的範例中,變更 Xconfig 資源變更了所有顯示器的登入螢幕行為。在每個顯示器的基礎上可以指定用 *(星號)列出的資源。這使您能夠指定特定顯示器的自訂登入螢幕行為。如果要指定特定顯示器的資源,將資源指定為 Dtlogin* displayName*資源 。例如,如果您想要關閉顯示器 expo:0 以使用者為基礎的存取控制,但為其它顯示器保持開啟,您會指定:
Dtlogin*expo_0*authorize: False
顯示器名稱中的任何特殊字元,例如:(冒號)或。(句號),都由 _(底線)所取代。
按預設,登入伺服器允許 X 伺服器在每個使用者基礎上存取控制,並以 HomeDirectory/.Xauthority 檔案中儲存與保護的授權資料為基礎。 只允許可以讀取此檔案的使用者連接到 X 伺服器。 一般而言,此為 X 伺服器存取控制喜好的方法。
以使用者為基礎的存取控制的另一種選擇是以主機為基礎的存取控制。使用此種方法,如果一部主機有 X 伺服器所允許的存取權,該主機上任何使用者都可連接至 X 伺服器。使用以主機為基礎的控制的原因包括:
較舊的 R2 與 R3 X 用戶端將不能夠使用以使用者為基礎的存取控制,連接到 X 伺服器。
在不安全的網路上,窺探者可能可以在網路上竊取 X 用戶端與 X 伺服器之間傳送的授權資料。
Xconfig Dtlogin*authorize 資源告訴登入伺服器要使用以使用者為基礎的 X 伺服器存取控制。如果要使用以主機為基礎的存取控制,將授權資源值變更為 False,例如:
Dtlogin*authorize: False
當您由登入伺服器啟動時,如果您想要提供一個或多個環境變數和值給 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