GConf
守护进程称为 gconfd-2。GConf
守护进程在首选项值更改时通知应用程序。例如,您可以在菜单和工具栏
首选项工具中选择在工具栏中仅显示图标。在首选项工具中选择此选项之后,所有打开的应用程序的工具栏立即更新。GConf
守护进程可以本地或通过网络进行操作。
系统为每个用户启动一个 GConf
守护进程实例。如果用户登录到多个系统,对每个会话都会启动一个 GConf
守护进程的实例。您可以配置 Java Desktop System,使其在用户登录到多个系统时仅使用 GConf
守护进程的一个实例。有关如何进行此操作的信息,参见配置 Java Desktop System 以使用 GConf 守护进程的一个实例。
GConf
守护进程无须处理身份验证和数据安全等复杂问题。启动 GConf
守护进程之后,守护进程会加载 GConf
路径文件。GConf
守护进程管理应用程序和配置源之间的所有访问。
当应用程序请求首选项键的值时,守护进程按如下方式搜索配置源:
按照路径文件中指定的顺序在每个配置源中搜索首选项键的值。如果找到,则返回此值。
如果没有找到,则按照路径文件中指定的顺序在每个配置源中搜索与首选项键对应的架构键。
如果找到架构键,检查该架构键的值。
如果架构键的值是架构对象,则返回架构对象的 <default> 元素中的建议值。
GConf
守护进程还缓存首选项键值。所有应用程序均使用此缓存,因此应用程序只需访问一次配置源。
要终止 GConf
守护进程,请执行以下命令:
# gconftool-2 --shutdown
缺省情况下,Java Desktop System 在用户登录到多个系统时会创建多个 GConf
守护进程的实例。您可以配置 Java Desktop System,使其在用户登录到多个系统时仅使用 GConf
守护进程的一个实例。用户必须有网络文件系统 (NFS) 主目录。
当用户在多个系统上使用 GConf
守护进程的一个实例,并且该用户更改了一个首选项的值,则此更改会应用到该用户登录的所有会话。例如,如果用户在一个会话中的菜单和工具栏
首选项工具中选择在工具栏中仅显示图标,则所有打开的应用程序上的工具栏会立即在该用户登录的所有会话中更新。
用户可以对多个会话仅使用 GConf
守护进程的一个实例,前提是所有会话都可访问用户的主目录。
Java Desktop System 使用公共对象请求代理体系结构 (CORBA)。CORBA 使应用程序对象可以互相通信,而不论应用程序使用何种编程语言写成,也不论应用程序运行在什么操作系统上。
在 CORBA 中,对象请求代理 (ORB) 在服务器和客户机之间通信。Java Desktop System 中的 ORB 之一就是 ORBit2
。GConf
使用 ORBit2
中的 TCP 协议在 GConf
守护进程和用户登录的会话之间通信。
要为每个用户配置系统使用 GConf
守护进程的一个实例,请执行下列步骤:
对于用户登录的所有系统,确保文件 /etc/orbitrc 包含下列行:
ORBIIOPIPv4=1
把 GCONF_GLOBAL_LOCKS 环境变量的值设置为 1。这确保了 GConf
在用户的主目录中而不是本地系统的目录中创建锁定。
重新启动 GConf
守护进程。
要把系统配置为对每个用户使用 GConf
守护进程的多个实例,请取消 GCONF_GLOBAL_LOCKS 环境变量值的设置。然后重新启动 GConf
守护进程。
ORBit2
中的 TCP 协议并非绝对安全,因为服务器与客户机之间的通信没有加密。