noVNCはHTML5/Canvas/WebSocketを利用したWebブラウザで使えるVNCクライアント。

noVNCはHTML5/Python製のオープンソース・ソフトウェア。複数台のPCを使いこなす時に、モニタまで台数分あると邪魔になってしまう。そこでよく使われているのがリモートコントロールだ。有名なものとしてはVNCが知られている。


外部からアクセス

VNCクライアントは既に多数あるが、コンピュータに不慣れな人が簡単に使えるというのはあまり多くないように感じられる。そこで試してみたいのがWebブラウザから使えるVNCクライアント、noVNCだ。

noVNCはHTML5を使って作られているソフトウェアで、WebブラウザからWebSocketを使ってPython製のプロキシに接続し、そのプロキシがWebSocketとVNCプロトコルの橋渡しをするようになっている。VNCサーバによっては接続できないので注意が必要だ。


設定

サーバ側の準備は多少面倒だが、Webブラウザからの利用は簡単だ。アクセスしたらVNCのプロキシサーバのアドレスを指定して接続すれば良い。うまくいけばリモートコンピュータの内容が表示される。なお描画速度は遅いので注意してほしい。描画にはCanvasを使っている。Ctrl+Alt+Deleteの送信もできる。速度には難点があるとは言えiOSからでも接続できるといった点が魅力的なソフトウェアでもある。

MOONGIFTはこう見る

現状のnoVNCが実用的であるかと言われれば、まだ難しいと言わざるを得ない。とは言え、そこは今後の発展に期待する所だろう。WebSocketのSSLにも対応しておりセキュリティ面にも気が配られているのはとても良い。特別なクライアントソフトウェアを用意しなくても良いのは最大の利点だ。

色数をおさえたりすれば多少は速度が改善するかもしれない。そうはいってもWebSocketで常に画面を書き換えるのは現実的ではない。Googleマップのようなタイルに分けて配信するような工夫が必要だろう。今後の開発に期待したいソフトウェアだ。

noVNC(デモ)

kanaka/noVNC - GitHub