CDE桌面环境中自动启动应用程序图形界面
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/
......
#<Btn3Down> 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權限,或實現用戶的自動登陸過程。
參考命令
dtsession(1),
dtstyle(1),
X(1),
xrdb(1).dtconfig(1M)
dtwm(1)
rbac(5)
svcs(1)
svcadm(1M)
附:
問:如果是在solaris8的環境下,Step1里面的“禁止console的登陸服務#svcadm disable svc:/system/console-login:default”應該改成什么樣子呢?Step1里面還有什么需要修改的嗎?
答:1)備份/etc/inittab
2)編輯,注釋掉一行:
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: "
-T sun -d /dev/console -l console -m ldterm,ttcompat
其他步驟你可以嘗試,請注意以下問題:
1. Solaris8 Sparc下只有Xsun,請去掉
"-- /usr/X11/bin/Xorg"。
2. Solaris8 X86 環境沒有測試過。
?
轉自:http://blog.chinaunix.net/space.php?uid=431820&do=blog&cuid=104299
總結
以上是生活随笔為你收集整理的CDE桌面环境中自动启动应用程序图形界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注销linux/solaris桌面的命令
- 下一篇: virtualbox安装centos 6