首页 > 代码库 > GConf error:Failed to contact configuration server

GConf error:Failed to contact configuration server

Linux系统运行一直正常,但是图形界面使用root账号登录时遇到下面错误,第一次遇到这么怪异的状况

clip_image001

具体错误信息如下所示:

GConf error:Failed to contact configuration server;some possible cause are that you need to enable TCP/IP networking for ORBIT or you have stale NFSlocks due to a system crash,see http://www.gnome.org/projects/gconf/for information.(details -1:IOR file ‘/tmp/gconfd-root/lock/ior‘ not opened successfully;no gconfd located;no such file or directory2;IOR file ‘/tmp/gconfd-root/lock/ior‘ not opened successfully;no gconfd located;no such file or directory)

 

原因分析:

出现这个问题,有时候是因为在root账号下执行了 chmod -R 777 /tmp,我这边是因为chown –R oracle:oinstall /tmp误操作所导致。官方文档资料显示如下所示,不过水平还没有到那个级别,理解起来也是非常吃力:

I‘m having a lock file problem. What do I do?

Usually a problem here involves either NFS, or a kernel bug.

The per-user daemon locks two files in the default configuration:

~/.gconfd/lock/ior

~/.gconf/%gconf-xml-backend.lock/ior

The first lock is to ensure that only one gconfd is running. The second lock is to ensure only one program accesses the XML config source at a time.

If you have an NFS-mounted home directory, you must be running an rpc.statd/rpc.lockd setup on both NFS client and NFS server, so that file locking works. On Red Hat Linux, this means the "nfslock" service must be running. Enable it permanently with the chkconfig tool - see its manual page. Turn it on or off at any given time with service nfslock startor service nfslock stop. You must be root to do this.

If the kernel crashes (or the power cord gets pulled) on an NFS client machine, theoretically when you reboot the client machine it will notify the NFS server that it has rebooted and all previously-held locks should be released. However, many operating systems including Red Hat Linux 7.2 do not properly do this; so you will have stale locks after a crash. If no gconfd is running, these locks may safely be removed. If gconfd is running though, DO NOT remove them; if you have two gconfd processes for a single user, bad things may happen to that user‘s preferences once in a while.

See also the next question.

解决方法:

登录oracle用户,检查/tmp目录,如下所示,删除gconfd-root目录,重启gnome环境(重启主机也行),问题解决。

[oracle@db-server tmp]$ ls
 
 
0igYi60r4P              glibc.txt            LinuxVendor_output.txt  pZfW5Q9nxO      tmpFileKernelParms.txt
 
 
cpuinfo.txt             hs_err_pid17281.log  mapping-root            ssh-EOTPVp5471  virtual-root.TIjJMH
 
 
EM_TARGET_INSTALLER.lk  keyring-MgIEnU       orbit-root              ssh-UuyYiJ3942  virtual-root.zzPdWF
 
 
gconfd-root             keyring-uwsUZW       pkginfo.txt             swapinfo.txt
 
 
[oracle@db-server tmp]$ rm -R /tmp/gconfd-root/
 
 
[oracle@db-server tmp]$
 

参考资料:

http://gdcsy.blog.163.com/blog/static/127343609201061334949543/

GConf error:Failed to contact configuration server