ガイド

リモート デスクトップ接続後にウィンドウが移動する問題の直し方

ノートPCから会社のPCへリモート デスクトップで接続して作業すると、翌朝、会社のPCのウィンドウがすべて小さくなって1台のモニターに積み重なっている。逆に、モニター3台の自宅PCにリモートで入ると、1つの画面に押しつぶされた状態になる。リモート デスクトップはセッションのディスプレイ構成を変え、Windowsはそれに合わせてウィンドウを並べ直します。この記事では、その理由、被害を減らすリモート デスクトップのオプション、配置を自動で取り戻す方法を説明します。

更新日 5ステップ

  1. RDPがウィンドウを並べ直す理由を知る

    リモート デスクトップで接続すると、Windowsはセッションに接続元PCの画面、つまりモニター数、解像度、拡大率をそのまま渡します。3台のモニター用に組んだ会社の配置が急にノートPCの画面1つに収まらなければならず、Windowsはウィンドウが見えるように移動・縮小します。会社のPCの前に戻ると物理モニターは復活しますが、Windowsはウィンドウを元の場所に戻しません。最大化したウィンドウや同じアプリの複数のウィンドウがいちばん大きく崩れます。

  2. セッションですべてのモニターを使う

    接続元にもモニターが複数あるなら、「リモート デスクトップ接続」で「オプションの表示」をクリックし、「画面」タブで「リモート セッションですべてのモニターを使用する」にチェックを入れるか、mstsc /multimonで起動します。すると接続元のモニターごとにセッションの画面ができ、ウィンドウが押しつぶされにくくなります。この機能にはWindows Proなど複数モニターに対応したホスト エディションが必要です。接続元の解像度と拡大率をホストに近づけると、並べ直しも減ります。

  3. 普段の配置をウィンドウ位置プロファイルに保存する

    接続先のPCで、そのPCのモニターにウィンドウを並べ、WindowLayoutをインストールして「ウィンドウ位置プロファイル」で「現在の状態を保存」をクリックし、「会社」などの名前で保存します。「プロファイルのオプション」でショートカット キーを設定し、「この構成が接続されたら自動で適用」をオンにします。プロファイルはウィンドウごとにモニター、位置、サイズ、最大化の状態、重なり順を記録し、モニターをデバイスとモデルで識別するので、すべてを正確に戻せます。

  4. 自動復元をオンにする

    「ウィンドウ位置プロファイル」の「自動化」で「モニター変更・スリープ・ロック解除の後にウィンドウを復元」をオンにします。WindowLayoutはモニター構成ごとにウィンドウのスナップショットを保持します。リモート デスクトップのセッションを終えて本体の前に戻ったとき、ウィンドウが1画面に積み重なっていれば、その変化を検知して直前のスナップショットに戻します。「設定」で「スタートアップ時に起動」をオンにして、常に動いているようにしておきましょう。

  5. 必要なときに手動で復元する

    自分で制御したい場合は自動化をオフのままにし、席に着いたらプロファイルのショートカット キーを押すか、トレイ メニューやコマンド パレット(Ctrl+Alt+Space)からプロファイルを選びます。「復元のプレビュー」でどのウィンドウが動くかを事前に確認でき、気が変わったら「直前の復元を元に戻す」で戻せます。とにかくすべてのウィンドウを見つけたいだけなら、Ctrl+Alt+Gですべてのウィンドウをメイン ディスプレイに集めましょう。

よくある質問

WindowLayoutはリモート セッション内で実行する必要がありますか?

WindowLayoutはWindowsのセッションそのもので動いており、それはリモート デスクトップでも本体の画面でも見ている同じセッションです。本体に戻ったときにモニターの変化を検知し、物理画面に合った配置を復元します。

VNCなどほかのリモート ツールにも効きますか?

本体の画面をそのまま映すツールはディスプレイ構成を変えないので、ウィンドウはたいていそのままです。解像度を変えたりモニターを無効にしたりするツールなら、同じプロファイルと自動復元が役立ちます。

リモート デスクトップが解像度を変えないようにできますか?

完全には無理です。セッションが接続元の画面に合わせるためです。接続元のモニターをすべて使い、解像度をそろえれば変化は小さくなり、残りは保存したプロファイルが元に戻します。