星期五, 11月 17, 2006

在學校的 MacOSX 上使用 VNC 控制家中的電腦

今 天到圖書館拿列印的文件,但是很該死的是又有一份文件被印到不見,所以就去圖書館的電腦區找機器來用一下。很不巧,所有的暈倒機都被佔用了,剩兩台 MacOSX 的機器沒人用。對我來說,MacOSX 雖然不常用,但也不至於沒辦法用,而且我主要是想要連上家裡的電腦查一篇文張的網址。本來想說 VNC viewer 應該各平台上都有,即使不是 TightVNC 也還好,最差可以用 Java VNC viewer。沒想到實際上開始找 VNC viewer 到找到並可以用,還是花了一些時間和傷了點腦筋。

首先,TightVNC 並沒有官方的 MacOSX 版,不過這個問題主要出在 TightVNC 的 Server。MacOSX 上,其實有非官方的 TightVNC, 不過必須要有 root 權限才能安裝。TightVNC 的 FAQ 中建議使用 Java viewer 即可。不過很不幸的,我使用的這台 Mac 上,似乎是因為 J2RE 版本的問題,導致 TightVNC 的 vncviewer.jar 執行之後無法正確完成使用者認證以及畫面傳輸。所以只好詢問 Google 看看有沒有不錯的 Mac 版的 VNC viewer。結果讓我找到了 Chicken of the VNC 這個 MacOS 的 VNC viewer 計畫。

Chicken of the VNC 的圖示是一隻可愛的雞在罐頭裡。Double click 之後,要選擇要連線的 server。基於安全性的理由,我當然是使用 ssh 的 port forwarding 功能來轉接,因此選 New Server 之後,填入 localhost 到 Host 欄位,Display 選 0,然後輸入密碼。結果....竟然無法連線?看了一下訊息,似乎是 MacOSX 自己的遠端桌面支援也是在 port 5900 的樣子,不然就是我之前測試 OSXvnc 時造成的結果。由於 MacOSX 我相對來說沒有那麼熟悉,所以一時間也不知道到底是出了什麼問題。不過山不轉路轉,既然 localhost:5900 不行,那就真的沒救了嗎?

其實問題沒有那麼嚴重,有 ssh 在手上,還會有什麼大問題呢?既然 5900 不行,那改轉接 5950 到遠端機器的 5900 不就好了嗎?那 VNC viewer 該怎麼設定呢?VNC 的 port 的算法,如果是使用 VNC viewer 的話,其實是以 TCP port 5900 為基底,5900 + Display 就是實際連線時使用的 port 了。因此 5950 代表必須使用 Display = 50 即可。

繞了一大圈,總算可以連上家裡的電腦。為了怕忘記,加上這邊嚴重缺水,所以就來記錄一下吧!

2 則留言:

匿名 提到...

您好,我透過chicken of the vnc使用macbook Leopard嘗試連去朋友家中的macpro Leopard時,可以連進去但螢幕會變的全黑無法顯示,即使朋友將解析調整成與我同樣的度數,卻仍是無法顯示畫面。
不知道您有無方法可解決此問題,嘗試mobile01或是冰果室、OIKOS等討論區皆無人寫出此問題,而且REMOTE連到TIGER的其他電腦都是正常的,設定也都相同,請大大若是有研究出結果也麻煩您告知,非常謝謝。
小弟仍在努力研究問題出在那裡>_<

Shang-Feng Yang 提到...

由於我自己沒有任何缺了一口的蘋果牌的機器可以做測試,我也實在不知道你的狀況是怎麼回事。不好意思啊...