Windowsのリモートデスクトップ接続(RDP)では、マルチモニター環境で「すべてのモニターを使用する」ことはGUIから簡単に設定できます。
しかし、
- PCには3台のモニターを接続している
- RDPではそのうち2台だけを使いたい
- 残り1台はローカルPC用として残したい
という設定は、通常のリモートデスクトップ接続の画面からは指定できません。
この場合は .rdp ファイルを保存して、selectedmonitors という設定を直接追加します。
1. モニターのIDを確認する
まず、RDPが認識しているモニターIDを確認します。
コマンドプロンプトまたはPowerShellを開いて、次のコマンドを実行します。
mstsc /l
または、
mstsc.exe /l
実行すると、接続されているモニターとRDP内部で使用されるIDが表示されます。
例えば3台のモニターを接続している場合、次のようなIDが表示されます。
0
1
2
ここで注意したいのは、この番号がWindowsの「ディスプレイ設定」で表示される「ディスプレイ1」「ディスプレイ2」「ディスプレイ3」と一致するとは限らないことです。
必ず mstsc /l で表示されたIDを使用します。Microsoftも /l オプションを、selectedmonitors に指定するモニターIDを確認するための方法として案内しています。
2. RDPファイルを保存する
「リモート デスクトップ接続」を起動します。
mstsc
「オプションの表示」をクリックし、接続先などを設定したあと、名前を付けて保存から .rdp ファイルを保存します。
例えば、
MyPC.rdp
という名前で保存します。
3. RDPファイルをテキストエディタで開く
保存した .rdp ファイルをメモ帳などのテキストエディタで開きます。
.rdp ファイルの中には、次のような設定が記録されています。
screen mode id:i:2
use multimon:i:1
full address:s:192.0.2.10
ここに、使用するモニターを指定する設定を追加します。
4. 使用する2台のモニターを指定する
例えば、mstsc /l で確認した結果、モニター 0 と 1 をRDPで使用したい場合は、次の設定を追加します。
use multimon:i:1
selectedmonitors:s:0,1
これで、3台のモニターが接続されていても、RDPではモニター 0 と 1 だけが使用されます。残った1台はローカルWindowsの画面として、そのまま使用できます。
selectedmonitors を利用するには use multimon:i:1 が必要です。MicrosoftのRDPプロパティ仕様でも、この組み合わせが必須とされています。
設定例
例えばPCに次の3台のモニターが接続されているとします。
モニターA モニターB モニターC
0 1 2
モニターAとBをRDPで使用し、モニターCをローカルPC用として残したい場合は、
screen mode id:i:2
use multimon:i:1
selectedmonitors:s:0,1
と設定します。
逆にモニターBとCをRDP用にするなら、
screen mode id:i:2
use multimon:i:1
selectedmonitors:s:1,2
となります。
RDP側のメインモニターも指定できる
selectedmonitors に指定したIDのうち、最初に記述したモニターがRDPセッション側のプライマリディスプレイになります。
例えば、
selectedmonitors:s:1,2
ならモニター 1 がRDP側のメインモニターになります。
逆に、
selectedmonitors:s:2,1
とすると、モニター 2 がRDP側のメインモニターになります。
タスクバーやスタートメニューをどちらのモニターに表示したいかによって、順番を変更すると便利です。
選択するモニターは隣接している必要がある
selectedmonitors には重要な制限があります。
Microsoftの仕様では、選択するディスプレイは contiguous(連続した配置) である必要があります。
例えば横一列に、
+---------+---------+---------+
| Monitor | Monitor | Monitor |
| A | B | C |
+---------+---------+---------+
と3台並んでいる場合、A + B または B + C のような隣接する2画面を選択するのが基本です。
一方、A + C のように中央のモニターBを飛ばして両端だけをRDPに使用する構成は、連続配置という要件を満たしません。
その場合はWindowsの 設定 → システム → ディスプレイ でモニター配置を変更すると対応できる場合があります。
最終的なRDPファイルの例
例えば接続先が、
192.0.2.10
使用するモニターが 0 と 1 の場合、主要部分は次のようになります。
screen mode id:i:2
use multimon:i:1
selectedmonitors:s:0,1
full address:s:192.0.2.10
実際の .rdp ファイルには、画面サイズ、サウンド、クリップボード、認証など多数の設定が入っていますが、それらはそのままで構いません。
基本的には、
use multimon:i:1
selectedmonitors:s:0,1
の2行を確認・追加するだけです。
接続する
編集した .rdp ファイルを保存して、ダブルクリックします。
通常の mstsc.exe を起動するのではなく、編集した .rdp ファイルから接続するのがポイントです。
正常に設定されていれば、次のように2台をRDP用、残り1台をローカルWindows用として使えます。
+-----------+-----------+-----------+
| RDP | RDP | Local |
+-----------+-----------+-----------+
うまく動かない場合
まず現在のモニターIDをもう一度確認します。
mstsc /l
モニターの接続変更やWindows側のディスプレイ構成変更などによって、想定していたIDと異なっている場合があります。
続いて .rdp ファイルに、
use multimon:i:1
が存在することを確認します。
さらに、
selectedmonitors:s:0,1
のIDが mstsc /l の結果と一致していることを確認します。
最後に、選択した2台のモニターがWindowsのディスプレイ配置上で連続していることも確認してください。
まとめ
3台のモニターのうち2台だけをリモートデスクトップで使用する場合は、RDPファイルに selectedmonitors を設定します。
まず、
mstsc /l
でモニターIDを確認します。
その後 .rdp ファイルに、
use multimon:i:1
selectedmonitors:s:0,1
のように記述します。
これにより、2台をRDP用、残り1台をローカルPC用というマルチモニター構成を実現できます。
特にノートPC+外部モニター2台や、デスクトップPC+3画面環境で、RDP作業とローカル作業を同時に行いたい場合に便利な設定です。