我自己本人使用樹莓派,就是ssh連接操作;但是由於實施的部分同學不熟悉Linux命令行操作,雖然之前我給搞過teamviewer方式,但是對他們而言,還是有點復雜,他們也不喜歡不熟悉用ssh,所以我嘗試了一下,給他們搞了一下vnc,以后他們可以圖形化去操作,相對比較便捷。
在前面先把相關命令寫一下,有需要的直接復制一次性執行下去;
#安裝
sudo apt-get install tightvncserver -y
#設置密碼 vncpasswd #設置開機啟動 sudo vi /etc/init.d/tightvncserver
shell 腳本:
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop tightvncserver ### END INIT INFO # More details see: # http://www.penguintutor.com/linux/tightvnc ### Customize this entry # Set the USER variable to the name of the user to start tightvncserver under export USER='pi' ### End customization required eval cd ~$USER case "$1" in start) # 啟動命令行。此處自定義分辨率、控制台號碼或其它參數。 su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1' echo "Starting TightVNC server for $USER " ;; stop) # 終止命令行。此處控制台號碼與啟動一致。 su $USER -c '/usr/bin/tightvncserver -kill :1' echo "Tightvncserver stopped" ;; *) echo "Usage: /etc/init.d/tightvncserver {start|stop}" exit 1 ;; esac exit 0
sudo chmod 755 /etc/init.d/tightvncserver sudo update-rc.d tightvncserver defaults
#啟動vnc tightvncserver -geometry 800x600 :1 #停止vnc tightvncserver -kill :1 #查看vnc進程 ps ax | grep Xtightvnc | grep -v grep
--------------------------------------------------------------------
下面文章分兩部分來寫,前一部分是安裝配置vnc,后一部分簡要的使用;
一.安裝配置VNC
安裝VNC需要使用命令行。如果需要遠程操作安裝VNC,就必須通過SSH登錄到命令行界面。
1.安裝
樹莓派命令行:
sudo apt-get install tightvncserver
參考部分安裝信息:
lifeccp@raspberrypi:~/webapp/osprey/logs $ sudo apt-get install tightvncserver [sudo] password for lifeccp: Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: xfonts-base Suggested packages: tightvnc-java The following packages will be REMOVED: realvnc-vnc-server The following NEW packages will be installed: tightvncserver xfonts-base upgraded, 2 newly installed, 1 to remove and 188 not upgraded. Need to get 6,736 kB of archives. After this operation, 18.4 MB disk space will be freed. Do you want to continue? [Y/n] Y Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main tightvncserver armhf 1.3.9-6.5 [555 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main xfonts-base all 1:1.0.3 [6,181 kB] Fetched 6,736 kB in 17s (378 kB/s) (Reading database ... 121043 files and directories currently installed.) Removing realvnc-vnc-server (5.3.2.22164) ... (gconftool-2:5067): GConf-WARNING **: Client failed to connect to the D-BUS daemon: /usr/bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed. Processing triggers for hicolor-icon-theme (0.13-1) ... Processing triggers for shared-mime-info (1.3-1) ... Processing triggers for gnome-menus (3.13.3-6) ... Processing triggers for desktop-file-utils (0.22-1) ... Processing triggers for mime-support (3.58) ... Processing triggers for man-db (2.7.0.2-5) ... Processing triggers for gconf2 (3.2.6-3) ... Selecting previously unselected package tightvncserver. (Reading database ... 120970 files and directories currently installed.) Preparing to unpack .../tightvncserver_1.3.9-6.5_armhf.deb ... Unpacking tightvncserver (1.3.9-6.5) ... Selecting previously unselected package xfonts-base. Preparing to unpack .../xfonts-base_1%3a1.0.3_all.deb ... Unpacking xfonts-base (1:1.0.3) ... Processing triggers for man-db (2.7.0.2-5) ... Processing triggers for fontconfig (2.11.0-6.3+deb8u1) ... Setting up tightvncserver (1.3.9-6.5) ... update-alternatives: using /usr/bin/tightvncserver to provide /usr/bin/vncserver (vncserver) in auto mode update-alternatives: using /usr/bin/Xtightvnc to provide /usr/bin/Xvnc (Xvnc) in auto mode update-alternatives: using /usr/bin/tightvncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode Setting up xfonts-base (1:1.0.3) ...
2.密碼設置
安裝好之后,這里需要先使用此命令設置一個VNC密碼:
vncpasswd
參考部分安裝信息:
lifeccp@raspberrypi:~/webapp/osprey/logs $ vncpasswd Using password file /home/lifeccp/.vnc/passwd VNC directory /home/lifeccp/.vnc does not exist, creating. Password: Verify: Would you like to enter a view-only password (y/n)? y Password: Verify:
2.配置開機自動啟動
安裝vic之后,可以修改為開機啟動;
設置開機啟動,需要在/etc/init.d/中創建一個文件。例如tightvncserver:
(注:啟動腳本的名稱,有和程序名一致的習慣)
sudo vi /etc/init.d/tightvncserver
內容如下:(putty窗口中按右鍵=粘貼)
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop tightvncserver ### END INIT INFO # More details see: # http://www.penguintutor.com/linux/tightvnc # http://www.cnblogs.com/haochuang/ ### Customize this entry # Set the USER variable to the name of the user to start tightvncserver under export USER='pi' ### End customization required eval cd ~$USER case "$1" in start) # 啟動命令行。此處自定義分辨率、控制台號碼或其它參數。 su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1' echo "Starting TightVNC server for $USER " ;; stop) # 終止命令行。此處控制台號碼與啟動一致。 su $USER -c '/usr/bin/tightvncserver -kill :1' echo "Tightvncserver stopped" ;; *) echo "Usage: /etc/init.d/tightvncserver {start|stop}" exit 1 ;; esac exit 0
然后給tightvncserver文件加執行權限,並更新開機啟動列表。
sudo chmod 755 /etc/init.d/tightvncserver sudo update-rc.d tightvncserver defaults
二.使用VNC進行遠程連接
1.電腦登錄VNC
下載Windows客戶端RealVNC Viewer,參考百度雲盤:
登錄地址輸入“IP地址:控制台號碼”,0號控制台可不加號碼。
也可使用Android版VNC客戶端,下載地址:http://android.d.cn/software/19334.html
打開之后如下:
附:手工啟動與參數(以下用處不大,沒興趣請略過)
使用此命令手工啟動VNC服務器程序:
如果首次啟動,並且未曾使用vncpasswd命令設置密碼,程序會要求設置一個。
開機啟動很方便。如果不是處於重大型安全理由,那么不推薦手工啟動。
命令行參數說明:
一、控制台:
1、指定控制台的號碼。
啟動多個控制台,可以提供互不影響的多個桌面環境。(大多數人不用多用戶操作所以沒意義)
可以不加此參數,tightvncserver會自動尋找從1開始的下一個空閑控制台。
加上此參數,會強制使用指定的控制台,如果此控制台已經啟動則報錯。加此參數可有效防止無意多次啟動程序(會啟動多個控制台)白白浪費系統資源。
2、特殊的0號控制台
0號控制台就是連接真實顯示器真正輸出圖像的那個桌面。
對於VNC客戶端,不輸入端口號登錄,默認就登錄到0號控制台,方便。
但是因為0號是真正的桌面,所以和開機啟動桌面環境,或者自己用startx命令,都存在啰嗦的沖突。
到頭來是個麻煩。因此自動啟動的配置教程中,一律使用1號控制台。
二、-geometry 800×600,分辨率。可以不加。
終止VNC控制台:
tightvncserver -kill :1
查看正在運行的控制台列表:
ps ax | grep Xtightvnc | grep -v grep
(本文部分內容摘自:樹莓派實驗室 有根據實踐進行部分調整,也可參考:http://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html)