今天在一台Linux虚拟机上安装了一个ArcGIS Server For Linux(只ArcSOC)组件,一切正常,但是启动服务的时候报一下的错误:
[root@rhsde scripts]# ./startserverStarting ArcGIS Server...Monitor process started..This process will continue to run even after the ArcGIS Serveris shut down. Please run the stopmonitor to shutdown this processif necessary.Starting Xvfb on port 600Unable to start Xvfb on port 600.Starting Xvfb on port 601Unable to start Xvfb on port 601.Starting Xvfb on port 602Unable to start Xvfb on port 602.Starting Xvfb on port 603Unable to start Xvfb on port 603.Starting Xvfb on port 604Unable to start Xvfb on port 604.Starting Xvfb on port 605Unable to start Xvfb on port 605.Starting Xvfb on port 606Unable to start Xvfb on port 606.Starting Xvfb on port 607Unable to start Xvfb on port 607.Starting Xvfb on port 608Unable to start Xvfb on port 608.Starting Xvfb on port 609Unable to start Xvfb on port 609.Starting Xvfb on port 610Unable to start Xvfb on port 610.Starting Xvfb on port 611Unable to start Xvfb on port 611.Starting Xvfb on port 612Unable to start Xvfb on port 612.Starting Xvfb on port 613Unable to start Xvfb on port 613.Starting Xvfb on port 614Unable to start Xvfb on port 614.Starting Xvfb on port 615Unable to start Xvfb on port 615.Starting Xvfb on port 616Unable to start Xvfb on port 616.Starting Xvfb on port 617Unable to start Xvfb on port 617.Starting Xvfb on port 618Unable to start Xvfb on port 618.Starting Xvfb on port 619Unable to start Xvfb on port 619.
从错误上看是无法启动Xvfb进程,具体原因不详,到$AGSHOME/servercore/.Server/Init_Xvfb.sh中查看启动Xvfb的函数,修改ags_xvfb_log变量到/tmp/xvfb.log,将错误信息记录到/tmp/xvfb.log文件中。再次启动服务,发现xvfb.log中记录如下信息:
Cannot establish any listening sockets - Make sure an X server isn't already runningCouldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed_XSERVTransMakeAllCOTSServerListeners: server already runningFatal server error:Cannot establish any listening sockets - Make sure an X server isn't already runningCouldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed_XSERVTransMakeAllCOTSServerListeners: server already runningFatal server error:Cannot establish any listening sockets - Make sure an X server isn't already runningCouldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed_XSERVTransMakeAllCOTSServerListeners: server already runningFatal server error:Cannot establish any listening sockets - Make sure an X server isn't already running
原来是X Server已经启动了一个实例,到/tmp将 .X11-unix目录删除掉,继续启动服务,还是报同样的错误,继续查看/tmp/xvfb.log文件,发现错误发生了如下的变化:Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
原来是缺少文件,从别的机器上将这些文件拷贝过来后,重启启动服务后,成功。在此简记一下。