二、FreeNX应用进阶
1. 使用KDE桌面
要远程连接到另一工作站,且选择 KDE 作为桌面,请执行以下操作:
从主菜单中启动 KNX 。
第一次登录时,您需要创建一个新连接。创建连接后,请:
在 KNX 客户机登录中,单击连接设置。
输入连接的名称,例如服务器的名称。
输入主机信息、端口号以及连接带宽。
在 Sessiontype 中,选择 UNIX/KDE 以启动 KDE 会话。
选择一个显示分辨率。
单击确定。 建立连接并且您的屏幕上出现远程连接后,您可以访问应用程序并使用远程计算机,就像坐在此计算机前一般。
说明:KDE,K桌面环境(K Desktop Environment)的缩写。KDE是一种著名的运行于UNIX以及Linux、FreeBSD等類Unix操作系统上面的自由图形工作环境,整个系统采用的都是TrollTech公司所开发的QT程序库。KDE和Gnome都是Linux操作系统上最流行的桌面环境系统。
2.使用GNOME 作为桌面
要远程连接到另一计算机,且选择,请执行以下操作:
通过 http://www.nomachine.com/download_client_linux.php从 NoMachine 下载并安装 nxclient 包。
从主菜单中启动 NX 连接向导。
在三个步骤中,输入连接名称、端口细节、主机细节以及连接类型,选择
会话类型 Unix/Gnome,确定是否在桌面上创建一个快捷方式,然后单击完成。
要连接到远程桌面,单击桌面上的 NX 快捷方式并提供用户名和口令,然后单击确定。
此时您的屏幕上出现远程桌面。
说明:GNOME 是一种支持多种平台的开发&桌面环境, 可以运行在包括GNU/Linux,Solaris,HP- UX,BSD和Apple's Darwin系统上. GNOME 拥有很多强大的特性, 如:高质量的平滑文本渲染, 首个国际化和可用性支持, 并且包括对反向文本的支持。
3. 配置使用客户密钥的 SSH 认证
上面介绍的配置的鉴定只依赖于用户名和口令凭证。要获得更安全的鉴定,您可以将 NX 配置为生成一对 SSH 密钥。此时客户密钥将从服务器计算机复制到要求能够连接到 NX 服务器的客户机。不存在此密钥的客户机不能在 NX 服务器上进行鉴定。只有 FreeNX 服务器/knx 客户机这一组合支持此功能。要对 NX 服务器进行配置,以使用此鉴定方式并生成适当的密钥对,请执行如下操作:
作为 root 用户登录到服务器计算机。
打开服务器的配置文件 /etc/nxserver/node.conf 并确保ENABLE_SSH_AUTHENTICATION 设置为 1(应为默认值)。
用以下命令安装服务器:nxsetup --install --clean --purge
调整对 /var/lib/nxserver/home/.ssh/authorized_keys2 的访问权限:chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2
注销重新启动计算机。
要对 knx(用于 KDE 会话) 进行配置以使用此密钥,请执行以下操作:
在服务器计算机上作为 root 用户登录。
将密钥文件复制到客户机上 knx 需要它的位置,用客户机地址替换client。
命令如下:scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/share/knx/
作为 root 用户登录到客户机。
如下所示调整访问权限:chmod 644 /usr/share/knx/client.id_dsa.key
注销重新启动计算机。
4.暂停和恢复 NX 会话
就像笔记本计算机上的会话那样,NX 同样可以配置为允许暂停和恢复用户会话。重新打开暂停的会话时,其状态与您离开它时完全相同。要配置 NX 会话的暂停和恢复,请执行如下操作:
以 root 用户登录。
打开服务器的配置文件 /etc/nxserver/node.conf 并作如下编辑:
ENABLE_PASSDB_AUTHENTICATION="0"
ENABLE_USER_DB="0"
ENABLE_AUTORECONNECT="1"
保存并退出配置文件,然后用 nxserver --restart 重启动服务器。
注销重新启动计算机。
说明:要在退出时暂停会话,请单击 NX 窗口右上角的 X 并选择暂停,以此暂停您的会话并退出客户机。重新连接时,系统会询问您是恢复旧会话还是启动新会话。
缺省情况下服务器开始根据 /etc/nxserver/node.conf 中的默认设置运行。任何用户都可以从另一台工作站远程连接此服务器。
5. 配置 PAM 认证
默认情况下,FreeNX 允许任何人打开 NX 会话,前提是服务器的用户数据库中存在此用户(本地方式或通过 LDAP目录、NIS服务器 等)。此行为由服务器计算机上/usr/bin/nxserver 中的 ENABLE_PAM_AUTHENTICATION 变量切换。此处的默认值为 1。将它设置为 0 可对 FreeNX 禁用以 PAM 为中介的用户鉴定(PAM_AUTH)。
如果 ENABLE_PAM_AUTHENTICATION 设置为 0,您需要手动添加用户和密码。要在服务器上添加本地 NX 用户,请执行以下操作:
作为 root 用户登录到服务器计算机。
请确保系统的本地用户数据库中存在要添加的用户,方法是检查 /etc/passwd 的内容。
对每个要添加的用户使用 nxserver --adduser 命令添加用户名。然后使用 nxserver --passwd 命令添加用户口令。
使用 nxserver --restart 重启动服务器并注销。
说明:Linux 在鉴定进程中使用 PAM(可插拔鉴定模块)作为用户和应用程序之间的中间层。PAM 模块在系统范围内可用,所以任何应用程序都可以请求这些模
块。本章介绍模块化鉴定机制的工作原理和配置方法。系统管理员和编程人员经常要将访问限制在系统的某些部分或限制对应用程序某些功能的使用。如果不使用 PAM,则每次引入新的鉴定机制(例如 LDAP 或SAMBA)时都必须对应用程序进行调整。但是,此过程相当耗费时间并且容易出现错误。避免这些缺点的一种方法是将应用程序从鉴定机制中分开并将鉴定委托给集中管理的模块。当需要使用最近所需的鉴定方案时,只要调整或编写合适的 PAM 模块供相关程序使用即可。
6. 配置自动运行任务并导出配置
FreeNX 提供 自动运行(Autostart)功能,允许您在启动或恢复 NX 会话时发起特定任务,前提是其应用程序支持启动和恢复属性。例如,您可以在启动 FreeNX 时自动清理桌面或执行其它 自动运行任务。当您重新连接会话时此功能会特别有用,即使您是从不同的 NX 客户机进行连接(在此客户机上不能使用标准的 KDE 或GNOME 机制)。
要对自动运行功能进行配置,请执行以下操作:
作为 root 用户登录到服务器计算机。
打开服务器的配置文件 /etc/nxserver/node.conf 并按如下所示编辑 NODE_自动运行变量,将 myprogram 替换为启动或恢复 NX 会话时应执行的程序:NODE_AUTOSTART=myprogram
保存并退出配置文件。
使用 nxserver --restart 命令重启动服务器并注销。
这样,每次启动或恢复会话时都会启动指定的程序。您也可以导出 NX_USERIP 和 NX_SESSIONID 变量以使它们在用户环境中也可访问。
应用实例:
例如,这样允许您在桌面上放置一个带有一般性内容的图标,访问用户瘦客户机上运行的 Samba 服务器。要使用户能够访问瘦客户机USB盘的内容,请执行以下操作:
在服务器端启用 NX_USERIP 和 NX_SESSIONID 变量的导出:
a 作为 root 用户登录到服务器。
b 打开服务器的配置 /etc/nxserver/node.conf 并设置以下变量:
EXPORT_USERIP="1"
EXPORT_SESSIONID="1"
c 保存并退出服务器的配置,然后用 nxserver --restart 命令重
启动服务器。
d 注销。
在客户机端,打开一个会话,通过 SMB 导出软盘驱动器,然后在桌面上
创建一个图标:
a 使用您的文件管理器(Nautilus 或 Konqueror)通过 Samba 导出软盘
驱动器的内容。
b 在 Desktop 目录下创建一个 usb.desktop 文件并输入如下一行:
Exec=smb://$NX_USERIP/usb
服务器会导出瘦客户机的 IP 地址,允许您使用 NX 会话中的USB图标访问瘦客户机的USB盘。
7.常见连接故障
*用户鉴定成功,但无法建立远程连接?
运行 knx 并发起会话后,knx 成功完成用户鉴定,但此时没有出现运行新会话的终端窗口,反而出现了类似下面的错误消息:
“Could not yet establish the connection to the remote proxy. Do you want to terminate the current session?”
服务器防火墙上未开启用于协商 NX 远程会话的高端口,因此连接失败。要调整服务器上的防火墙设置,查看iptables 手册页面(man iptables)。