RDP(RDS)セッションでDPIスケーリングとフォントサイズを調整する方法

Windows ServerやWindows 10でリモートデスクトップセッションを操作すると、フォント、アイコン、UI要素が小さく表示され、特に4Kや2Kディスプレイなどの高解像度モニターを使用している場合は、かなり煩わしいことがあります。少し奇妙に感じるかもしれませんが、ローカルマシンのDPIを継承しているため、非常に読みにくくなります。正直なところ、ほとんどの場合、デフォルト設定がほぼ固定されているため、リモートセッション内で簡単にスケーリングを上げることはできません。

では、できることを簡単にまとめてみましょう。いくつかは少し不安定なオプションもありますが、試してみる価値はあります。主にレジストリ設定とRDPの設定をいじって、Windowsに適切なスケーリングを強制的に適用させる方法です。また、いじり回した後にはセッションがかなり鮮明に見えるようになるはずですが、設定によっては、変更が反映されるのを確認するためにセッションを再起動するか、マシンを再起動する必要がある場合があることに注意してください。

RDPセッションで小さなフォントやUI要素を修正する方法

方法1: サーバーにクライアントのスケーリングを無視させる

セッションがローカルマシンのDPI設定を継承しないようにしたい場合は、これが最適な方法です。レジストリエントリIgnoreClientDesktopScaleFactorを設定すると、Windowsがクライアント側からモニターのDPIをコピーするのを防ぎ、サーバー側で独自のスケールを設定できるようになります。

  • 管理者としてコマンドプロンプトを開く
  • レジストリ キーを追加するには、次のコマンドを実行します。
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations" /f /v IgnoreClientDesktopScaleFactor /t REG_DWORD /d 1

これは、Windows Server 2016/2019 や、場合によっては Win10 でも役立つはずですが、Windows Server 2022 などの新しいバージョンでは保証されません。実行後、変更を登録するには、リモート セッションを再起動するか、サーバーを再起動する必要がある場合があります。

方法2: ユーザーのレジストリ内でDPIを手動で設定する

ここからが面白いところです。各ユーザーのレジストリハイブ内のLogPixels設定を変更して、スケーリングレベルを指定できます。

  • すべてのRDPセッションを閉じ、レジストリエディター(regedit.exe)を開きます。
  • HKCU\コントロールパネル\デスクトップに移動します
  • LogPixelsという名前の新しいREG_DWORD値を作成します。
  • 希望するスケールに合わせて値を小数に設定します。
    • 96で100%
    • 120で125%
    • 144で150%
    • 192 で 200% (4K 画面に適しています)
    • 288で300%

または、スクリプトに興味がある場合は、次のようなものを実行できます。

reg add "HKCU\Control Panel\Desktop" /f /v LogPixels /t REG_DWORD /d 144 例えば150%に設定します。これらの変更を行った後、接続を切断して再度ログインしてください。DPIの変更を有効にするには、再起動するか、少なくともRDPセッションを再開する必要がある場合があります。

方法3: *.RDPファイルを使用して、desktopscalefactorで特定のスケールを設定する

カスタムRDPファイル経由で接続している場合は、desktopscalefactor:i:150スケーリング係数を強制的に設定できます。指定可能な値は100、125、150、175、または200で、転送中のDPIを調整します。詳細については、MicrosoftのRDPプロパティドキュメントをご覧ください。これにより、レジストリを毎回編集することなく、プロセスを自動化できます。

オプション: 最新の RDP クライアントを使用するか、クライアント側で調整する

新しいWindows 10/11や、mRemoteNG、RDCManなどの代替RDPクライアントでは、より優れたスケーリングオプションが組み込まれている場合があります。また、これらのクライアントには「スマートサイジング」mstsc.exeと呼ばれる機能も搭載されており、リモートデスクトップをウィンドウに合わせてスムーズにサイズ変更し、スクロールバーや奇妙なサイズのフォントを回避できます。

有効にするには、smart sizing:i:1RDPファイルに追加するか、最新のクライアントをご利用の場合はメニューから有効化してください。有効化すると、ウィンドウのサイズを変更するとリモートディスプレイも動的に拡大縮小されるため、高DPI環境では非常に便利です。

正直なところ、WindowsはRDP経由のDPIスケーリングを、特に新しいサーバーバージョンでは、これまであまり簡単に扱えなかったように思います。Windowsは当然のことながら、必要以上に難しくせざるを得ないからです。この回避策は少々不格好に思えるかもしれませんが、ある環境では見事に機能したのに、別の環境ではそうでもありませんでした。それでも、一日中小さなアイコンに悩まされるよりはましです。