noVNC

HTML5(JavaScript・Canvas API・WebSocket)で実装された、ブラウザ上で動くRFB(Remote Framebuffer)プロトコルクライアント。専用のVNCクライアントアプリなしに、ブラウザだけでVNCサーバーへ接続できる。

構成

  • 中核は「Core VNC/RFB」コンポーネントで、RFBプロトコルの状態機械(ステートマシン)をすべて内包している。
  • 画面描画にはHTML5 Canvasを使う。
  • ブラウザは生のTCPソケットを直接扱えないため、WebSocketを介してRFBプロトコルをやり取りする。サーバー側のVNCが素のTCPしか話さない場合は、websockify(WebSocket⇔TCPのプロキシ/ブリッジ)を挟んでnoVNCと接続する構成が一般的(VNCサーバー自体がWebSocketに対応していれば不要)。

採用例

OpenStack、Docker、Proxmox、DigitalOceanなど多くの製品でブラウザ上のリモートコンソール機能として採用されている。スマートフォン・タブレットからのアクセスにも対応する。

出典

#protocol #remote-desktop #javascript

作成日時: 2026-08-11 07:38 / 更新日時: 2026-08-12 20:41