免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6066 | 回复: 1
打印 上一主题 下一主题

CDE桌面环境中自动启动应用程序图形界面 [复制链接]

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-24 18:09 |只看该作者 |倒序浏览

作者:Iris Zhu, Sun Microsystems
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权限,或实现用户的自动登陆过程。
    参考命令
    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 环境没有测试过。


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/524/showart_104299.html
  • 论坛徽章:
    0
    2 [报告]
    发表于 2010-08-09 20:08 |只看该作者
    我想在ubuntu下实现这个功能,请教该怎么做? ubuntu好像有些区别……
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP