Gnome-session

出自龙芯梦兰知识库

跳转到: 导航, 搜索

目录

LOonux3 会话启动速度优化

优化目的

提升启动速度,提高用户体验。

瓶颈分析

在用户通过 GDM 登录后,新的 X 用户会话会被创建,在新会话中 GNOME Session 将会被首先运行起来,接着由 GNOME Session 根据配置启动其它应用程序。这些程序即有前台交互程序,也有后台服务程序。虽然这些应用程序实际上是并行启动的,但由于设备 I/O 带宽等资源的限制,前台交互程序全部准备完毕还需要一定的时间,导致用户感觉整体的启动速度并不理想。

优化方向

通过上面的瓶颈分析可以知道,由于设备的 I/O 带宽等资源的限制,用户能够感受到的前台交互程序的启动速度并不理想,因此优化的方向也就是提升这些用户关注的前台交互程序的启动优化级,避开资源使用高峰期。

具体实现

桌面背景是用户最新看到的界面,它的加载速度比较关键,优化有两个方面:

  1. 降低背景图片文件的大小,提高加载速度。
  2. 提高加速优化级,更早的加载背景数据。

将 GNOME Session 需要启动的应用程序按优化级高低进行分类:

  1. default_session
  2. required_components
  3. applications

在 GNOME 桌面环境中 default_session 默认是 gnome-settings-daemon,它的启动优化级是最高的。其次是 required_components 包含 windowmanager(compiz)、panel(gnome-panel)、filemanager(nautilus)、dock(cairo-dock)。最后则是 applications,这个启动优化级列表对应于一些目录: /etc/xdg/autostart/ /usr/ahre/autostart/,这些目录下的指定的应用程序会被启动。

在 required_components 列表中指定的应用程序都是用户关注的交互程序,这些程序需要尽快启动完毕,并且在它们启动过程不可能启动其它应用程序与其抢占系统资源。那么如何得知这些程序启动完毕?方法是检查交互程序的窗口是否已经创建。交互程序通过都是有窗口的,X 图形系统中每个窗口都有一个 WMName,在应用程序启动描述文件 (.desktop) 中增加了一个新的字段 X-GNOME-WMName 指定了目标窗口的 WMName,在启动应用程序后就检查指定的 WMName 窗口是否存在,存在则表示已经启动完毕,当所有的 required_components 启动完毕后再开始启动其它应用程序。

个人工具
名字空间
变换
动作
导航
工具箱