使ってないPCを使って無料でマルチモニター環境を作る

コンピュータをとことん使う、特にプログラミングなんかではデュアルモニタが便利とよく言われる。でもいざ揃えるとなると、対応したグラフィックカードが必要だったり、ラップトップばかり使っていてモニタを持っていないなど簡単にいかないことも多い。

使ってないPCとモニタがあればそれを使ってマルチモニター環境を作る方法を発見したので紹介。 以前、Maxivista というソフトが売られていた(英語版は Maxivista.com で今も販売中) が、それと似たような機能を実現するというモノ。 ただ、ちょっと問題もあり完璧じゃないことをお断りしておく。

1. 必要なもの

2. インストール方法

メインPC に DemoForge Quasar Virtual Display Driver をインストール。再起動の必要はなく、ディスプレイのプロパティを開くと、Displayがひとつ追加されている。

ディスプレイプロパティ
ディスプレイ プロパティ ダイアログ

この場合は 2 のDisplayが追加された仮想Display。 この2のDisplayをクリックし、選択後モニタPCの解像度を指定し、Extend my Windows desktop onto this monitor のチェックボックスにチェックを入れる。

もし、モニタPCがメインPCの左側にある場合は、2のモニタをドラッグアンドドロップで1の左に移動すれば左に移動できる。設定が終わったら OK ボタンでダイアログを閉じる。

次にメインPCに TightVNC をインストールし、VNCサーバ (WinVNC.exe) を起動する。パスワード以外、特別な設定は必要ないと思う。Sharing Area (共有エリア) は Full Desktop にするぐらい。

最後にモニタPC上に TightVNC をインストールし、VNC viewer アプリケーション (vncviewer.exe) を起動する。

Tight VNC の オプション設定
Tight VNC の オプション設定

ポイントは赤丸をつけたマウスカーソルをサーバ側(メインPC)に任せるところ。 モニタPCのインプットは無視させる。

この状態で、メインPC に VNC 接続するとメインPC の画面がモニタPCに表示される。 Tight VNC の場合はスクロールバーを使うか、フルスクリーンにしている場合はモニタPCのマウスを画面の両端にもっていけばデスクトップが切り替わる。

モニタPCのVNC viewer をフルスクリーンにしておけばマルチモニター環境のできあがり! フルスクリーンからもどる場合はモニタPCのキーボードで Ctrl-Alt-Shift-F というキーを使おう。

3. 問題点

まず、設定が簡単じゃないということ。

次に、モニタPC での画面の描画がちょっともたつく。 Tight VNC の場合、デフォルトの Tight という圧縮方法ではとくに遅さが目立つ。 Hextile という圧縮方法を使うとマシになるが、それでも動画の再生などはモニタPC上ではうまくいかないと思った方がいい。

また、VNC プロトコルはメインPCのCPUを常時10%-20%ぐらい使い続けるというところも大きな問題。 最近の VNC は Mirror Driver というのを使ってこの問題を回避しているのだが、このマルチモニターを実現する方法では Mirror Driver をインストールしても使ってもらえなかった。 RealVNC は Mirror Driver 使ってくれたけど、2nd Screen の再描画に問題があった。(RealVNC はちょっとうろおぼえ、違ってるかも)

というわけで、この方法は マルチモニターを実現する代わりに メインPC のCPUリソースが犠牲になるという大きな問題がある。

VNC はいろんな派生ソフトやオプションをサポートしているので、うまく組み合わせれば快適な環境が作れるかもしれない。 会社などで余ったPCがあるという場合はお試しあれ。


4 thoughts on “使ってないPCを使って無料でマルチモニター環境を作る”

  1. この用途に特化したソフトのようで、VNCを駆使するより簡単に実現できそうですね。 私も今度ためしてみようと思います。

  2. Mouse Withoug Borders は Synergy などと同類で、画面そのものを共有する機能はなさそうですね。ファイルコピーなんかがあればマルチモニタと同等のこともできそうですが。MS製なだけに、もう一歩進化してもらいたいところです。

Leave a Reply

Your email address will not be published. Required fields are marked *