from2001vrです。
アプリやWEBのスクリーンショットを大きな画面で撮りたいがPCに接続されているモニタの解像度が低いので大きなサイズのスクリーンショットを撮れないということがあります。私は今回4Kより大きな解像度でスクリーンショットを取る必要があったのですが(正確にはUnityを4k+α解像度で利用したかった)、手元にある一番大きなモニタが2560×1440だったので困ってました。Windowsでは接続しているモニタより大きな解像度を選択することができません。
今回、良い解決策を思いついたのでメモしておきます。
方法は単純で、Microsoftのリモートデスクトップ接続を利用し、利用したいマシンに高い解像度で接続を行い利用するだけです。MicrosoftのRDPプロトコルは、VNCやTeam Viewerなどのリモートデスクトップソフトとは異なり、画面に表示された映像をリモートに転送するのではなく、リモートに接続されたゲストを接続されたモニタのように描画に利用するプロトコルです。ですので、接続元のホストPCの環境に依存せず、任意の解像度で利用することが可能です。
まずは、ホストWindowsの設定を行います。Windows7,8ではPro版でしかホストになることができませんので注意が必要です。
次のゲスト側の設定を行います。今回はゲストをMacで行ってみました。
Mac App StoreからMicrosoft Remote Desktop(無料)をインストールし実行します。
Windowsの場合はスタートメニューから標準でインストールされているリモート デスクトップ接続を起動します。
ホストのIPアドレスなどの情報を指定し、接続先情報を作成します。ここで、Resolution(解像度)に利用したい解像度を設定します。もし、ここで大きな解像度を設定できない場合は適当な値を選択肢ます。
作成した接続情報をエクスポートします。
テキストエディタで開くと、内容を編集できるのでdesktopwidth及びdesktopheightを利用したい解像度の値に変更します。
screen mode id:i:2 desktopwidth:i:640 desktopheight:i:480 use multimon:i:1 session bpp:i:32 full address:s:192.99.99.99 audiomode:i:0 username:s: disable wallpaper:i:0 disable full window drag:i:0 disable menu anims:i:0 disable themes:i:0 alternate shell:s: shell working directory:s: authentication level:i:2 connect to console:i:0 gatewayusagemethod:i:0 disable cursor setting:i:0 allow font smoothing:i:1 allow desktop composition:i:1 redirectprinters:i:0 bookmarktype:i:3 use redirection server name:i:0
保存してダブルクリックすれば、設定した解像度でリモートデスクトップを利用できます。
下記は4500×2500の超高解像度でWindows上で動作するUnityをMacから接続している例です。