[基礎] 以 VNC 和 Raspberry Pi 連線

VNC 是一種使用 RFB 協定的螢幕畫面分享及遠端操作軟體。由於 VNC 與作業系統無關,因此可跨平台使用。如果我們需要和 Pi 做有圖形介面的連線,VNC 是首選。

這裡簡介如何在 Pi 上安裝設定 VNC 伺服器,並透過個人電腦以 VNC 用戶端連線到 Pi。

1. 在 Pi 上安裝 VNC 伺服器。

2. 在個人電腦安裝 VNC 用戶端。

3. 在 Pi 上啟動 vncserver。

如果是第一次執行 vncserver 時會問幾個問題,包括登入的密碼和可供其他人流覽的 read-only 密碼,而 read-only 密碼可以不設定。登入的密碼會加密後存在 ~/.vnc/passwd 檔案裡。

之後我們就可以透過 vncviewer 或是 gtkvncviewer 之類的軟體和 Pi 連線了。假設 Pi 的 IP 為 192.168.1.2。

如果要對 VNC 伺服器做更多設定,常用的參數有:
– 連線埠 (:$NUM):例如設定 :1 開啟的 port 為5901,:2 開啟的 port 為5902,依此類推,預設為 :1。
– 解析度(geometry):例如 640×480, 800×600, 1024×768 等,預設為 1024×768。
– 像素深度(depth):例如 8, 16, 24 等,這是指每個像素可顯示的位元數,預設為 16。

例如我們想設定 VNC 伺服器監聽 5902 這個埠號,當有用戶連線到 5902 後可開啟一個 640×480 BGR233的畫面。

如果使用 gtkvncviewer 連線,需要輸入 IP、port 和密碼,使用者名稱可任意輸入。

連線成功的畫面。

常見問與答:

1. 如何修改 VNC 伺服器的連線密碼?
我們可以用 vncpasswd 這個指令改 VNC 的連線密碼。

 

2. 我忘了設定 VNC 伺服器聽哪一個 port 了?
我們可以用 netstat 這個指令來查看目前系統開啟的 port。

-n :列出數字形式的連線地址
-u :列出 UDP 的連線
-t :列出 TCP 的連線
-l :正在進行 Listen (監聽)的服務之網路狀態
-p :列出 PID 與 Program 的檔名

我們也可以用 ps 這個指令查看目前系統執行的程序中。

– a :不和終端機 (terminal) 有關的所有程序
– u :所有有效使用者 (effective user) 的程序
– x :與 a 這個參數一起使用可列出完整資訊
– | grep vnc 表示只列出有包含 vnc 關鍵字的程序

 

3. 如何在開機時就啟動 VNC 伺服器?
在 /etc/init.d/ 下建立一個控制的腳本 (script),例如取名為 tightvncserver

內容如下,重要的是在 start) 部份設定啟動的參數。

修改腳本權限。

將該腳本加入預設的啟動程序。

執行結果如下。

如果不喜歡這 warning,就順便修改一下 mathkernel 的腳本吧。

根據 LSB 的規則將啟動資訊加到最前面。

重新啟動 Pi,再執行 netstat -nutlp 或是 ps aux | grep vnc,可以看到 VNC 伺服器已經跑起來了。

相關教學

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

補貨通知我 我們將會在商品到貨的時候通知您。請在下方留下有效的Email。
Email 數量 我們不會將你的Email 告知任何人。