2007年1月2日

新NX 使用心得

2007年到了,在2007年的開始第一天,我做了什麼?

我把我的MythTV重新裝了幾次,因為之前的160G硬碟損毀(過熱),雖然上面沒有影片、沒有MP3,但是上面有之前的所有過程設定檔,一切都要重新來過..... :(

另一方面,也很幸運的把NX的遠端聲音播放弄出來了,加上之前網路分享測試過的,NX的幾個重要機能都try出來了,下面是加入聲音播放的使用心得。

====================================================
NX 使用心得:

NX 是由 NoMachine 這家公司推出的技術,
NoMachine 很大方的將它們的核心技術 NX 以 GPL 的方式開放,
而 FreeNX 則是網路上 OpenSource 社群以 NX 技術為基礎開發的 OpenSource 程式,
目前來說,NoMachine 和 RealVNC 類似,有提供一個免費的版本供人使用,
而 FreeNX 和這個版本相比,目前差異性並不大,
而且網路上的教學,大部分的說明在安裝 FreeNX 的同時,
也是要裝這版免費版,以取得其中的核心 NX 技術來用。

而我自己的使用上,FreeNX 是不會動的,
而 NX Free Editor 則運作順利,且異常容易安裝,
讓我還以為是不是有什麼陷阱.... :p

NX 在 Debian 上得安裝十分容易,
我這邊簡單列出步驟,詳細就不說了~~

1.下載 NX Free Editor 的 NX Server
下載 NX Node
下載 NX Client
上述的 Linux Debian deb 版本

2.依序安裝 NX Client -> NX Node -> NX Server,
在安裝時,會說有相依套件沒裝,此時不用擔心,直接進 aptitude,
接著按「g」,它就會自動把相依套件裝上去

3.設定 /usr/NX/etc/node.cfg,加入
AGENT_EXTRA_OPTIONS_X = "-fp /usr/share/fonts/X11/misc"

原因是,現在的 Debian 在 testing 或 unstable 都已經是 X11R7 了,
對字型的目錄已經改過了,這邊需要指定字型目錄,我是隨便找個字型目錄,
可以用了我就沒在意差異性了~~~

4.按照網頁
http://www.lxnaydesign.net/index.php?option=com_content&task=view&id=92&Itemid=2

解說來進行修改,不然會造成在 X-win 當中,鍵盤完全沒反應(本機、NX 均是),這是 NX 的 bug~~

5.輸入法問題設定
輸入法問題,還是得用 script 的老方法來解決,解法和 VNC 極為雷同,
在 /usr/NX/bin/ 編寫兩個 script 檔,用來對應到 KDE 和 GNOME 的啟動,分別如下:

/usr/NX/bin/KDE.sh
=============================================================
#!/bin/tcsh

setenv LANG zh_TW.UTF-8
setenv XMODIFIERS "@im=SCIM"
setenv GTK_IM_MODULE "xim"
/usr/bin/scim -d
/usr/bin/dbus-launch --exit-with-session startkde
=============================================================

/usr/NX/bin/GNOME.sh
=============================================================
#!/bin/tcsh

setenv LANG zh_TW.UTF-8
setenv XMODIFIERS "@im=SCIM"
setenv GTK_IM_MODULE "xim"
/usr/bin/scim -d
/usr/bin/dbus-launch --exit-with-session gnome-session
=============================================================

寫好之後,變更 script 檔權限,如下:
chmod 755 /usr/NX/bin/*.sh

再來修改設定檔 /usr/NX/etc/node.cfg,如下:


COMMAND_START_GNOME="/usr/bin/dbus-launch --exit-with-session gnome-session"

改為
COMMAND_START_GNOME="/usr/NX/bin/GNOME.sh"


COMMAND_START_KDE="/usr/bin/dbus-launch --exit-with-session startkde"

改為
COMMAND_START_KDE="/usr/NX/bin/KDE.sh"

即可。

PS:
/usr/bin/dbus-launch 的作用是,它類似 WindowsXP 的登入管理員,讓你下次登入時,恢復上次執行的 session。

==================================================================
(2006-09-02)
因為之前用 VNC,把 Port Map 對應到 5901,
在不希望變更設定的前提下,
打算變更 NX 的連接埠設定,
要怎麼改呢?

基本上,NX 使用 SSH 來進行連接,
因此 NX 只會使用「1個」連接埠,
而預設,這個連接埠是 22,
要變更設定,有一點要注意,
那就是 OpenSSH 也要更改,因為 NX 的 SSH 是相依在 OpenSSH 上的。

下面是設定:

1.新增 SSH連接埠 5901
/etc/ssh/sshd_config
=============================================
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
...

改為
# What ports, IPs and protocols we listen for
Port 22
Port 5901
# Use these options to restrict which interfaces/protocols sshd will bind to
...

=============================================

2.修改 NX 的 連接埠 的相關設定,
原則上就是改
/usr/NX/etc/server.cfg
/usr/NX/etc/node.cfg

裡面所有的 22,並把它改為 5901,
這邊要注意的是,改完之後,有註解的要把它拿掉。

改成如下:
/usr/NX/etc/server.cfg
=============================================
....
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHD_PORT = "5901"
....
#
# Specify the TCP port where the SSHD daemon is running on the NX SSH
# authentication server.
#
SSHD_AUTH_PORT = "5901"
....
=============================================

/usr/NX/etc/node.cfg
=============================================
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHD_PORT = "5901"
=============================================

3.重新執行 OpenSSH 和 NX
/etc/init.d/ssh restart
/etc/init.d/nxserver restart

或者心情不好,重新開機也可以~~

即可~~

2007-01-01
==================================================================
新的一年有新的趣味~~


NX 的媒體播放終於測試出來了~~

NX 的影像一開就會放了,但是聲音始終出不來,NX 的聲音怎麼設定?

NX 的聲音部份是使用 esd,也就是 ESounD 這套混音系統,
ESounD 的主要功能是讓 Linux 上多個應用程式能夠同時使用音效卡裝置,
所有的作業系統,通常都只會有一個音效裝置,
要讓一個音效裝置同時給多個程式使用,就需要一個音效系統(混音系統),
因此 Linux/FreeBSD 在幾年前,同時只能有一個程式播放音樂或音效,
這樣的問題和早期 DOS 時代一樣,當進入 KDE/GNOME 後,
因為桌面環境的需要,開始了幾個音效系統的開發,
ESounD(簡稱 ESD 或 esd) 和 aRts 就是兩套當時開始的音效系統,
這類音效系統主要的工作是將所有要播放的聲音進行混音後播放,
因此稱作混音系統~~~

而目前較有名的音效驅動程式有 ALSA 和 OSS,
OSS 是商業的驅動程式,早期提供的很多音效驅動程式都只能試用,
後來逐步開放使用,
ALSA 則是因應 OSS 的發展,開發的 OpenSource 的音效驅動程式,
ALSA/OSS 和 ESounD/aRts 的關係是,ALSA/OSS 提供驅動程式驅動音效卡裝置,
而 ESounD/aRts 則負責讓多個應用程式同時使用 ALSA/OSS。

不過目前的 ALSA 已經很強了,ALSA 本身也內建了混音系統,
儘管說 ALSA 的混音系統聽說不是很好,不過不知道這新聞是多久前的,
一般來說使用上是還ok.......

NX 的多媒體功能,是以 ESounD 為基礎,也就是說,
只要 Linux 能支援 ESounD,NX 就可以遠端聽到聲音,
在現在的 GNOME 上,要開啟 ESounD,
只需要在「桌面->偏好設定->音效」,
在「啟用軟體混音[ESD]」和「播放系統音效」上打勾即可。

而要注意的是,在使用播放軟體時,要注意播放軟體是否支援 ESD,
通常是在安裝套件時會發現,有特別分出 -esd、-alsa、-oss、-arts,
以 vlc 為例,vlc 就有 vlc-plugin-esd、vlc-plugin-arts....等。
================================================

7 則留言:

lksnote 提到...

這篇文章真的很有用。謝謝
我想請問阿呆你有試過在KDE下使用NX的
ESD音效嗎?
我在系統設定->多媒體那沒有看到的說

之前在ubuntu 8.04下很容易就可以有聲音了(同一台電腦)。

還有在以前用ubuntu 8.04時
NX選項Multimedia啟動的話會有影片畫面但就沒聲音(雖然我用不到)

我只希望能在Kubuntu 9.04下有聲音就好T_T

阿呆 提到...

不好意思~KDE下我沒有試過esd。

不過要讓KDE支援ESD,可能要另外下指令啟用esd,因為KDE預設使用的混音系統是aRts,記得它和esd好像是衝突的。

Heart 提到...

請問一下,我使用NX也有鍵盤無法使用的問題,您說這是NX的bug,需要修改
不過,您提供的網站,
http://www.lxnaydesign.net/index.php?option=com_content&task=view&id=92&Itemid=2
我無法連進去ㄟ,他要求帳號密碼...
請問可否直接教導如何修改呢?
謝謝~

阿呆 提到...

那我可能也得再找找了,因為我好陣子沒遇過keyboard鎖住的問題,所以我自己也忘了怎麼改... = =

Heart 提到...

那就麻煩你在幫我找找了!我也會自己努力找尋解決的方法,謝謝!

Yeh 提到...

請問一下,若要讓server的其它user使用,需要其他設定嗎?
因為目前只有一個user可以使用NX來連線,其他user都沒辦法,真不知道是為什麼耶...
謝謝你 !!

阿呆 提到...

抱歉~上班了比較忙,比較沒時間照顧blog。 :~~~

NX有分免費版和付費版本,NoMachine網站下載到可以免費使用的是免費版,這個版本允許「同時2個人登入」,所以沒辦法讓很多人使用。

NX要多人使用除了購買它的付費版本外,還有一個選擇,就是找FreeNX來使用,FreeNX是以NX為核心開發的OpenSource專案,因為NX只提供了Linux、Solaris少數幾個平台,其他像FreeBSD就沒提供binary,另外它的免費版有2個人的限制,所以就有人拿他的核心來包裝,變成OpenSource的版本。
我個人以前裝過FreeNX,但沒裝成功,FreeNX的功能比NX少一些,印象中多媒體的遠端播放不行、檔案和印表機分享好像還在測試中,不過FreeNX支援多人,且沒有人數限制,又在很多平台都有支援,缺點除了上面幾個功能沒有外,就是不好設定。
如果有多人使用的需求,也許可以試試看FreeNX。