在 OpenSUSE 12.1 上,我想安装并运行 FreeNX Server。开放SUSE已提供说明关于以前版本的安装,我可以在一定程度上将它们调整为12.1。
我已采取以下步骤:
zypper ar http://download.opensuse.org/repositories/X11:/RemoteDesktop/openSUSE_12.1 RemoteDesktop
zypper ref
zypper in FreeNX
mkdir /usr/lib64/cups/backend/ipp
nxsetup --install --setup-nomachine-key
我没有遇到 OpenSUSE 说明页面列出的许多问题,所以我不需要采取这些步骤。
然而,在这nxsetup
一步中,在出现一些正常警告(关于无法使用打印机之类的警告)之后,安装脚本给了我一个错误:
错误:在 nxagent 中找不到 1.5.0 或 2.[01].0 或 3.[0123].0 版本字符串。此版本的 FreeNX 需要 NX 1.5.0 或 2.[01].0 或 3.[0123].0 后端。
我该如何解决这个错误?
答案1
我的解决方案需要两个步骤。我发现NX安装程序脚本调用NX加载配置( /usr/bin/nxloadconfig
) 脚本,由于第 675 行的条件而失败:
[ -z "$(strings $COMMAND_NXAGENT | egrep 'NXAGENT - Version 1.5.0|NXAGENT - Version 2.[01].0|NXAGENT - Version 3.[0123].0')" ] && \
WARNING="yes" && echo "Error: Could not find 1.5.0 or 2.[01].0 or 3.[0123].0 version string in nxagent. NX 1.5.0 or 2.[01].0 or 3.[0123].0 backend is needed for this version of FreeNX."
首先,我的应用程序中的目标字符串nxagent
具有 text NXAGENT - Version 3.4.0
,因此脚本正确报告,它无法在所需范围内找到版本字符串。所以,来自另一个论坛,我更新了脚本以在搜索中包含版本 3.4.0 和 3.5.0(更新了 grep 表达式以包含[012345]
而不仅仅是[0123]
)。
但是,尽管我这样做了,NX安装程序仍然出现同样的错误。然后我开始调查字符串脚本使用的命令,最终发现我没有字符串在我的系统上。这二进制工具包提供了字符串命令,我必须从 OSS 存储库安装它。
zypper in binutils
看起来 FreeNX 包错过了一个依赖项,或者只是假设任何系统都应该有字符串就它而言,我发现事实并非如此。