- 須由系統管理員開啟「防火牆」上的埠,供 VNC 使用。
- 命令加上參數太長了,不是記不住,就是容易打錯字。
- 太長的命令列,完整打完需要點時間,不是很方便。
一、創造新的「短命令」取代「超長命令」
這裏所言的「超長命令」,實際上是參數太長,為了使某些命令的結果更完美,看著說明,將一個個參數加入命令列。最後的結果,是一長串也算不完幾個字的命令。要解決上述的第二、三個問題,可以將啟動個人化 VNC 服務的超長命令,用「短命令」取而代之(參考前文 “將常用的「命令 + 參數」合成「新命令」,方便執行”)。以前文中開啟個人化 VNC 服務為例。將原有命令以 myvnc 取代,
[SiB@Core-i7 ~]$ echo "vncserver :2605 -name \"[SiB @ Core-i7]\" -geometry 1280x950 -screen scrn 1280x950x24" > myvncs第一列命令是將一長串命令,存入文字檔 myvnc。第二列命令則將文字檔設定為具有執行能力。
[SiB@Core-i7 ~]$ chmod a+x myvncs
註:第一列命令中的兩個『 \" 』是讓寫入 myvnc 的字串中的 -name 後的標題名稱仍保有「雙引號」,才不會使 vncserver 誤認『 @ Core-i7]』是另一個參數,而造成錯誤。
二、利用 SSH 重導,不用開「防火牆」的埠
「防火牆」是現今電腦系統的必備防護機制,為了讓「遠端電腦」可直接以 VNC 連線服務,必須在「防火牆」上開個埠不可,加個埠、減個埠都要勞煩系統管理者幫你調整。說起來,還真是不方便。在前一陣子的發文中,有提過可以利用 SSH 的重導功能,使用原來的 SSH 埠,從「遠端電腦」藉由 SSH 的通道,連入 VNC 服務。如果,還要開好幾個埠,那個命令也是「超長命令」。那就再把這個「超長命令」用一個「新命令」取代,假設:SSH 的埠號為 5321,VNC 服務所在那部電腦的「網路位址」為 111.22.33.44 (此為虛構網址),將原有命令以 myssh4vnc 取代,
[SiB@Celeron-D ~]$ echo "ssh 111.22.33.44 -p 5321 -l SiB -L 8888:127.0.0.1:8505" > myssh4vnc第一列命令是將一長串命令,存入文字檔 myssh4vnc。第二列命令則將文字檔設定為具有執行能力。
[SiB@Celeron-D ~]$ chmod a+x myssh4vnc
三、使用 SSH 通道做 VNC 連線
使用 SSH 通道做 VNC 連線,也可以用短的「新命令」取代,[SiB@Celeron-D ~]$ echo "vncviewer 127.0.0.1:8888 -NoJPEG" > myvncv第一列命令是將一長串命令,存入文字檔 myvncv。第二列命令則將文字檔設定為具有執行能力。
[SiB@Celeron-D ~]$ chmod a+x myvncv
注意:上面的例子中,合成的「新命令」分屬兩部電腦。執行時,也分別在兩部電腦中。
已測試版本:
- Fedora: 14, 17
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)