iT邦幫忙

DAY 28
5

現代環境下的 Linux 裡的新工具系列 第 25

連線到Linux遠端圖形界面的工具:VNC

Linux 的圖形界面 以前是 X-window,現在是 Xorg,過去要用遠端的圖形界面,另一端也必須是 X 的環境才能連,但現在有 VNC 這更方便的跨平台的方式提供遠端操作。

過去的不便
以往從 windows 要連遠端的 Linux 圖形界面,windows 必須這一端也是要用 X 的視窗環境,通常是會裝 Xming,使用方式可參考: Xming 簡易使用說明
優點是可指定某一個程式,就跳到 windows 端單單地執行;缺點是 X 只能對 X,卻不能去用 Windows 裡的東西。幸好有 VNC,各平台都有 server 端或 client 端,不管兩方是什麼作業系統就可連線操作。

安裝及設定VNC
不同Linux 版本先用搜尋 vnc 字樣,安裝所提供的 vnc 服務。
第一次先執行 vncpasswd 設定登入vnc時的密碼,這時會產生 ~/.vnc 及裡面相關檔案,其中要編輯這個 xstartup 檔,是一啟動 vnc 後,要執行哪些 X 環境的程式在 VNC 裡:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
XIM="SCIM”"
XIM_PROGRAM=scim
XIM_ARGS="-d"

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &

這裡是設定啟動 scim 為輸入法。

使用 VNC
在 windows 端用以下指令連上 Linux,同時透過ssh 的通道來傳VNC的資料。

putty -L 5901:localhost:5901 singernew@1.2.3.4

在Linux上鍵入:

$ vncserver :1

New 'mylinux:1 (singernew)' desktop is mylinux:1

Starting applications specified in /home/singernew/.vnc/xstartup
Log file is /home/singernew/.vnc/mylinux:1.log

就現 X 已啟動 :1 的連線裡,
這時候在windows裡執行 VNC 的 client,輸入 localhost:1

再輸入密碼

就會出現遠端 X 的:1 桌面

為何要建 ssh 通道方式使用VNC?
vncserver :1 這指令是把 VNC 開在 port 5901,如果在防火牆的iptables把5901打開,那windows端設連線的主機用 1.2.3.4:1 就可連上。但這個連線是未加密的。
所以server, client 兩邊的中間只有透過SSH來傳是比較安全,所以在 ssh 連線上會多加一些的參數設定。這樣也不需要防火牆做開port的動作。

VNC 實在是跨平台使用遠端圖形界面的方便工具。


上一篇
執行 swaks 快速測試 SMTP
下一篇
簡單又有型的系統監測工具:monitorix
系列文
現代環境下的 Linux 裡的新工具27

尚未有邦友留言

立即登入留言