试图让vncserver在solaris上运行:致命的服务器错误:无法打开默认字体'fixed'

时间:2009-02-04 04:14:18

标签: solaris x11 vnc

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

该机器安装了openwin,其中包含来自所有常用X11目录的符号链接。

xfs正在运行,所有的字体目录都存在,我运行了mkfontdir和fc-cache,所有内容都正确构建了索引,但无论我怎么做都找不到默认字体。 (如果这真的是问题) 我以root身份运行,没有帮助。

致命的服务器错误: 无法打开默认字体'fixed'

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

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

对于其他版本的vncserver / Xvnc:

  • 您可以使用xfs,但不需要。 如果你正在使用它,你会有 它将Xvnc字体路径设置为 像tcp / localhost:7100
  • 之类的东西
  • fc-cache& X服务器不使用fontconfig来查找字体,只能通过
    X客户,所以他们不会帮助
  • Solaris 10下的X11字体目录 / usr / openwin / lib / X11 /用的字体 symlink在/ usr / X11 / lib / X11 / fonts下 默认的X11字体路径 Solaris 10捆绑的Xvnc服务器是: 的/ usr / X11 / LIB / X11 /字体/的TrueType /是/ usr / X11 / LIB / X11 /字体/类型1 /,/ USR / X11 / LIB / X11 /字体/类型1 /太阳/是/ usr / X11 / lib中/ X11 /字体/ F3bitmaps /是/ usr / X11 / LIB / X11 /字体/杂项/是/ usr / X11 / LIB / X11 /字体/ 100dpi的/是/ usr / X11 / LIB / X11 /字体/ 75dpi / < / LI>

对于X服务器来说,找到“固定”是一个多步骤的过程 可以在每一步中断,所以你应该检查所有这些:

  • 字体路径需要包含固定字体的目录:/ usr / openwin / lib / X11 / fonts / misc /(X中的字体路径不是递归的,所以你不能只列出/ usr / openwin / lib / X11 / fonts并让它找到所有子目录)
  • /usr/openwin/lib/X11/fonts/misc/fonts.alias列出将短名称“fixed”转换为完整的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存在且具有世界可读性

答案 1 :(得分: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";
#

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

答案 2 :(得分: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

答案 3 :(得分:0)

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