Solaris 一般桌上管理系統環境:進階使用者和系統管理員指南

變更登入螢幕外觀

如果要自訂登入螢幕外觀,您可以變更標識圖案或圖形、歡迎訊息與字型。

如果要修改 Xresources,請從 /usr/dt/config/languagelanguage 複製到 /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/configXconfig 複製到 /etc/dt/config。 在修改 /etc/dt/config/Xconfig之後,藉由鍵入下行告訴登入伺服器重新讀取 Xconfig

/usr/dt/bin/dtconfig -reset

此發出指令 kill -HUP 登入伺服器程序 ID)

Xconfig 檔案中所指定的資源包括:

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-XsessionXfailsafe 的 PATH

Dtlogin*systemPath-Xsetup, XstartupXfailsafe 的 PATH

Dtlogin*systemShell-Xsetup, XstartupXfailsafe 的 SHELL

Dtlogin.timeZone-全部程序檔的 TZ

變更每個顯示器的登入螢幕行為

在下面的範例中,變更 Xconfig 資源變更了所有顯示器的登入螢幕行為。在每個顯示器的基礎上可以指定用 *(星號)列出的資源。這使您能夠指定特定顯示器的自訂登入螢幕行為。如果要指定特定顯示器的資源,將資源指定為 Dtlogin* displayName*資源 。例如,如果您想要關閉顯示器 expo:0 以使用者為基礎的存取控制,但為其它顯示器保持開啟,您會指定:

 Dtlogin*expo_0*authorize: False

註解 -

顯示器名稱中的任何特殊字元,例如:(冒號)或。(句號),都由 _(底線)所取代。


變更 X 伺服器存取

按預設,登入伺服器允許 X 伺服器在每個使用者基礎上存取控制,並以 HomeDirectory/.Xauthority 檔案中儲存與保護的授權資料為基礎。 只允許可以讀取此檔案的使用者連接到 X 伺服器。 一般而言,此為 X 伺服器存取控制喜好的方法。

以使用者為基礎的存取控制的另一種選擇是以主機為基礎的存取控制。使用此種方法,如果一部主機有 X 伺服器所允許的存取權,該主機上任何使用者都可連接至 X 伺服器。使用以主機為基礎的控制的原因包括:

變更 X 伺服器環境

當您由登入伺服器啟動時,如果您想要提供一個或多個環境變數和值給 X 伺服器,您可以在 Xconfig 中使用 Dtlogin*environment 資源來指定它們。例如:

Dtlogin*environment: VAR1=foo VAR2=bar

將會使變數 VAR1VAR2 可使用於局部 X 伺服器程序。這些變數也將會匯出至 XsessionXfailsafe 程序檔。

變更預設語言

當使用者由登入螢幕登入桌上管理系統時,使用者階段作業是在由選項功能表的語言子功能表所選擇的語言環境下執行的。如果使用者未選擇語言,則使用登入伺服器預設語言。您可以藉由在 Xconfig 中設定 Dtlogin*language 資源來控制預設語言的值。 例如:

Dtlogin*language: Ja_JP

檢查您的系統文件以決定安裝在您系統上的語言。

變更登入螢幕語言功能表的內容

按預設,登入伺服器建立包含系統上所安裝的所有語言環境清單的登入螢幕語言功能表。當使用者從登入螢幕語言清單選擇語言環境時,登入伺服器將會在選擇的區域環境中重新顯示登入螢幕。當使用者隨後登入時,登入伺服器將會在該語言環境中為使用者啟動桌上管理系統階段作業。

您可以藉由在 Xconfig 中修改 Dtlogin*languageList 資源來指定您自己的語言清單:

 Dtlogin*languageList: En_US De_DE

現在登入伺服器在登入螢幕語言功能表中只顯示 En_USDe_DE

在登入螢幕出現之前發出指令

在啟動 X 伺服器之後但在登入螢幕出現之前,登入伺服器執行 Xsetup 程序檔。 Xsetup 以 root 授權執行並發出需要在登入螢幕顯示之前執行的指令。

如果要修改 Xsetup,請從 /usr/dt/configXsetup 複製到 /etc/dt/config。 下一次顯示登入螢幕時,將會執行修改的 Xsetup

在啟動使用者階段作業之前發出指令

在使用者輸入使用者名稱與密碼以及為其認證之後,但在啟動使用者階段作業之前,登入伺服器執行 Xstartup 程序檔。Xstartup 以 root 授權來執行並發出需要在使用者階段作業啟動之前以 root 執行的指令。

如果要修改 Xstartup,請從 /usr/dt/configXstartup 複製到 /etc/dt/config。 下次使用者登入時,將會執行修改的 Xstartup

啟動桌上管理系統階段作業

按預設,登入伺服器藉由執行 Xsession 程序檔來啟動使用者階段作業。 Xsession 以使用者的授權來執行並發出需要啟動桌上管理系統的指令。


註解 -

請勿直接更新 Xsession 程序檔。


有關如何自訂使用者的桌上管理系統階段作業啟動的資訊,請參閱 第 2章, 配置階段作業管理者

啟動單視窗階段作業

如果使用者從登入螢幕選項功能表的階段作業子功能表選擇單視窗階段作業,登入伺服器會執行 Xfailsafe 程序檔。Xfailsafe 以使用者的授權來執行並發出需要啟動最小視窗環境的指令,通常是終端機視窗與選擇性的視窗管理者。

如果要修改 Xfailsafe,請從 /usr/dt/configXfailsafe 複製到 /etc/dt/config。 下次使用者登入時,將會執行修改的 Xfailsafe

在使用者的階段作業結束之後

在使用者結束桌上管理系統或單視窗階段作業之後,登入伺服器會執行 Xreset 程序檔。 Xreset 以 root 授權執行並發出需要在使用者的階段作業結束之後以 root 執行的指令。

如果您希望修改 Xreset,請從 /usr/dt/configXreset 複製到 /etc/dt/config。 下次使用者登入時,將會執行修改的 Xreset

登入伺服器環境

登入伺服器提供匯出至 XsetupXstartupXsessionXfailsafeXreset 程序檔的環境。此環境描述於下表 表 1-1中。其它的變數也可以由登入伺服器匯出。

表 1-1 登入伺服器環境

環境 

變數 

Xsetup

Xstartup

Xsession

Xreset

說明 

LANG

預設或選擇的語言 

XAUTHORITY

替代 X 授權檔案(選擇性的) 

PATH

Dtlogin*userPath 資源(XsessionXfailsafe)或 Dtlogin*systemPath資源(XsetupXstartupXreset)的值

DISPLAY

X 伺服器連接編號  

SHELL

/etc/passwdXsessionXfailsafe)或 Dtlogin*systemShell資源(XsetupXstartupXreset)中所指定的 Shell

TZ

Dtlogin.timeZone 資源或由系統決定的時區值

USER

 

使用者名稱 

HOME

 

/etc/passwd 中所指定的主目錄

LOGNAME

 

使用者名稱 

變更使用者或系統路徑

登入伺服器在其執行 XsessionXfailsafe 程序檔時,設定路徑環境變數。您可以提供替代路徑給這些程序檔

變更使用者路徑

    Xconfig 中設定 Dtlogin*userPath 資源。例如:

 	Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

變更系統路徑

    Xconfig 中設定 Dtlogin*systemPath 資源。例如:

	Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

如果要變更系統 Shell

登入伺服器在其執行 XsetupXstartupXfailsafe 程序檔時,設定 SHELL 環境變數。預設值為 /bin/sh。 如果您希望提供替代 shell 給這些程序檔,您可以在 Xconfig 中設定 Dtlogin*systemShell 資源。 例如:

Dtlogin*systemShell: /bin/ksh

如果要變更時區

登入伺服器在其執行 XsetupXstartupXsessionXfailsafeXreset 程序檔時設定 TZ 環境變數。預設值是得自系統,因此通常您將不需要變更此行為。 如果要提供替代時區給這些程序檔,請在 Xconfig 中設定 Dtlogin.timeZone 資源。例如:

Dtlogin.timeZone: CST6CDT