作者:Chris Zhu, Sun Microsystems, Inc
概述
Solaris提供了一種統一的登錄界面,但用戶需求常常是多樣化的。有些用戶出於商業需要,希望在登錄界面中加入自己的標志,也有用戶希望擁有更個性化的登錄界面,本文就這樣的需要,介紹一下自己修改Solaris 登錄界面的歷程。
1. 常用的個性化元素
圖1給出了Solaris 10自帶的登錄界面,其中可配置的元素有不少,不過來自下列四項的個性化配置需求最多:
可選擇的語言菜單
缺省語言
登錄背景圖
歡迎信息
圖1
2. DIY你的登錄界面
2.1 配置可選擇的語言菜單
當系統安裝的語言很多時,配置可選擇的語言菜單就顯得很有必要了,否則你只能發揮大浪淘沙的本領。
拷貝/usr/dt/config/Xconfig 到相應的/etc路徑下,如果該路徑不存在,自己先建立一個。
最好不要直接修改/usr/dt/config/Xconfig,否則系統一升級,該文件就被自動替換了,個性化的配置應放在自己的/etc目錄下,dtlogin也總是先檢查/etc/dt/config/Xconfig,不存在時才會去找/usr/dt/config/Xconfig。
cp /usr/dt/config/Xconfig /etc/dt/config/
修改/etc/dt/config/Xconfig中的 Dtlogin*languageList 資源
例:登錄界面中的語言菜單只顯示C、zh和zh_CN.GBK三個選項
修改前: # Dtlogin*languageList:
修改後: Dtlogin*languageList: C zh zh_CN.GBK
通知登錄服務器重新讀取Xconfig信息
/usr/dt/bin/dtlogin -reset
說明:可以選擇的語言選項在 /usr/dt/config/
language/Xresources 中可以找到,你也可以修改通過修改 Xresources 文件修改語言菜單每一項的內容。
2.2 配置缺省的語言
配置缺省的語言和上面配置語言菜單的方法相似,不過修改的資源名變為Dtlogin*language
例:登錄界面中的缺省的語言為zh
修改前: # Dtlogin*language:
修改後: Dtlogin*language: zh
2.3 配置登錄背景貼片
缺省的貼片配置信息在/usr/dt/config/C/styleModern文件中,還是老生長談一下,一定要把它拷貝到相應的/etc目錄下再做修改。StyleModern的查找順序是:/etc/dt/config/
language/, /etc/dt/config/C/,/usr/dt/config/
language/最後才是/usr/dt/config/C/。所以建議把/usr/dt/config/C/styleModern拷貝到/etc/dt/config/C/目錄下配置即可。當然如果你希望每選一種語言都可以換一個背景,就在各種語言環境下都配置一遍吧。
我們可以根據自己顯示器的分辨率修改相應的配置信息。
cp /usr/dt/config/C/styleModern /etc/dt/config/C/
得到自己的顯示器分辨率
xdpyinfo |grep dimensions
根據自己的顯示器分辨率修改配置信息,顯示器分辨率是向下兼容的。
例:我們把缺省1280*1024分辨率的背景貼片 /usr/dt/config/images/styleModern-backdrop-1280.pm.gz換為/etc/dt/config/images/my-1280.xpm
#elif (WIDTH >= 1280) && (HEIGHT >= 1024)
修改前:Dtlogin*matte1.backgroundPixmap: STYLE_PIXMAP-1280.pm.gz
修改後:Dtlogin*matte1.backgroundPixmap: /etc/dt/config/images/my-1280.xpm
不過要注意的是這裡支持的圖片格式很有限,我曾經嘗試過bmp和jpg,都不成功,所以建議使用xpm;而且圖片文件的大小也有限制,參照一下系統缺省的 STYLE_PIXMAP-1280.pm.gz文件吧,最好最後形成的文件可以限制在1M附近,否則可能登錄界面經過漫長的等待都不出來,我用的是256色的圖形文件。
推薦一個形成xpm的工具gimp,這是solaris10缺省帶的工具,在/usr/sfw/bin下,不過你要形成256色的圖形文件恐怕只能在windows下做了。
2.4 配置歡迎信息
歡迎信息存儲在/usr/dt/config/
language/Xresources文件中,修改很方便,見下例。
cp /usr/dt/config/C/Xresources /etc/dt/config/C/Xresources
修改/etc/dt/config/C/Xresources
修改前:
!! Dtlogin*greeting.persLabelString: Welcome %s
根據你的需要修改吧
Dtlogin*greeting.persLabelString: Have a nice day!
如果你想修改歡迎信息的坐標信息,就要到上面提到的 styleModern 文件中去修改了,這裡不再詳述。
看一下DIY的效果吧,我的登錄界面見圖2。
圖2
3. 關於鎖屏的登錄界面
配置了登錄界面,也許你也想配置一下鎖屏的登錄界面。這在CDE下很容易實現,不過對於JDS桌面,探索了很久,卻發現這個界面無法修改,它竟然是把位圖寫死在Xscreensaver程序中的,這不得不說是個小小的遺憾。
CDE下鎖屏的登錄界面的配置文件缺省是/usr/dt/app-defaults/
language/Dtsession,拷貝到相應的/etc/目錄下後,自己動手吧。
例:配置鎖屏的登錄界面的貼片(貼片的缺省路徑是/usr/dt/appconfig/icons/
language/)
修改前:Dtsession*lockLabelPixmap.imageName: Dtlogo
修改後:Dtsession*lockLabelPixmap.imageName: mylogo
相對於登錄界面的DIY,JDS桌面系統的配置簡單很多,JDS提供了圖形化的界面來協助完成相應的配置工作,和WINDOWS十分相似,這裡就不再詳述了。
除了通過dtlogin來實現圖形化的登錄外,gdm也提供了一種更容易配置的登錄界面