知人から、自宅PCの画面を、出先から確認したいと相談を持ちかけられました。
提案されたのは、PCモニター前に、監視カメラを置いて画面に向けておいて、外から監視カメラにアクセスできるようにセットアップしたいということでした。
この方法は、まず自宅ファイヤーウォールに穴を空けて、ルーターに転送設定しないといけないので、個人契約のインターネット回線なら設定出来ますが、集合住宅備え付けルーターでは無理。また、監視カメラの解像度もHD品質が必要になるため、あまり実用的とは思えません。
ペットを飼っていて外から見たいなら監視カメラもわかりますが、PC画面でしょ。PC側のユーティリティを使う方法を検索してみました。
普通は、Windowsリモートデスクトップを考えますね。RDPの課題は、
- Proバージョン以上が必要になる。Homeバージョンでは無理。
- スタティックIPであることが望ましい。
- ファイヤーウォールに穴を空けて、対象PCへパケット転送する必要がある。
- リモートデスクトップは、セキュリティーホールが見つかりやすいので、1:1アクセスコントロールを行えるよう、アクセス元もスタティックIPが望ましい。
というコスト的な問題があります。
リモートワークする訳じゃなく、モニターを見たいだけなので、何か良いツールがないかと検索してみたところ、「Chromeリモートデスクトップ」というキーワードが見つかりました。こんな拡張機能、Chromeにあったんだ〜。
- 2台のPCそれぞれで、Chrome Webブラウザーを立ち上げる。
- 同じgoogleアカウントで、Chromeにログイン。
- 片方はサーバー、もう片方がクライアントになる。
って感じ。
Chromeリモートデスクトップは、HomeバージョンのWindowsでも使えるとのことなので早速テスト。
- 公開するPCにログインする。
- Chromeブラウザーで、Googleアカウントにログイン。
- 「Chromeリモートデスクトップ」をWeb検索する。
https://remotedesktop.google.com/ が見つかるので、このサイトを開く。 - リモートアクセスの設定 から、Chrome Remote Desktop アプリをダウンロードしてインストール。(Chrome WebストアーからChromeの機能拡張としてインストールになる。管理者権限で許可を求められるので承認する)
- 公開するPCの名前を設定する。
- 6文字以上のPINを設定する。(管理者権限で許可を求められるので承認する)
画面を公開するPC側での作業は以上で終了。
外出先のPCでは、
- Chromeにて自宅PCと同じ google アカウントでログイン。
- https://remotedesktop.google.com/ をアクセス。
- 公開したPCが表示されるので、PC名を選択して PIN を入力。
- Chrome の中にターゲットとなる自宅PCのデスクトップが現れる。
という流れになるようです。とっても簡単。
自宅PCの画面を確認したいだけなら、以上で終了。
実際試してみたところ、想像以上に便利。ただし、機能やレスポンスはLANが前提のWindowsリモートデスクトップの方が高機能っぽい。
- Chromeさえインストール出来れば、Windows Homeエディションでも使用出来、わざわざProライセンスにアップグレードすることなくリモートPCにアクセス出来ます。
- Chromeブラウザーの中にリモートPCデスクトップが表示されますがが、全画面表示に切り替え可能。
- Windowsリモートデスクトップは、ローカルディスプレイがスクリーンセーバー状態となり、リモートPCのモニター上のウィンドウだけがアクティブになりますが、Chromeリモートデスクトップはローカルディスプレイのミラーリングとなります。
- Chromeリモートデスクトップは、実際のPCディスプレイのミラーなので、実ディスプレイサイズ以下の解像度への調整は出来ますが、実サイズ以上の画面サイズにはできません。
例えば、1920×1080 サイズの画面は、1440×960 のクライアント画面に調整出来るが、
1024×768 の画面サイズを 1440×960 のモニターに同じ解像度で出力することは出来ない。
元の画面サイズが最大サイズとなる。 - サウンド出力もリモートPCに転送される。(ミラーリングなのでPC本体とクライアントで音が出る。)
- 未確認ですが、クライアントPCに接続されたマイクかビデオカメラは使えなさそう。(ミラーですからね。)
- モバイルルーターを使用して帯域を簡単に帯域確認してみたところ、単なる画面共有で50kB/secくらい。動画再生を行うと400kB/secくらいでした。(500kbps ~ 4Mbpsくらい)使い方によってもっとパケットが流れることでしょう。これくらいなら、本来の目的である、外出先から自室にあるPC画面の確認は十分出来ると思われます。
- Windows Remote Desktop で自宅PCをリモートアクセスしようとするとファイヤーウォールに穴を空けたり、ソースIPアドレスをフィルタリングしたり大変ですが、Chromeリモートデスクトップは、GoogleアカウントとChromeによりファイヤーウォールを気にすることなく接続出来るようです。ローカルで使用する場合はLAN udpにて直接、ファイヤーウォールの外とどうやって通信しているかは詳しくパケットを追跡していませんので現時点ではわかりません。サーバー経由なのか、P2P技術なのか。
- 一つのGoogleアカウントを使用すれば、外から自宅のPCをコントロールできる他、画面共有のモードを使えば、リモートサポートを受けることも出来るようです。(こっちはあまり試していません。)この場合、googleアカウントを使うのではなく、5分間有効なPINを相手に知らせて、画面共有に入って来てもらいます。(画面共有を許可するかどうかはポップアップ画面で選択出来ます。)
知人からの相談のおかげで、Chromeリモートデスクトップに触ることになりましたが、こいつはなかなか使えます。いいツールに出会えました。