登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

CDE桌面环境中自动启动应用程序图形界面  

2013-09-10 11:58:25|  分类: Solaris |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Solaris可以图形用户界面和命令行两种方式来操作,一些熟悉Window桌面环境或者对Unix系统不熟悉的用户更倾向于使用X Windows系统。其中最常用的是Common Desktop Environment(通用桌面环境,简称CDE)和基于GNOME的Java Desktop System(简称JDS)。

有些客户的应用程序需要在桌面系统启动后直接显示自己的图形界面,不显示操作系统默认显示在桌面环境中的图标,启动栏,比如ATM机,写字楼中的多媒体显示屏等。 如何实现这一目的呢?以下是一个简单的例子,在Solaris10(32位)操作系统中完成这样几个简单的功能:

重起后直接以root身份进入CDE桌面环境,不需要通过Login画面输入用户名,密码。

自动启动用户的应用程序图形画面

一个标准的CDE配置文件存放在/usr/dt/config这个目录,用户的CDE配置文件放置在$HOME/.dt路径下。桌面环境启动时先查找用户目录下的配置文件,然后在/etc下查找,最后查找/usr/dt路径,因此我们可以将/usr/dt路径拷贝至/etc目录下进行修改,不影响系统配置文件内容。如果仅希望配置单个用户的桌面,可以修改该用户$HOME路径下相应文件。

/etc/dt/config/$LANG/Xsession 用户Session的系统缺省应用程序集

/etc/dt/config/$LANG/sys.dtwmrc Dtwm的补充配置文件,可以指定不同类型窗口菜单

/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:取消初始会话中应用程序的启动,保证桌面上不显示其他的应用程序图形界面(添加自启动应用的关键步骤,本人就是因为这一步上在现场花了好2个小时也没搞定,回宾馆研究才能出来的,各位需要的可要注意啦!)

手动创建/etc下的配置文件路径,为保险起见,备份/usr/dt下文件(可选)

#cp /usr/dt/config/$LANG/sys.session /etc/dt/config/$LANGsys.sessio
将所有条目用“#”注释掉

加入自己的应用程序启动命令,注意关键是此处命令应该怎么写,开始没注意,研究后才发现问题所在:dtsmcmd -cmd "/usr/vnc/start.sh"
,前面的dtsmcmd -cmd一定不能少,这时规定好的,开始只写了/usr/vnc/start.sh,TMD怎么也不给执行,各位看官可要注意哟!

然后Reboot测试确认

这只是一个例子,使用了root权限的自动登陆,实际应用中需要保证系统安全,可以使用Solaris10上提供的RBAC(Role-Based-Access-Control)功能限制root权限,或实现用户的自动登陆过程。

引文来源  CDE桌面环境中自动启动应用程序图形界面-东方蜘蛛-ChinaUnix博客

  评论这张
 
阅读(576)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018