2016/05/24

Raspberry Pi:VNC伺服器之TightVNC

試著在Raspbian(2016-05-10)上安裝TightVNC伺服器。

先更新套件清單並升級既有套件。
$ sudo apt-get update; sudo apt-get dist-upgrade -y

然後安裝TightVNC伺服器,
$ sudo apt-get install tightvncserver

然後執行,第一次執行時會要求你設定密碼,
$ tightvncserver

輸出訊息裡,會看到「:1」字樣,什麼意思呢?一般當你坐在rpi連接的實體螢幕前,所開啟的X視窗會是:0,而TightVNC伺服器會另開一個,所以是:1。

若想關閉的話,指令如下,

$ tightvncserver -kill :1

執行tightvncserver時,可加上參數,譬如-geometry 1024x768指定解析度,-depth 24指定顏色深度,-pixelformat rgb565等等。

若要修改密碼,指令是vncpasswd。

然後到另一台電腦,安裝VNC客戶端,譬如RealVNC Viewer,支援各種作業系統,如下所示。

根據你的作業系統,下載RealVNC Viewer,然後執行,輸入rpi的IP位址,記得加上「:1」。
輸入剛剛設定的密碼,
成功啦。
再介紹另一個客戶端,TightVNC Java Viewer,需要Java,下載後執行,輸入rpi的IP位址,若剛剛是:1,那麼Port應填入5901。若是:0,則Port應填入5900。
輸入密碼,
成功啦。
接下來要讓系統開機時自動執行TightVNC伺服器。參考文章Remote GUI access to a Linux computer using Tightvnc (systemd) - Linux tutorial from PenguinTutor

新增檔案,
$ sudo nano /etc/systemd/system/tightvncserver.service

內容如下:
[Unit]
Description=TightVNC Server
After=sshd.service

[Service]
Type=dbus
ExecStart=/usr/bin/tightvncserver :1
User=pi
Type=forking

[Install]
WantedBy=multi-user.target

更改擁有人與群組,更改檔案權限:
$ sudo chown root:root /etc/systemd/system/tightvncserver.service
$ sudo chmod 755 /etc/systemd/system/tightvncserver.service

手動啟動:
$ sudo systemctl start tightvncserver.service

手動停止:
$ sudo systemctl stop tightvncserver.service

開機時自動啟動,指令如下:
$ sudo systemctl enable tightvncserver.service

若想移除,指令如下:
$ sudo systemctl disable tightvncserver.service

8 comments:

  1. Anonymous3/10/16 10:57

    老師:請問 raspberry p2/p3
    sudo tightvncserver 後,RESET。一直都會進入登入畫面。常常發生。
    有解決之道。謝謝。

    ReplyDelete
    Replies
    1. 什麼登入畫面?

      看不懂你的問題。

      Delete
    2. 我也有同樣的問題
      在X登入介面pi帳號打入密碼後會黑屏大概兩秒後又在回到登入,然後無法進入桌面

      Delete
  2. 我也遇到相同問題 ,安裝完後reboot 會跳到打使用者帳密登入畫面 ,就算打上帳密後一樣無法登入 一直要求打帳密⋯

    ReplyDelete
    Replies
    1. 請再說清楚一點。

      Delete
    2. 遠端連線後,在遠端桌面執行shutdown rpi3,當再次開機rpi3時需要使者帳密來登入,就算帳密後輸入正確後,會再次要求輸入帳密。

      Delete
    3. 哦,我沒遇過耶。
      過兩天才有辦法試。

      Delete
    4. 嗯,我試了,無法重現耶。

      Delete