15.3. 疑難排解

下面幾節內容會指出在使用 FreeNX 時最常遇到的一些問題,同時提供解決這些問題的可能方法。

15.3.1. knx 在嘗試建立連線時擱置

您正在嘗試使用 knx 建立 NX 伺服器連線。在啟始連線時,knx 無法驗證使用者,因此沒有啟動任何遠端會期。

若要判斷這個問題的發生原因以及解決方法,請依據下列步驟來執行:

  1. 檢查該伺服器機器上是否正在執行 Novell AppArmor,並依據節 15.3.2, "無法建立 NX 伺服器連線"所述步驟執行。

  2. 重新嘗試建立 knx 和伺服器之間的連線。

  3. 檢查用戶端的防火牆是否允許 SSH 交通,這項檢查步驟是先啟動 YaST 防火牆模組,接著檢查外部區域允許的服務中是否有列出 SSH。如果 SSH 尚未啟用,請啟用它。

  4. 在伺服器端上核取 SSH 和節 15.1, "NX 入門"所列 NX 連接埠的防火牆。如果這些連接埠之前是關閉的,請開啟它們。

  5. 重新嘗試建立 knx 和伺服器之間的連線。

  6. 登入成為伺服器的 root 使用者,然後依據下列步驟執行:

    1. 輸入 /tmp 目錄,然後檢查 NX 伺服器的鎖定檔案 (lock file):

      cd /
      ls -ltr .nX*
    2. 如果其中還出現任何舊有的鎖定檔案,請移除它們。

    3. 登出。

  7. 重新嘗試建立 knx 和伺服器之間的連線。

  8. 在用戶端機器上,使用 YaST 軟體管理模組來刪除並重新安裝 knx 用戶端。

    現在您應該可以連線到此伺服器,條件是您必須依照上述所有指示步驟執行。

15.3.2. 無法建立 NX 伺服器連線

您在啟動 knx 和啟始連線之後收到下列錯誤訊息:

Connection to NX server could not be established. Connection timed out.

若要判斷這個問題的發生原因,請依照下列步驟執行:

  1. 登入成此伺服器的 root 使用者。

  2. 檢查如下所示項目的 dmesg 指令輸出:

    SubDomain: REJECTING r access to /var/lib/nxserver/home/.ssh/authorized_keys2 (sshd(31247) profile /usr/sbin/sshd active /usr/sbin/sshd)
    

    這個項目指出正在伺服器上執行的 Novell AppArmor 不允許 ssh 精靈存取某些 NX 特定檔案。

  3. 停止伺服器機器上的 AppArmor

    或者

    將 sshd 設定檔設定成學習模式,並為現有設定檔新增存取 NX 檔案的許可權。如需更多關於這點的詳細資訊,請參閱《Novell AppArmor 2.0 管理指南》。

  4. 重新連線到此伺服器。

15.3.3. 使用者驗證成功,但是沒有建立遠端連線

當您執行 knx 並啟始會期之後,knx 會成功驗證使用者、但是沒有開啟新會期的終端機視窗,而且您在此時收到如下所示的錯誤訊息:

Could not yet establish the connection to the remote proxy. Do you
    want to terminate the current session?

這個連線失敗的原因,是因為伺服器防火牆沒有開啟用來協商 NX 遠端會期的較高號碼連接埠。若要調整伺服器的防火牆設定,請依據節 15.1, "NX 入門"所述步驟執行。