Solaris啟動無需輸入密碼直接用root身份登陸,啟動Xwindows的方法

roninwei發表於2009-02-16

---------------------------------------------------------------------------------

作者:Iris Zhu, Sun Microsystems

原文出自:http://developers.sun.com.cn/blog/mde/entry/20060303

---------------------------------------------------------------------------------

Solaris可以圖形使用者介面和命令列兩種方式來操作,一些熟悉Window桌面環境或者對Unix系統不熟悉的使用者更傾向於使用X Windows系統。其中最常用的是Common Desktop Environment(通用桌面環境,簡稱CDE)和基於GNOME的Java Desktop System(簡稱JDS)。

有些客戶的應用程式需要在桌面系統啟動後直接顯示自己的圖形介面,不顯示作業系統預設顯示在桌面環境中的圖示,啟動欄,比如ATM機,寫字樓中的多媒體螢幕等。 如何實現這一目的呢?以下是一個簡單的例子,在Solaris10(32位)作業系統中完成這樣幾個簡單的功能:

重起後直接以root身份進入CDE桌面環境,不需要透過Login畫面輸入使用者名稱,密碼。

隱藏CDE Front Panel(前皮膚)

點選滑鼠右鍵後不顯示WorkSpaceMenu(工作區選單)

不顯示CDE啟動後預設顯示的help視窗、檔案管理器視窗

自動啟動使用者的應用程式圖形畫面

一個標準的CDE配置檔案存放在/usr/dt/config這個目錄,使用者的CDE配置檔案放置在$HOME/.dt路徑下。桌面環境啟動時先查詢使用者目錄下的配置檔案,然後在/etc下查詢,最後查詢/usr/dt路徑,因此我們可以將/usr/dt路徑複製至/etc目錄下進行修改,不影響系統配置檔案內容。如果僅希望配置單個使用者的桌面,可以修改該使用者$HOME路徑下相應檔案。

涉及檔案目錄和功能

/etc/dt/config 系統配置檔案

/etc/dt/config/$LANG/Xsession 使用者Session的系統預設應用程式集

/etc/dt/config/$LANG/sys.dtwmrc Dtwm的補充配置檔案,可以指定不同型別視窗選單

/etc/dt/app-defaults 應用程式資源

/etc/dt/app-defaults/$LANG/Dtwm dtwm的資源配置檔案

下面是每一步的具體操作:
Step1:用root身份直接登陸,啟動Xwindows

禁止桌面系統自動啟動

#/usr/dt/bin/dtconfig -d

禁止console的登陸服務

#svcadm disable svc:/system/console-login:default

建立啟動指令碼,完成登陸和桌面系統啟動的功能。如S99autologin

#touch /etc/rc2.d/S99autologin

# vi /etc/rc2.d/S99autologin

檔案內容:

#!/usr/bin/bash

su - root -c "PATH=/usr/openwin/bin:$PATH;export PATH;xinit /usr/dt/bin/Xsession -- /usr/X11/bin/Xorg"

改變檔案屬性,與其他指令碼屬性相同。

#chmod 744 S99autologin

注意:測試環境的Xindows 系統為Xorg。

Step2:不顯示Front Panel

手動建立/etc下的配置檔案路徑,備份/usr/dt下檔案

#mkdir -p /etc/dt/app-defaults/$LANG

#cp /usr/dt/app-defaults/$LANG/Dtwm /etc/dt/app-defaults/$LANG/Dtwm

修改Dtwm,將FrontPanel屬性改為False。

......

!Dtwm*useFrontPanel: True

Dtwm*useFrontPanel: False

......

Step3:點選滑鼠右鍵不顯示工作區選單

手動建立/etc下的配置檔案路徑,備份/usr/dt下檔案

#mkdir -p /etc/dt/config/$LANG

#cp /usr/dt/config/$LANG/sys.dtwmrc to /etc/dt/config/$LANG/

編輯sys.dtwmrc,註釋掉root f.menu DtRootMenu所在的一行

#vi /etc/dt/config/$LANG/

......

# root f.menu DtRootMenu

......
Step4:取消初始會話中應用程式的啟動,保證桌面上不顯示其他的應用程式圖形介面

手動建立/etc下的配置檔案路徑,備份/usr/dt下檔案

#cp /usr/dt/config/$LANG/sys.session /etc/dt/config/$LANGsys.session

將所有條目用“#”註釋掉

加入自己的應用程式啟動命令

Step5:Reboot

這只是一個例子,使用了root許可權的自動登陸,實際應用中需要保證系統安全,可以使用Solaris10上提供的RBAC(Role-Based-Access-Control)功能限制root許可權,或實現使用者的自動登陸過程。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7507082/viewspace-1017417/,如需轉載,請註明出處,否則將追究法律責任。

相關文章