はじめに
「Chrome Remote Desktopで、Headless HostのWindows Serverでも1920x1080で使う方法」と書いてピンと来る人は少ないと思うのだが、多分世界で初めての記事なので書いておく。Qiitaでも良さそうな話だけども。
目的
Google Remote Desktopは超便利です。だってリモートデスクトップのようにポート(3389/TCP)を外部にオープンにしなくても使える。VPNもいらない。Googleアカウントさえあれば、Chromeブラウザからリモートのホストにログインできる。
で、クラウド上のWindows ServerでGoogle Remote Desktop使った人ならわかると思いますが、クラウド上のOSは物理モニターとつながっていません。だから、つなげると解像度が強制的に1024 x 768になってしまう。
これを、強制的に1920 x 1080にしてしまうという技です。解像度が高くないと使い物にならないので、絶対これをやりたかったのです。そしてついにやり方にたどり着きました。
なお、やる人は、完全に実施者の責任で実施してください。レジストリを変更する作業です。
私は成功しています。
方法
(1)該当のWindows Serverにログインしてください。リモートデスクトップでOKです。
(2)regeditを起動してください。
(3)以下のレジストリ値のサブキーを全て削除してください。
①HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configurationキー下のサブキーをすべて削除します。
②HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Connectivityキー下のサブキーをすべて削除します。
③HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥ScaleFactorsキー下のサブキーをすべて削除します。
(4)OSを再起動してください。
(5)regeditを起動してください。
(6)以下の値を変更してください
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥PrimSurfSize.cx
→10進数で1920
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥PrimSurfSize.cy
→10進数で1080
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥00¥ActiveSize.cx
→10進数で1920
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥00¥ActiveSize.cy
→10進数で1080
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥00¥PrimSurfSize.cx
→10進数で1920
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥GraphicsDrivers¥Configuration¥(何かのサブキー)¥00¥00¥PrimSurfSize.cy
→10進数で1080
※起動時に(何かのサブキー)が作られているはずです。
(7)OSを再起動してください。
補足
これで、クラウド上のOS(Headless Host=ディスプレイがないホスト)でも、外出先からGoogle Remote Desktopで解像度1920 x 1080でつなげて、リモート管理できるようになりました。
スマホからでもつなげるので素敵です。VPNもいらない。
インターネットから攻撃を受けることもない。Windowsファイアウォールで受信は全て閉めても構わない。送信だけできればOK。
超画期的なので、置いておきます。