Linux系统运行一直正常,但是图形界面使用root账号登录时遇到下面错误,第一次遇到这么怪异的状况
具体错误信息如下所示:
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环境(重启主机也行),问题解决。
[[email protected] 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
[[email protected] tmp]$ rm -R /tmp/gconfd-root/
[[email protected] tmp]$
参考资料:
http://gdcsy.blog.163.com/blog/static/127343609201061334949543/