Opensuse
修復 FreeNX 設置中的版本字元串錯誤
在 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
應用程序中的目標字元串包含 textNXAGENT - Version 3.4.0
,因此腳本正確報告,它無法在所需範圍內找到版本字元串。因此,從另一個論壇,我更新了腳本以在搜尋中包含 3.4.0 和 3.5.0 版本(更新 grep 表達式以包含[012345]
而不是 just[0123]
)。但是,即使我這樣做了,nxsetup仍然給了我同樣的錯誤。然後我開始調查腳本使用的字元串命令,最終發現我的系統上沒有字元串。binutils包提供了strings命令,我必須從 OSS 儲存庫安裝它。
zypper in binutils
看起來 FreeNX 包錯過了一個依賴項,或者只是假設任何系統都應該有字元串,我發現情況並非如此。