next up previous contents
Next: NOVNC index.html Up: NOVNC Previous: View-Only-不可行   Contents

View-Only-可行

  1. 只修改網頁成 view-only 模式,無法滿足分享桌面但不允許操作的目標。即使在 tigervnc-server 的設定檔中新加入一個使用不同密碼的 view only 桌面,也無法設定成相同桌面,為解決此問題,以下方法實為一可行且方便的方式。
  2. 設定 /etc/sysconfig/vncservers,建立 kvm6 帳號的分享桌面,埠號為 5900+3=5903
    [root@dywftp ~]# tail /etc/sysconfig/vncservers 
    VNCSERVERS="2:dywang 3:kvm6"
    VNCSERVERARGS[2]="-geometry 1024x768 -depth 16"
    VNCSERVERARGS[3]="-geometry 1280x800 -depth 16"
    
  3. 重新啟動 vncserver
    [root@dywftp ~]# /etc/init.d/vncserver restart
    Shutting down VNC server: 2:dywang 3:kvm6                  [  OK  ]
    Starting VNC server: 2:dywang 
    New 'dywftp:2 (dywang)' desktop is dywftp:2
    
    Starting applications specified in /home/dywang/.vnc/xstartup
    Log file is /home/dywang/.vnc/dywftp:2.log
    
    3:kvm6 
    New 'dywftp:3 (kvm6)' desktop is dywftp:3
    
    Starting applications specified in /home/kvm6/.vnc/xstartup
    Log file is /home/kvm6/.vnc/dywftp:3.log
                                                               [  OK  ]
    
  4. 檢查 vncserver 開啟的埠號。
    [root@dywftp ~]# netstat -tlunp | grep 590
    tcp        0      0 127.0.0.1:5900              0.0.0.0:*                   LISTEN      21895/qemu-kvm      
    tcp        0      0 0.0.0.0:5902                0.0.0.0:*                   LISTEN      3125/Xvnc           
    tcp        0      0 0.0.0.0:5903                0.0.0.0:*                   LISTEN      3189/Xvnc
    
  5. 在開機自動執行檔加入 websockify 連結,埠號 6081 連結到 163.17.10.3:5903,埠號 6082 連結到 163.17.10.3:5904,雖然 5904 埠號還未啟動,但還是先做 websockify 的連結。
    [root@dywftp ~]# tail -n3 /etc/rc.local 
    websockify --web /usr/share/novnc 6080 163.17.10.3:5902 -D
    websockify --web /usr/share/novnc 6081 163.17.10.3:5903 -D
    websockify --web /usr/share/novnc 6082 163.17.10.3:5904 -D
    
  6. 啟動 websockify 連結。
    [root@dywftp ~]# pkill websockify 
    [root@dywftp ~]# sh /etc/rc.local 
    WebSocket server settings:
      - Listen on :6080
      - Flash security policy server
      - Web server. Web root: /usr/share/novnc
      - No SSL/TLS support (no cert file)
      - Backgrounding (daemon)
    WebSocket server settings:
      - Listen on :6081
      - Flash security policy server
      - Web server. Web root: /usr/share/novnc
      - No SSL/TLS support (no cert file)
      - Backgrounding (daemon)
    WebSocket server settings:
      - Listen on :6082
      - Flash security policy server
      - Web server. Web root: /usr/share/novnc
      - No SSL/TLS support (no cert file)
      - Backgrounding (daemon)
    
  7. 在遠端使用瀏覽器登入 kvm6,開始終端機,建立 view only 桌面分享密碼。
    [kvm6@dywftp ~]$ vncpasswd ~/.vnc/viewonly 
    Password:
    Verify:
    
  8. 在遠端使用瀏覽器登入 kvm6,在上方工作列設計一個分享 view only 桌面的按鈕。命令如下,其中 --display=:3 是因目前變數 $DISPLAY:3.0,選項 --PasswordFile 指定登入密碼檔在 /home/kvm6/.vnc/viewonly,選項 --AcceptKeyEvents=off --AcceptPointerEvents=off 關閉鍵盤及滑鼠的事件,--AlwaysShared 提供多人同時連線,重要的還有要指定埠號為 5904 --rfbport=5904,才能與 websockify 連結。
    x0vncserver --PasswordFile=/home/kvm6/.vnc/viewonly \
    --display=:3 \
    --AcceptKeyEvents=off \
    --AcceptPointerEvents=off \
    --AlwaysShared \
    --rfbport=5904
    
  9. 按下 vncserver 啟動按鈕,就會開啟終端機執行 x0vncserver 命令,其他同戶也就可在遠端使用帳號 kvm6 及 viewonly 密碼,看到分享的唯讀桌面。最小化這個終端機就可進行示範教學,關閉此終端機,也就是關閉 x0vncserver,其他用戶就無法分享此桌面,這樣的設計很符合示範教學的需求。
    Image novnc_x0vncserver



2018-04-25