Opensuse

修復 FreeNX 設置中的版本字元串錯誤

  • October 29, 2012

在 OpenSUSE 12.1 上,我想安裝並執行 FreeNX 伺服器。OpenSUSE提供了有關以前版本的安裝說明,我可以將它們調整為 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一步,經過一些正常的警告(關於無法使用列印機之類的東西),安裝腳本給了我一個錯誤:

錯誤:找不到 1.5.0 或 2。

$$ 01 $$.0 或 3。$$ 0123 $$nxagent 中的 .0 版本字元串。NX 1.5.0 或 2。$$ 01 $$.0 或 3。$$ 0123 $$此版本的 FreeNX 需要 .0 後端。

我該如何解決這個錯誤?

我的解決方案採取了兩個步驟。我發現nxsetup腳本呼叫了nxloadconfig ( /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]而不是 just [0123])。

但是,即使我這樣做了,nxsetup仍然給了我同樣的錯誤。然後我開始調查腳本使用的字元串命令,最終發現我的系統上沒有字元串binutils包提供了strings命令,我必須從 OSS 儲存庫安裝它。

zypper in binutils

看起來 FreeNX 包錯過了一個依賴項,或者只是假設任何系統都應該有字元串,我發現情況並非如此。

引用自:https://unix.stackexchange.com/questions/53256