startx启动失败的几个解决方法
很多linux用户有如此一个惨痛经历。当你和平常一样登陆和输入这可爱的startx时,你只是接收到错误信息。Many of us gnu/linux users have had such a terrible experience. When you
很多linux用户有如此一个惨痛经历。当你
login and type the sweet startx as usual, you only receive scrolling lines
和平常一样登陆和输入这可爱的startx时,你只是接收到
of error messages. One copy of the error message is usually stored in
错误信息。错误通常存储在
/var/log/XFree86.0.log. If you can access the log file, you will notice
/var/log/XFree86.0.log。如果你读取这个日志文件,你将会注意到
the last lines of the file may look like this:
文件的最后一行通常如这样:
Could not init font path element unix/:7100, removing from list!
Fatal server error:
could not open default font 'fixed'
I have to admit that I was in panic when I saw this message in the first
我不得不承认我感到恐慌当我最初几次看到这些信息。
several times. As an intermediate user of linux system, I was not so
作为一个中级的linux系统用户,我感到用命令控制台拨号和用lynx冲浪不
comfortable using text console for modem dialup and surfing with lynx. So
舒服冲浪。所以
I had to spend a lot of time on another box and use Google to search for
我不得不花费很多时间在另一台电脑的使用Google在网上搜索帮助。
help on web. It was amazing that so many people like me have this exact
另人感到意外的是如此多人像我一样拥有如此
terrible experience and those replies in web forums and mailing lists
恐怖的经历和那些网上论坛和邮件列表的答复
generally offer more sympathy than real help. Using our common sense and
一般提供更多的同情心而不是真正的帮助。用我们一般的理解和
some research, most of us can figure out this failure has something to do
研究,我们大部分可以判断这是X字体服务的失败。
with X font server.
After having done a little more research, now I believe that this failure
做完进一步的研究之后,我现在相信这
may not be so serious as it looks. Please follow me by doing the steps
不像人们想象中的那么严重。请跟着我做下面的这些步骤,
below, in most of the cases you will get your X windows starting up again.
在大部分的案例中你将可以重新进入X windows。
Note: The following examples run on my Red Hat box. But I believe they are
注意:这些例子在我的Red Hat系统上。但我相信他们
general enough to be used for other distributions.
通常足够应用在其它发行版上。
1. Check if the X font server is running.
1、检查X字体服务是否正在运行。
Some people like me tend to suspect it is caused by bugs in the X font
一些人像我一样趋向于怀疑这是由X字体服务的bugs引起的,
server, but it turned out that X font server is quite robust. We can run
但它证明这X字体服务是良好的。我们可以运行
the xfs script under /etc/init.d to see if the font server is running.
这xfs格本文件夹在/etc/init.d去看是否字体服务正在运行。
[root@localhost /root]# /etc/init.d/xfs status
xfs (pid 1385) is running...
In some cases, the only reason for the failure is that the font server is
在一些案例,唯一失败的原因是字体服务停止
dead. So, you need to restart font server like this:
所以,你需要重新启动字体服务象这样:
[root@localhost /root]# /etc/init.d/xfs start
Starting xfs: [ OK ]
Well, my learned lesson is don't take this '[OK]' for granted. You have to
好,我的学习课程不承认OK是真的。你必须
check the status again to see if it is running. If it does run, you can
再次检查状况去看看是否正在运行。如果它不运行,你可以尝试
try startx to see if you can start X windows. If you still cannot start X
startx去看看是否可以开始X windows。当字体服务运行时,如果你仍然不可以运行X
server when the font server runs, it means you are having more serious
服务,它意味着你拥有更严重的错误。
trouble. You need to waste a little more time reading on the following
你需要花费更多的一点时间阅读以下的步骤。
steps.
Note: In a weird case, my root partition was fully filled by two huge log
注意:在一个古怪的案例,我的根目录是被两个大于2GB的信息文件所占据满的。
files occupying more than 2 GB. The font server dies when it cannot write
当它不可能写进/tmp字体服务停止。
to /tmp. So the simple solution was finding the huge files and deleting
因此一些例子的解决办法是寻找巨大文件的删除掉他们。
them.
2. Check if the font 'fixed' is accessible.
检查是否字体“fixed”可以理解的。
Now it is time to ensure that the font 'fixed' is accessible. First, we
现在是时侯确保字体“fixed”是受影响的。首先
can use command fslsfonts to see if font 'fixed' exists in the search
我们可以运行命令fslsfonts去看是否字体存在在所寻找的路径:
path:
[root@localhost alex]# fslsfonts -server unix/:7100 -ll -fn fixed
DIR MIN MAX EXIST DFLT ASC DESC NAME
--> 0 255 some 0 11 2 fixed
FONTNAME_REGISTRY
FOUNDRY Misc
FAMILY_NAME Fixed
WEIGHT_NAME Medium
SLANT R
SETWIDTH_NAME SemiCondensed
ADD_STYLE_NAME
PIXEL_SIZE 13
POINT_SIZE 120
RESOLUTION_X 75
RESOLUTION_Y 75
SPACING C
AVERAGE_WIDTH 60
CHARSET_REGISTRY ISO8859
CHARSET_ENCODING 1
COPYRIGHT Public domain font. Share and enjoy.
CAP_HEIGHT 9
X_HEIGHT 6
FONT -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-1
WEIGHT 10
RESOLUTION 103
QUAD_WIDTH 6
This is the normal output when 'fixed' is available. Here, we can see that
当“fixed”是可用的,这是通常输出的情况,我们可以看到
'fixed' is actually an alias for the font
“fixed”实际上是字体的别名。
'-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-1'. If
there is no font 'fixed', we first need to gain knowledge of the search
如果不是字体“fixed”,我们首先需要获得更多的信息在字体的所在路径。
path for fonts. We can use command chkfontpath to look at those paths:
我们可以运用命令chkfontpath去看那些路径:
[root@localhost alex]# /usr/sbin/chkfontpath
Current directories in font path:
1: /usr/X11R6/lib/X11/fonts/misc:unscaled
2: /usr/X11R6/lib/X11/fonts/75dpi:unscaled
3: /usr/X11R6/lib/X11/fonts/100dpi:unscaled
4: /usr/X11R6/lib/X11/fonts/misc
5: /usr/X11R6/lib/X11/fonts/Type1
6: /usr/X11R6/lib/X11/fonts/Speedo
7: /usr/X11R6/lib/X11/fonts/CID
8: /usr/X11R6/lib/X11/fonts/75dpi
9: /usr/X11R6/lib/X11/fonts/100dpi
10: /usr/share/fonts/default/Type1
11: /usr/share/fonts/default/TrueType
12: /usr/share/fonts/ja/TrueType
13: /usr/X11R6/lib/X11/fonts/latin2/100dpi:un