下面幾節將介紹一些會用於更複雜 NX 使用情況下的進階功能。
設定於 節 15.1, "NX 入門" 驗證只跟使用者名稱和密碼等證明有關。如需更安全的驗證方式,NX 可以設定成產生一組 SSH 金鑰對。接著,從伺服器機器將用戶端金鑰複製到任何會連線到此 NX 伺服器的用戶端。沒有出現這份金鑰的用戶端無法通過 NX 伺服器的驗證。這項功能只支援 FreeNX server/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 使用這份金鑰,請依照下列程序執行:
登入成此伺服器機器的 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
登出。
依預設,FreeNX 允許任何人開啟 NX 會期,條件是該使用者必須出現在伺服器 (本地或透過 LDAP、NIS 等方式) 的使用者資料庫中。您可以在伺服器機器上,使用 /usr/bin/nxserver 的 ENABLE_PAM_AUTHENTICATION 變數來切換這個行為。這個變數的預設值是 1。將這個值設定成 0 便可為 FreeNX 停用透過 PAM 中介的使用者驗證 (PAM_AUTH)。
如果 ENABLE_PAM_AUTHENTICATION 是設定成 0,您就必須手動加入使用者和密碼。若要在伺服器上加入本地 NX 使用者,請依據下列步驟執行:
登入成此伺服器機器的 root 使用者。
Make sure that any user to add exists in the system's database of local users ,檢查 /etc/passwd 的內容或是使用 YaST 使用者管理模組,確定任何要加入的使用者有出現在系統的本地使用者資料庫中。
對於每位要加入的使用者,使用 nxserver --adduser 指令來加入使用者名稱。然後,使用 nxserver --passwd 指令來加入該使用者的密碼。
使用 nxserver --restart 指令重新啟動此伺服器,然後登入。
FreeNX 伺服器的行為可經由 /etc/node.conf 控制。您可以執行全域 NX 伺服器組態,或是透過使用者特定組態來執行伺服器。如果要讓多位不同使用者依據不同需求在相同機器上執行 NX,這個功能就可派上用場。
下面這個範例會假設使用者joe 希望在他開啟 NX 會期時,NX 能夠盡快自動啟動特定的應用程式。若是只要為這名使用者啟用這種行為,請依據下列步驟執行:
登入為 root 使用者。
輸入 /etc/nxserver 目錄:
cd /etc/nxserver
在相同目錄的 joe.node.conf 下儲存 NX 伺服器組態檔案的副本 (node.conf)。
在 joe.node.conf 中編輯適當參數 (NODE_AUTOSTART 和 ENABLE_AUTORECONNECT)。如需這些功能的詳細資訊,請參閱節 15.2.5, "設定自動啟動任務和匯出組態"和節 15.2.4, "暫停和繼續 NX 會期"。
重新安裝 NX 伺服器來啟動新組態:
nxsetup --install --clean --purge --setup-nomachine-key
這時使用者特定組態就會覆寫全域組態。
登出。
您也可以透過行動電腦執行會期,來設定 NX 進行暫停和繼續使用者會期。暫停會期會重新開啟成上次離開時的相同狀態。
若要設定暫停和繼續執行 NX 會期,請依照下列步驟執行:
登入為 root 使用者。
開啟伺服器的組態檔案 /etc/nxserver/node.conf,然後編輯如下:
ENABLE_PASSDB_AUTHENTICATION="0" ENABLE_USER_DB="0" ENABLE_AUTORECONNECT="1"
儲存並關閉此組態檔案,然後以 nxserver --restart 指令重新啟動伺服器。
登出。
若要在結束時暫停會期,請在 NX 視窗的右上角按一下 ,然後選取來暫停會期,並結束此用戶端。當重新連線時,系統會詢問您要繼續該舊會期、或是啟動全新會期。
FreeNX 會提供可在啟動或繼續 NX 會期時啟動特定任務的自動啟動 (Autostart) 功能,條件是底下應用程式必須支援 start 和 resume 內容。例如,您可以在啟動 FreeNX 時自動清除桌面、或是執行其他自動啟動任務。這項功能在您重新連結會期時 (甚至是從不同 NX 用戶端,也就是您不能在此時使用標準 KDE 或 GNOME 機制) 特別有用。
若要設定自動啟動功能,請執行下列步驟:
登入成此伺服器機器的 root 使用者。
開啟伺服器的組態檔案 /etc/nxserver/node.conf,並編輯 NODE_AUTOSTART 變數成下列設定,同時將 myprogram 取代成要在啟動或繼續 NX 會期時執行的程式:
NODE_AUTOSTART=myprogram
儲存並結束此組態檔案。
使用 nxserver --restart 指令重新啟動此伺服器,然後登入。
從這時開始,此指定程式就會在每次啟動或繼續會期時啟動。
您也可以匯出 NX_USERIP 和 NX_SESSIONID 變數,以便在使用者環境存取這些變數。舉例來說,這樣就可以在提供一般內容的桌面上放置圖示,或是存取正在使用者精簡電腦上執行的 Samba 伺服器。若要提供使用者存取該精簡電腦上的軟碟內容,請依照下列步驟執行:
啟用將 NX_USERIP 和 NX_SESSIONID 變數匯出到伺服器端:
登入成此伺服器的 root 使用者。
開啟伺服器的組態檔案 /etc/nxserver/node.conf,然後設定下列變數:
EXPORT_USERIP="1" EXPORT_SESSIONID="1"
儲存並關閉此伺服器組態檔案,然後以 nxserver --restart 指令重新啟動伺服器。
登出。
在用戶端上開啟會期、透過 SMB 匯出軟碟,並在桌面上建立圖示。
透過 Samba 來使用檔案管理員 (Nautilus 或 Konqueror) 匯出軟碟。
在 Desktop 目錄中建立 floppy.desktop 檔案,並輸入下列指令行:
Exec=smb://$NX_USERIP/floppy
這樣伺服器就會匯出精簡電腦的 IP 位址,讓您可以在 NX 會期中使用該軟碟圖示來存取此精簡電腦的軟碟。
NX 伺服器鏈結可以讓您穿越 (Traverse) 防火牆和處理 IP 偽裝 (masquerading)。外部「閘道」伺服器可用來將收到連線轉遞給躲在防火牆 (偽裝) 後面的內部伺服器。
若要設定 NX 伺服器鏈結,請依照下列步驟執行:
依據節 15.2.1, "使用用戶端金鑰設定 SSH 驗證"所述步驟來設定內部伺服器,並將伺服器的私密金鑰 (client.id_dsa.key) 散發給閘道上的 /usr/NX/share/。
在閘道伺服器上,依照下列步驟執行:
登入為 root 使用者。
在 /etc/nxserver/node.conf 中設定下列變數,並將 myinternalhost 取代成內部 NX 伺服器的 IP 位址:
ENABLE_SERVER_FORWARD="1"
SERVER_FORWARD_HOST="myinternalhost"
SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"使用 nxserver --restart 指令來重新啟動此外部伺服器並套用已變更的組態,然後登出。
這樣任何收到的連線都會轉遞到該內部伺服器。
您可以在相同機器上安裝並執行 FreeNX 和商用 NoMachine NX 伺服器,而不會發生任何干擾。這個動作是由 FreeNX 執行,它會將連線轉遞給安裝在相同機器上的 NoMachine。
若要啟用這項功能,請依照下列步驟執行:
登入成此伺服器機器的 root 使用者。
開啟伺服器在 /etc/nxserver/node.conf 下的 FreeNX 組態檔案,然後設定下列變數:
ENABLE_NOMACHINE_FORWARD="1"
儲存這個檔案,然後使用 nserver --restart 指令來重新啟動 FreeNX 伺服器。
登出。
若要連線到 NoMachine 伺服器,請使用標準的使用者名稱和密碼證明。若要連線到 FreeNX 伺服器,請將 freenx. 加到一般使用者名稱前面 (例如,freenx.joedoe),然後使用慣用密碼。