溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

startx啟動(dòng)圖形界面失敗的解決方法有哪些

發(fā)布時(shí)間:2021-07-10 15:51:25 來源:億速云 閱讀:1201 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“startx啟動(dòng)圖形界面失敗的解決方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“startx啟動(dòng)圖形界面失敗的解決方法有哪些”吧!

很多l(xiāng)inux用戶有如此一個(gè)慘痛經(jīng)歷。當(dāng)你和平常一樣登陸和輸入這可愛的startx時(shí),你只是接收到錯(cuò)誤信息。

Many of us gnu/linux users have had such a terrible experience. When you
很多l(xiāng)inux用戶有如此一個(gè)慘痛經(jīng)歷。當(dāng)你
login and type the sweet startx as usual, you only receive scrolling lines
和平常一樣登陸和輸入這可愛的startx時(shí),你只是接收到
of error messages. One copy of the error message is usually stored in
錯(cuò)誤信息。錯(cuò)誤通常存儲(chǔ)在
/var/log/XFree86.0.log. If you can access the log file, you will notice
/var/log/XFree86.0.log。如果你讀取這個(gè)日志文件,你將會(huì)注意到
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
我不得不承認(rèn)我感到恐慌當(dāng)我最初幾次看到這些信息。
several times. As an intermediate user of linux system, I was not so
作為一個(gè)中級的linux系統(tǒng)用戶,我感到用命令控制臺(tái)撥號和用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
我不得不花費(fèi)很多時(shí)間在另一臺(tái)電腦的使用Google在網(wǎng)上搜索幫助。
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
恐怖的經(jīng)歷和那些網(wǎng)上論壇和郵件列表的答復(fù)
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字體服務(wù)的失敗。
with X font server.

After having done a little more research, now I believe that this failure
做完進(jìn)一步的研究之后,我現(xiàn)在相信這
may not be so serious as it looks. Please follow me by doing the steps
不像人們想象中的那么嚴(yán)重。請跟著我做下面的這些步驟,
below, in most of the cases you will get your X windows starting up again.
在大部分的案例中你將可以重新進(jìn)入X windows。
Note: The following examples run on my Red Hat box. But I believe they are
注意:這些例子在我的Red Hat系統(tǒng)上。但我相信他們
general enough to be used for other distributions.
通常足夠應(yīng)用在其它發(fā)行版上。

1. Check if the X font server is running.
1、檢查X字體服務(wù)是否正在運(yùn)行。

Some people like me tend to suspect it is caused by bugs in the X font
一些人像我一樣趨向于懷疑這是由X字體服務(wù)的bugs引起的,
server, but it turned out that X font server is quite robust. We can run
但它證明這X字體服務(wù)是良好的。我們可以運(yùn)行
the xfs script under /etc/init.d to see if the font server is running.
這xfs格本文件夾在/etc/init.d去看是否字體服務(wù)正在運(yùn)行。

[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
在一些案例,唯一失敗的原因是字體服務(wù)停止
dead. So, you need to restart font server like this:
所以,你需要重新啟動(dòng)字體服務(wù)象這樣:
[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
好,我的學(xué)習(xí)課程不承認(rèn)OK是真的。你必須
check the status again to see if it is running. If it does run, you can
再次檢查狀況去看看是否正在運(yùn)行。如果它不運(yùn)行,你可以嘗試
try startx to see if you can start X windows. If you still cannot start X
startx去看看是否可以開始X windows。當(dāng)字體服務(wù)運(yùn)行時(shí),如果你仍然不可以運(yùn)行X
server when the font server runs, it means you are having more serious
服務(wù),它意味著你擁有更嚴(yán)重的錯(cuò)誤。
trouble. You need to waste a little more time reading on the following
你需要花費(fèi)更多的一點(diǎn)時(shí)間閱讀以下的步驟。
steps.

Note: In a weird case, my root partition was fully filled by two huge log
注意:在一個(gè)古怪的案例,我的根目錄是被兩個(gè)大于2GB的信息文件所占據(jù)滿的。
files occupying more than 2 GB. The font server dies when it cannot write
當(dāng)它不可能寫進(jìn)/tmp字體服務(wù)停止。
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
現(xiàn)在是時(shí)侯確保字體“fixed”是受影響的。首先
can use command fslsfonts to see if font 'fixed' exists in the search
我們可以運(yùn)行命令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
當(dāng)“fixed”是可用的,這是通常輸出的情況,我們可以看到
'fixed' is actually an alias for the font
“fixed”實(shí)際上是字體的別名。
'-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:
我們可以運(yùn)用命令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:unscaled
14: /usr/X11R6/lib/X11/fonts/latin2/100dpi
15: /usr/share/fonts/ISO8859-7/misc:unscaled
16: /usr/share/fonts/ISO8859-7/75dpi:unscaled
17: /usr/share/fonts/ISO8859-7/100dpi:unscaled
18: /usr/share/fonts/ISO8859-7/misc
19: /usr/share/fonts/ISO8859-7/Type1
20: /usr/share/fonts/ISO8859-7/75dpi
21: /usr/share/fonts/ISO8859-7/100dpi
22: /usr/share/fonts/ISO8859-9/misc:unscaled
23: /usr/share/fonts/ISO8859-9/100dpi:unscaled
24: /usr/share/fonts/ISO8859-9/misc
25: /usr/share/fonts/ISO8859-9/100dpi
26: /usr/share/fonts/KOI8-R/100dpi:unscaled
27: /usr/share/fonts/KOI8-R/100dpi
28: /usr/share/fonts/zh_CN/TrueType
29: /usr/share/fonts/zh_TW/TrueType
30: /usr/share/AbiSuite/fonts

These are the font paths on my box. It shows that xfs looks into these
這些字體路徑在我的電腦上。它顯示當(dāng)它被修復(fù)的時(shí)候xfs觀察這些路徑尋找一個(gè)特殊的字體。
paths seeking a specific font when it is required. There are two types of
有兩種類型的重要文件:
important files: fonts.dir in each of these paths, and fonts.alias in some
fonts.dir在每一個(gè)路徑中,和fonts.alias在一些路徑中。
of the paths. For example, let's go to /usr/X11R6/lib/X11/fonts/100dpi,
例如,讓我們進(jìn)入/usr/X11R6/lib/X11/fonts/100dpi,
and open the files. The files look like this:
和打開文件。文件象這樣:

[fonts.dir]


775
UTI___14.pcf.gz -adobe-utopia-regular-i-normal--19-140-100-100-p-104-iso10646-1
UTBI__14.pcf.gz -adobe-utopia-bold-i-normal--19-140-100-100-p-109-iso10646-1
UTI___12.pcf.gz -adobe-utopia-regular-i-normal--17-120-100-100-p-89-iso10646-1
UTI___24.pcf.gz -adobe-utopia-regular-i-normal--33-240-100-100-p-179-iso10646-1
courO08.pcf.gz -adobe-courier-medium-o-normal--11-80-100-100-m-60-iso10646-1
UTBI__12.pcf.gz -adobe-utopia-bold-i-normal--17-120-100-100-p-93-iso10646-1
...

The first line specifies the number of fonts under current directory.
這第一行詳細(xì)說明字體的數(shù)量在當(dāng)前目錄。
Following lines map file names to font names.
以下幾行是字體文件的名字。

[fonts.alias]

lucidasans-bolditalic-8 -b&h-lucida-bold-i-normal-sans-11-80-100-100-p-69-iso8859-1
lucidasans-bolditalic-10 -b&h-lucida-bold-i-normal-sans-14-100-100-100-p-90-iso8859-1
lucidasans-bolditalic-12 -b&h-lucida-bold-i-normal-sans-17-120-100-100-p-108-iso8859-1
lucidasans-bolditalic-14 -b&h-lucida-bold-i-normal-sans-20-140-100-100-p-127-iso8859-1
lucidasans-bolditalic-18 -b&h-lucida-bold-i-normal-sans-25-180-100-100-p-159-iso8859-1
lucidasans-bolditalic-24 -b&h-lucida-bold-i-normal-sans-34-240-100-100-p-215-iso8859-1
...

This file maps font alias to font names. So it is clear that once font
這個(gè)文件顯示字體文件的別名與原名。因此清楚知道從前字體的“fixed”是需要的,
'fixed' is needed, the font server search fonts.alias in each font path
字體服務(wù)在比賽中尋找字體別名在每一字體路徑中。
for a match. If the match exists, the corresponding font file is specified
如果比賽是存在,那相應(yīng)的字體文件是指定在fonts.dir。
in fonts.dir. If no match exists, which is a rare situation, the X server
如果比賽不存在,那是非常罕見的情形,字體服務(wù)不可以運(yùn)行我們需要重建字體列表。
cannot start and we need to rebuild the font lists. The rebuilding process
這重建的過程
will generate new fonts.dir and fonts.alias files.
將會(huì)產(chǎn)生新的fonts.dir和fonts.alias文件。

3. Rebuild font list.
重建字體列表。

Font list can be rebuilt using the script file xfs under /etc/init.d.
運(yùn)用格本文件xfs在/etc/init.d下,字體列表可以被重建
Following is an excerpt of the script:
以下是格本文件的摘錄:

...
buildfontlist() {
pushd . &> /dev/null
for d in $(/usr/sbin/chkfontpath --list | cut -f 2 -d ':') ;do
if [ -d "$d" ]; then
cd $d
# Check if we need to rerun mkfontdir
NEEDED=no
if ! [ -e fonts.dir ]; then
NEEDED=yes
elif [ "$(find . -type f -cnewer fonts.dir 2>/dev/null)" != "" ];then
NEEDED=yes
fi
if [ "$NEEDED" = "yes" ]; then
...
}
...
start() {
if [ -L /usr/X11R6/bin/X ]; then
echo -n $"Starting $prog: "
[ -x /usr/sbin/chkfontpath ] && buildfontlist
rm -fr /tmp/.font-unix
daemon xfs -droppriv -daemon
ret=$?
[ $ret -eq 0 ] && touch /var/lock/subsys/xfs
echo
return $ret
fi
}
...

For readers not familiar with shell programming, this excerpt means that
因?yàn)樽x者不熟悉運(yùn)行命令程序,這格本文件的意思是每次xfs格本在運(yùn)行,
each time xfs script is run, it will check whether there is a fonts.dir
它將會(huì)檢查是否有fonts.dir在列表中的每一個(gè)字本路徑中。
file in each listed font path. If fonts.dir is missing in a path, font
當(dāng)fonts.dir在路徑中消失,字體列表需要重建。
list needs to be rebuilt. If a fonts.dir does exist for each path, it will
如果fonts.dir不存在于每一路徑中,它將會(huì)
check if the status of any file in the font directory is changed after the
檢查是否所有文件在字體目錄是被改變在fonts.dir最后一次改變。
last change of fonts.dir. If this is true, the font list also needs to be
如果這是真實(shí)的,字體列表也需要被重建。
rebuilt.

For newbies not interested in learning shell programming, we play a small
作為網(wǎng)絡(luò)新手是對學(xué)習(xí)命令不感興趣的,我們玩一個(gè)小竅門在子程序buildfontlist()。
trick in the subroutine buildfontlist(). We can set "NEEDED=yes" in the
我們可以設(shè)置"NEEDED=yes" 在第一情況下強(qiáng)制重建字體列表。
first instance to force the rebuilding of font list.

4. Fonts really missing?
字體確實(shí)不見了?

If all steps above fail. My last suggestion is to check if the font file
如果以上所有的步驟都失敗了。我的最后一個(gè)意見書是檢查是否字體文件
is really removed by some processes. Then you need to reinstall the font.
真正地被一些程序刪去。然后你們需要重新設(shè)置字體.'

到此,相信大家對“startx啟動(dòng)圖形界面失敗的解決方法有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI