1

我查看了所有网页,有一些很好的建议,但没有一个对我有用。Solaris sparc 盒,SunOS 5.10 Generic_120011-14 sun4u sparc SUNW,UltraAX-i2

这台机器安装了 openwin,并带有来自所有常用 X11 目录的符号链接。

xfs 正在运行并且所有字体目录都在那里,我运行了 mkfontdir 和 fc-cache 并且一切都正确地构建了索引,但是无论如何我都无法让它找到默认字体。(如果这确实是问题)我以 root 身份运行,没有帮助。

致命的服务器错误:无法打开默认字体“已修复”

有什么建议么?

4

4 回答 4

2

Solaris 10 4/08(更新 5)及更高版本中包含的 vncserver 默认情况下应正确设置所有字体路径。

对于其他版本的 vncserver/Xvnc:

  • 您可以使用 xfs,但不需要。如果您正在使用它,您可以将
    Xvnc 字体路径设置为类似 tcp/localhost:7100
  • X 服务器不使用 fc-cache 和 fontconfig 来查找字体,仅由
    X 客户端使用,因此它们无济于事
  • Solaris 10 下的 X11 字体目录位于 /usr/openwin/lib/X11/fonts 中,符号链接位于 /usr/X11/lib/X11/fonts 下 Solaris 10 捆绑的 Xvnc 服务器的默认 X11 字体路径为:/usr/ X11/lib/X11/fonts/TrueType/,/usr/X11/lib/X11/fonts/Type1/,/usr/X11/lib/X11/fonts/Type1/sun/,/usr/X11/lib/X11/ fonts/F3bitmaps/,/usr/X11/lib/X11/fonts/misc/,/usr/X11/lib/X11/fonts/100dpi/,/usr/X11/lib/X11/fonts/75dpi/

让 X 服务器找到“已修复”是一个多步骤过程,每一步都有可能出现问题,因此您应该检查所有这些:

  • 字体路径需要包含具有固定字体的目录:/usr/openwin/lib/X11/fonts/misc/(X 中的字体路径不是递归的,所以不能只列出 /usr/openwin/lib/ X11/fonts 并让它找到所有子目录)
  • /usr/openwin/lib/X11/fonts/misc/fonts.alias 列出了将短名称“固定”转换为完整 X11 字体名称的别名:

    固定“-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1”

  • /usr/openwin/lib/X11/fonts/misc/fonts.dir 列出了具有该全名的字体的文件名:

    7x13.pcf -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1

  • /usr/openwin/lib/X11/fonts/misc/7x13.pcf 存在并且是世界可读的

于 2009-02-04T14:58:08.957 回答
0

在 Linux 版本上设置 vnc 后,我自己也遇到了类似的问题。事实证明,启动 Xwindows 服务器的脚本没有正确的字体路径。一旦我修复它就可以了。

我不知道您使用的是什么版本的 vnc,但您可以尝试编辑 vncserver 脚本以包含字体的显式路径,看看是否有帮助。在我使用的版本(RHEL5 上的 TightVNC)中,有一部分脚本设置了为启动 vnc Xwindows 系统(Xvnc)而发出的确切命令。作为此设置的一部分,有一行(在我的当前版本中已注释掉)使用-fp标志设置字体路径。有问题的代码片段如下所示:

# Now start the X VNC Server

$cmd = "Xvnc :$displayNumber";
$cmd .= " -desktop " . &quotedString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles && ! $nohttpd);
$cmd .= " -auth $xauthorityFile";
$cmd .= " -geometry $geometry" if ($geometry);
$cmd .= " -depth $depth" if ($depth);
$cmd .= " -pixelformat $pixelformat" if ($pixelformat);
$cmd .= " -rfbwait 30000";
$cmd .= " -rfbauth $vncUserDir/passwd";
$cmd .= " -rfbport $vncPort";
$cmd .= " -pn";

# Add font path and color database stuff here, e.g.:
#
# $cmd .= " -fp /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
# $cmd .= " -co /usr/lib/X11/rgb";
#

设置字体路径的行在末尾的注释掉部分。您可以尝试在启动脚本中找到类似的部分,并明确设置字体的路径,看看这是否至少能让您摆脱致命错误。

于 2009-02-04T05:24:17.383 回答
0

在 Solaris 10 x86_64 update 7 (05/09) 上,我在 ESX 上作为 VM 安装时遇到了类似的问题。以下行能够纠正该问题:


mkfontdir "/usr/X11/lib/X11/fonts/TrueType/"
mkfontdir "/usr/X11/lib/X11/fonts/Type1/"
mkfontdir "/usr/X11/lib/X11/fonts/Type1/sun/"
mkfontdir "/usr/X11/lib/X11/fonts/F3bitmaps/"
mkfontdir "/usr/X11/lib/X11/fonts/misc/"
mkfontdir "/usr/X11/lib/X11/fonts/100dpi/"
mkfontdir "/usr/X11/lib/X11/fonts/75dpi/"
echo -e 'fixed "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1"' > /usr/openwin/lib/X11/fonts/misc/fonts.alias
于 2009-06-02T13:33:39.040 回答
0

PS:同时我发现我的安装ISO已损坏(MD5和不匹配)。安装中有一些包损坏。下载另一个 ISO 后,我的问题就消失了。

于 2009-09-03T14:18:22.970 回答