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 服务器的锁文件:

      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 入门”中的说明进行的操作。