Chromeリモートデスクトップを使ってみる（設定手順と機能説明）

今更ですが、Chrome リモートデスクトップを使ってみました。
設定手順や機能説明をまとめるのでご参考になれば幸いです。

# 前置き
私は自宅のノートPCからデスクトップPC（どちらもWindows10 Homeエディション）に接続する目的で使用しています。自宅のプライベートネットワーク内で実現できればそれに越したことはないのですが、使ってみたい好奇心もあったので今回試してみました。
以前は``RDP Wrapper Library``を使おうとして苦労しましたが、Chrome リモートデスクトップは詰まることなく導入できました。

# 環境
## 接続先の端末（ホスト）
- OS: Windows10 Homeエディション
- Chromeをインストールしている
- Chromeで、Googleアカウントでログインしている

## 接続元の端末（クライアント）
- OS: Windows10 Homeエディション
- Chromeをインストールしている
- Chromeで、**接続先の端末と同じGoogleアカウント**でログインしている

# 設定手順
接続先をGoolgeアカウントに紐づけて登録するために、初回のみ行う手順です。
接続先の端末で、以下の手順を行います。

1. [Chromeリモートデスクトップのページ](https://remotedesktop.google.com/access/)にアクセスし、ダウンロードボタンを押下します
  ![20220626_202457_リモート アクセス - Chrome リモート デスクトップ - G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/7e42cec2-d942-f7c8-aef8-cccf99d4503e.png)


2. 拡張機能のChrome Remote DesktopをChromeに追加します
  このとき、``chromeremotedesktophost.msi``がダウンロードされます。
  ![20220626_202549_Chrome Remote Desktop - Chrome ウェブ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/e48c7087-348c-6a64-d5de-52185affc280.png)


3. 追加が完了すると、自動で画面が切り替わります。「同意してインストール」ボタンを押下します
  押下すると、先程ダウンロードした``chromeremotedesktophost.msi``が起動してインストールが行われます。
  ![20220626_203356_リモート アクセス - Chrome リモート デスクトップ - G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/b16ad51b-cc28-dbfa-cd13-404eef102cc9.png)

4. インストールが完了すると、自動で画面が切り替わります。名前を入力して「次へ」ボタンを押下します
  名前は任意です。入力した名前は接続先一覧に表示されます。
  ![20220626_203512_リモート アクセス - Chrome リモート デスクトップ - G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/65602c27-7fea-5713-0896-ba5e7291ff30.png)

5. PINを入力して「起動」ボタンを押下します
   押下すると、接続先の端末がGoogleとの接続を開始します。
   ここで入力したPINは、リモートデスクトップ実行時に必要となります。
   ![20220626_203609_リモート アクセス - Chrome リモート デスクトップ - G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/4f82f67e-39d0-d8b8-346d-3118fce6ffe6.png)

6. 登録したデバイスが「オンライン」になっていれば成功です。
   「起動しています…」と表示される場合は、少し時間を空けてからリロードしてください。
   ![20220626_203828_リモート アクセス - Chrome リモート デスクトップ - G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/0a01cafb-2874-6351-4bee-7a7f645bde1c.png)


## 使い方
接続元のブラウザから、接続先の端末にリモートデスクトップします。
接続元の端末で、以下の手順を行います。

1. [Chromeリモートデスクトップのページ](https://remotedesktop.google.com/access/)にアクセスし、先程登録した接続先を押下します
   ここで接続先の端末が表示されない場合は、接続先と同じGoogleアカウントでログインしていることを確認してください。
   ![リモート アクセス - Chrome リモート デスクトップ - Google Chrome_202 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/f2149d1e-40b2-6205-c586-d4c88dbb7e3a.png)


2. PINを入力し、接続します
   ![DESKTOP-FOR_DEV - Google Chrome_20220626_20.40.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/923a877c-018b-a6d7-ea2e-12de46cd7273.png)


3. 接続先の画面が表示されたら成功です。
   （わかりづらいですが、画面内に接続先のブラウザ画面が表示されています）
   ![DESKTOP-FOR_DEV - Google Chrome_20220626_20.45.07..png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/1a069864-a008-438c-db27-912b79082f19.png)


## Chrome リモートデスクトップの機能

リモートデスクトップ画面の右側にある``<``ボタンを押下すると、オプションパネルが表示されます。
使用できる機能はオプションパネルに集約されているようです。
オプションパネルは左側に移動させたり、固定表示にすることもできます。
  ![オプションパネル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/4b742300-faa0-77f1-8f87-9e30d094b6b1.png)

- オプションパネルを固定表示にした場合
  ![オプションパネル固定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/c478018e-87fa-ebd7-a272-b63cd9e635b0.png)

以降、各機能の概要です。

- 全画面表示
  見てのとおり、全画面で表示されます。F11キーを押下した場合も同様の動作となります。
  ![全画面表示の場合.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/9063a3d3-0c14-6fe9-d899-2a4bad2c08f7.png)

- ウィンドウに合わせてサイズ変更
  横幅が調整されました。（警告が出ますが、気にしません）
  ![ウィンドウサイズに合わせる場合.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/8e46f1a3-2353-02b2-d105-947d4c54f8fa.png)

- 入力操作
  Ctrl+Alt+Delキー、及びPrtScキーを押下する機能があります。
  これらのキーは普通に押すと接続元側で動作するため、接続先側で当該キーを動作させるための機能となっているようです。
  ![入力操作.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/4993dd8b-350f-e9cc-7aa5-536b4a7d5a55.png)

- キーマッピング
  上述のCtrl+Alt+Delキー、及びPrtScキー**以外**のキーを任意に登録するための機能となっています。
  例えば、Windowsキーも同様に接続元側で動作してしまうため、右側のCtrlキーを押すとWindowsキーとして動作させるように設定することができます。
  ![キーマッピング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/fa08fe3b-79cf-9e48-dd8f-1c4178e366c4.png)

  上述のキーのように接続元側で動作するキーはそれなりに存在するため、Chromeリモートデスクトップを普段使いするなら色々と登録する必要がありそうです。
  登録するキーは[このコードの詳細](https://www.w3.org/TR/DOM-Level-3-Events-code/)に基づいて入力します。オートコンプリート機能もあるようです。  
  ![キーマッピング_入力時.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/fb7af3a6-010d-c082-5d25-231552cc28cf.png)

  あまり細かく試せていないのですが、Alt+Tabキーのような複数のキーを登録する方法がわかりませんでした。少なくとも一行に複数のキーを登録することや、二行にわけて同じマッピング元のキーに対応づけることはできないようです。
  ![キーマッピング_エラー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214985/c1024b84-7d26-d08f-63c7-cc6d7dd42964.png)

- ファイル転送
   ファイルのアップロード／ダウンロードができるようです。今回は試していません。


# その他の気づき
 
- クリップボードの共有は、双方向に有効となっていました。無効にすることはできないようです。

- リモートデスクトップを終了するためのボタンがないので、終了するときはタブかブラウザを閉じればよさそうです。

- リモートデスクトップしている間は接続先の画面にも表示されます。したがって画面の情報が筒抜けにならないようにするため、接続先の端末がモニタに接続されないように運用を工夫する必要がありそうです。

- Youtubeの動画を全画面表示で再生したところ、ぬるぬると表示されました。動画のような画面変化量の大きい通信負荷にも耐えられるようです。

- Chrome リモートデスクトップに限った話ではありませんが、リモートデスクトップで運用するなら接続先のスリープを無効にしておくとよさそうです。