CentOS Stream8とMIRACLE LINUX 8.4にChrome Remote Desktopで接続する

## はじめに
Chrome Remote Desktopは、Windows、macOS、Linuxがホストになれるリモートデスクトップソフトウェアです。LinuxL向けのChrome Remote Desktopアプリはdebパッケージのみ提供されているため、そのままではCentOSなどでは使えません。
rpmがないか探したところ、[debパッケージをrpmパッケージに変換しOpenSUSEでChrome Remote Desktopが動作した](https://haruka0000.hatenablog.com/entry/2021/04/18/224846)という事例があったので、CentOS Stream8とMIRACLE LINUX 8.4でも動作しないか挑戦してみました。結果、動作したので以下に手順を整理します。


:::note info
2022/2/27にリリースされた https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb はインストール時に依存エラーが発生するため、ひとつ前のバージョン chrome-remote-desktop-96.0.4664.9.deb を使用する手順に修正しました。
:::


## 参考情報
- [無償化された MIRACLE LINUX 8.4 をいろんな環境にインストールしてみた！](https://www.cybertrust.co.jp/blog/linux-oss/linux/miraclelinux84-install.html "無償化された MIRACLE LINUX 8.4 をいろんな環境にインストールしてみた！")
- [MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう](https://www.cybertrust.co.jp/blog/linux-oss/linux/miraclelinux84-repository.html "MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう")
- [OpenSUSE で chrome-remote-desktop host を自動起動](https://haruka0000.hatenablog.com/entry/2021/04/18/224846 "OpenSUSE で chrome-remote-desktop host を自動起動")
- [Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ ](https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine "Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ")
- [Configuring Chrome Remote Desktop with Ubuntu Gnome 14.04](https://superuser.com/questions/778028/configuring-chrome-remote-desktop-with-ubuntu-gnome-14-04/850359 "Configuring Chrome Remote Desktop with Ubuntu Gnome 14.04")
- [Issue 1039016: chrome-remote-desktop/start-host : Couldn't start host: OAuth error.](https://bugs.chromium.org/p/chromium/issues/detail?id=1039016#c5)
- [frealgagu/archlinux.chrome-remote-desktop](https://github.com/frealgagu/archlinux.chrome-remote-desktop/releases/)


## 準備するもの
- MIRACLE LINUX 8.4 もしくは CentOS Stream 8 がインストールされた環境
    - 本記事では、[無償化された MIRACLE LINUX 8.4 をいろんな環境にインストールしてみた！](https://www.cybertrust.co.jp/blog/linux-oss/linux/miraclelinux84-install.html "無償化された MIRACLE LINUX 8.4 をいろんな環境にインストールしてみた！") を参考にVMware ESXi 7.0.3上の仮想マシンにOSをインストールしました。


## ゴール
このキャプチャのように、CentOS Stream8やMIRACLE LINUX 8.4にChrome Remote Desktopで接続できるようにします。
![C__Users_tsuyo_Videos_Captures 2022_02_27 17_59_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/0b609191-2989-39e6-1caf-230dfdd9ae66.png)

![Chrome Remote Desktop - localhost.localdomain 2022_02_24 1_21_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/9f1b020e-01e4-eb0f-e8cc-72107d024ba5.png)


## 環境構築

### 前提条件
- 一般ユーザーはsudo権限を持っていること。
- OSインストール時に、インストールタイプは`ワークステーション`、インストールタイプのアドオンは`開発ツール`を選択しました。

:::note info
CentOS Stream8, MIRACLE LINUX8.4それぞれで、
- SE Linuxが有効になっていますが、無効にする必要はありません。
- firewallの設定変更は不要です。
- Google Chromeのインストールは不要です。(インストールしても問題ありません。)
- Googleアカウントへのログインも不要です。

:::

:::note warn

EPELリポジトリにある Chrome Remote Desktopパッケージは使用しません。インストールしても[OAuth errorで起動できません](https://bugs.chromium.org/p/chromium/issues/detail?id=1039016#c5 "Issue 1039016: chrome-remote-desktop/start-host : Couldn't start host: OAuth error.")。

:::

### OSを最新の状態に更新

OSを最新の状態に更新し、再起動します。

```console
$ sudo dnf update -y
$ suod shutdown -r now
```

## EPELリポジトリ,PowerToolsリポジトリの有効化
[MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう](https://www.cybertrust.co.jp/blog/linux-oss/linux/miraclelinux84-repository.html "MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう") を参考に、EPELリポジトリとPowerToolsリポジトリを有効化します。

EPELリポジトリの有効化

```console:MIRACLE LINUX
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
```

```console:CentOS Stream8
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
```

EPELリポジトリのChrome Remote Desktpがインストールされないよう、除外設定を追加します。
```console
$ sudo vi /etc/yum.repos.d/epel.repo 
```

```console
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
#baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
enabled=1
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
exclude=chrome-remote-desktop*   # この行を追加
```


PowerToolsリポジトリの有効化

```console:MIRACLE LINUX
$ sudo dnf update miraclelinux-repos
$ sudo dnf config-manager --set-enabled 8-latest-PowerTools
```

```console:CentOS Stream8
$ sudo dnf config-manager --set-enabled powertools
```

## alienをインストール
通常は、ホスト(今回の場合はMIRACLE LINUX)上でChromeウェブストアにあるChrome Remote Desktopアプリをインストールするか https://remotedesktop.google.com/access にアクセスすることでホスト側のセットアップを行うことができます。Linux環境の場合はセットアップの途中で chrome-remote-desktop_current_amd64.deb のインストールを求められるため、MIRACLE LINUXではインストールすることができません。
そのため、debパッケージをrpmに変換しインストールを行います。

```console
$ sudo dnf install alien
```

<details><summary>alienと依存パッケージはこちら (MIRACLE LINUX)</summary>

| パッケージ | アーキテクチャー |バージョン | リポジトリー |サイズ |
| --- | --- | --- | --- | --- |
| alien                                   |noarch        |   8.95-14.el8                                |  epel                 |          91 k |
| cdbs                                    |noarch        |   0.4.159-3.el8                              |  epel                 |          62 k |
| debhelper                               |noarch        |   12.7.3-2.el8                               |  epel                 |         989 k |
| dh-autoreconf                           |noarch        |   19-6.el8                                   |  epel                 |          24 k |
| dpkg                                    |x86_64        |   1.20.9-4.el8                               |  epel                 |         1.5 M |
| dpkg-dev                                |noarch        |   1.20.9-4.el8                               |  epel                 |         1.0 M |
| dpkg-perl                               |noarch        |   1.20.9-4.el8                               |  epel                 |         278 k |
| perl-Compress-Raw-Bzip2                 |x86_64        |   2.081-1.el8                                |  8-latest-BaseOS      |          39 k |
| perl-Compress-Raw-Zlib                  |x86_64        |   2.081-1.el8                                |  8-latest-BaseOS      |          67 k |
| perl-Convert-BinHex                     |noarch        |   1.125-13.el8                               |  epel                 |          49 k |
| perl-Data-OptList                       |noarch        |   0.110-6.el8                                |  8-latest-AppStream   |          30 k |
| perl-Devel-GlobalDestruction            |noarch        |   0.14-5.el8                                 |  8-latest-PowerTools  |          23 k |
| perl-Digest-SHA                         |x86_64        |   1:6.02-1.el8                               |  8-latest-AppStream   |          65 k |
| perl-Digest-SHA1                        |x86_64        |   2.13-23.el8                                |  8-latest-PowerTools  |          56 k |
| perl-Email-Date-Format                  |noarch        |   1.005-11.el8                               |  epel                 |          21 k |
| perl-Email-Simple                       |noarch        |   2.216-6.el8                                |  epel                 |          39 k |
| perl-Encode-Locale                      |noarch        |   1.05-10.module+el8+1233+f04ae815           |  8-latest-AppStream   |          20 k |
| perl-File-FcntlLock                     |x86_64        |   0.22-16.el8                                |  epel                 |          45 k |
| perl-File-Remove                        |noarch        |   1.57-6.el8                                 |  8-latest-PowerTools  |          32 k |
| perl-Font-TTF                           |noarch        |   1.06-11.el8                                |  epel                 |         354 k |
| perl-Geography-Countries                |noarch        |   2009041301-27.el8                          |  epel                 |          24 k |
| perl-HTML-Formatter                     |noarch        |   2.16-10.el8                                |  epel                 |          57 k |
| perl-HTML-Parser                        |x86_64        |   3.72-15.module+el8+1233+f04ae815           |  8-latest-AppStream   |         118 k |
| perl-HTML-Tagset                        |noarch        |   3.20-34.module+el8+1233+f04ae815           |  8-latest-AppStream   |          23 k |
| perl-HTML-Tree                          |noarch        |   1:5.07-2.el8                               |  8-latest-PowerTools  |         226 k |
| perl-HTTP-Date                          |noarch        |   6.02-19.module+el8+1233+f04ae815           |  8-latest-AppStream   |          18 k |
| perl-HTTP-Message                       |noarch        |   6.18-1.module+el8+1233+f04ae815            |  8-latest-AppStream   |          99 k |
| perl-IO-Compress                        |noarch        |   2.081-1.el8                                |  8-latest-BaseOS      |         257 k |
| perl-IO-HTML                            |noarch        |   1.001-11.module+el8+1233+f04ae815          |  8-latest-AppStream   |          27 k |
| perl-IO-String                          |noarch        |   1.08-32.el8                                |  8-latest-AppStream   |          20 k |
| perl-IO-stringy                         |noarch        |   2.111-9.el8                                |  8-latest-PowerTools  |          70 k |
| perl-IPC-System-Simple                  |noarch        |   1.25-17.el8                                |  8-latest-AppStream   |          42 k |
| perl-Image-ExifTool                     |noarch        |   12.38-1.el8                                |  epel                 |         3.2 M |
| perl-LWP-MediaTypes                     |noarch        |   6.02-15.module+el8+1233+f04ae815           |  8-latest-AppStream   |          28 k |
| perl-MIME-Types                         |noarch        |   2.17-3.el8                                 |  8-latest-PowerTools  |          76 k |
| perl-MIME-tools                         |noarch        |   5.509-9.el8                                |  epel                 |         249 k |
| perl-Mail-Box                           |noarch        |   3.008-1.el8                                |  epel                 |         389 k |
| perl-Mail-Message                       |noarch        |   3.008-6.el8                                |  epel                 |         480 k |
| perl-Mail-Sendmail                      |noarch        |   0.80-4.el8                                 |  epel                 |          40 k |
| perl-Mail-Transport                     |noarch        |   3.004-3.el8                                |  epel                 |          57 k |
| perl-MailTools                          |noarch        |   2.20-2.el8                                 |  8-latest-AppStream   |         112 k |
| perl-Net-SMTP-SSL                       |noarch        |   1.04-5.el8                                 |  8-latest-AppStream   |          14 k |
| perl-Object-Realize-Later               |noarch        |   0.21-7.el8                                 |  epel                 |          24 k |
| perl-Package-Generator                  |noarch        |   1.106-11.el8                               |  8-latest-AppStream   |          26 k |
| perl-Params-Util                        |x86_64        |   1.07-22.el8                                |  8-latest-AppStream   |          43 k |
| perl-Regexp-Assemble                    |noarch        |   0.38-8.el8                                 |  epel                 |          98 k |
| perl-Sub-Exporter                       |noarch        |   0.987-15.el8                               |  8-latest-AppStream   |          72 k |
| perl-Sub-Exporter-Progressive           |noarch        |   0.001013-5.el8                             |  8-latest-PowerTools  |          23 k |
| perl-Sub-Install                        |noarch        |   0.928-14.el8                               |  8-latest-AppStream   |          26 k |
| perl-TeX-Hyphen                         |noarch        |   1.18-10.1.el8                              |  epel                 |          40 k |
| perl-Test-Simple                        |noarch        |   1:1.302135-1.el8                           |  8-latest-AppStream   |         515 k |
| perl-Text-Autoformat                    |noarch        |   1.750000-1.el8                             |  epel                 |          50 k |
| perl-Text-Reform                        |noarch        |   1.20-25.el8                                |  epel                 |          48 k |
| perl-Time-HiRes                         |x86_64        |   4:1.9758-2.el8                             |  8-latest-AppStream   |          60 k |
| perl-Time-Piece                         |x86_64        |   1.31-420.el8                               |  8-latest-AppStream   |          97 k |
| perl-TimeDate                           |noarch        |   1:2.30-15.module+el8+1233+f04ae815         |  8-latest-AppStream   |          52 k |
| perl-User-Identity                      |noarch        |   0.99-8.el8                                 |  epel                 |          84 k |
| perl-autodie                            |noarch        |   2.29-396.el8                               |  8-latest-AppStream   |          97 k |
| po-debconf                              |noarch        |   1.0.21-2.el8                               |  epel                 |         150 k |
| xz-lzma-compat                          |x86_64        |   5.2.4-3.el8                                |  8-latest-PowerTools  |          27 k |

</details>


<details><summary>alienと依存パッケージはこちら (CentOS Strema8)</summary>

| パッケージ | アーキテクチャー |バージョン | リポジトリー |サイズ |
| --- | --- | --- | --- | --- |
| alien                              |noarch    | 8.95-14.el8                              |epel                | 91 k |
| annobin                            |x86_64    | 10.29-3.el8                              |appstream           |117 k |
| autoconf                           |noarch    | 2.69-29.el8                              |appstream           |710 k |
| automake                           |noarch    | 1.16.1-7.el8                             |appstream           |713 k |
| cdbs                               |noarch    | 0.4.159-3.el8                            |epel                | 62 k |
| cpp                                |x86_64    | 8.5.0-10.el8                             |appstream           | 10 M |
| debhelper                          |noarch    | 12.7.3-2.el8                             |epel                |989 k |
| dh-autoreconf                      |noarch    | 19-6.el8                                 |epel                | 24 k |
| dpkg                               |x86_64    | 1.20.9-4.el8                             |epel                |1.5 M |
| dpkg-dev                           |noarch    | 1.20.9-4.el8                             |epel                |1.0 M |
| dpkg-perl                          |noarch    | 1.20.9-4.el8                             |epel                |278 k |
| dwz                                |x86_64    | 0.12-10.el8                              |appstream           |109 k |
| efi-srpm-macros                    |noarch    | 3-3.el8                                  |appstream           | 22 k |
| elfutils                           |x86_64    | 0.186-1.el8                              |baseos              |542 k |
| gc                                 |x86_64    | 7.6.4-3.el8                              |appstream           |109 k |
| gcc                                |x86_64    | 8.5.0-10.el8                             |appstream           | 23 M |
| gdb-headless                       ||x86_64   | 8.2-18.el8                               |appstream           |3.7 M |
| gettext-common-devel               ||noarch   | 0.19.8.1-17.el8                          |baseos              |419 k |
| gettext-devel                      |x86_64    | 0.19.8.1-17.el8                          |baseos              |331 k |
| ghc-srpm-macros                    |noarch    | 1.4.2-7.el8                              |appstream           |9.3 k |
| glibc-devel                        |x86_64    | 2.28-189.el8                             |baseos              | 79 k |
| glibc-headers                      |x86_64    | 2.28-189.el8                             |baseos              |483 k |
| go-srpm-macros                     |noarch    | 2-17.el8                                 |appstream           | 13 k |
| guile                              |x86_64    | 5:2.0.14-7.el8                           |appstream           |3.5 M |
| intltool                           |noarch    | 0.51.0-11.el8                            |appstream           | 66 k |
| isl                                |x86_64    | 0.16.1-6.el8                             |appstream           |841 k |
| kernel-headers                     |x86_64    | 4.18.0-365.el8                           |baseos              |9.0 M |
| libatomic_ops                      |x86_64    | 7.6.2-3.el8                              |appstream           | 38 k |
| libbabeltrace                      |x86_64    | 1.5.4-3.el8                              |baseos              |200 k |
| libipt                             |x86_64    | 1.6.1-8.el8                              |appstream           | 50 k |
| libtool                            |x86_64    | 2.4.6-25.el8                             |appstream           |709 k |
| libxcrypt-devel                    |x86_64    | 4.1.1-6.el8                              |baseos              | 25 k |
| m4                                 |x86_64    | 1.4.18-7.el8                             |baseos              |223 k |
| make                               |x86_64    | 1:4.2.1-11.el8                           |baseos              |498 k |
| ocaml-srpm-macros                  |noarch    | 5-4.el8                                  |appstream           |9.4 k |
| openblas-srpm-macros               |noarch    | 2-2.el8                                  |appstream           |7.9 k |
| patch                              |x86_64    | 2.7.6-11.el8                             |baseos              |138 k |
| perl-Compress-Raw-Bzip2            |x86_64    | 2.081-1.el8                              |baseos              | 40 k |
| perl-Compress-Raw-Zlib             |x86_64    | 2.081-1.el8                              |baseos              | 68 k |
| perl-Convert-BinHex                |noarch    | 1.125-13.el8                             |epel                | 49 k |
| perl-Data-OptList                  |noarch    | 0.110-6.el8                              |appstream           | 31 k |
| perl-Devel-GlobalDestruction       |noarch    | 0.14-5.el8                               |powertools          | 24 k |
| perl-Digest-SHA                    |x86_64    | 1:6.02-1.el8                             |appstream           | 66 k |
| perl-Digest-SHA1                   |x86_64    | 2.13-23.el8                              |powertools          | 57 k |
| perl-Email-Date-Format             |noarch    | 1.005-11.el8                             |epel                | 21 k |
| perl-Email-Simple                  |noarch    | 2.216-6.el8                              |epel                | 39 k |
| perl-Encode-Locale                 |noarch    | 1.05-10.module_el8.3.0+416+dee7bcef      |appstream           | 22 k |
| perl-File-FcntlLock                |x86_64    | 0.22-16.el8                              |epel                | 45 k |
| perl-File-Remove                   |noarch    | 1.57-6.el8                               |powertools          | 33 k |
| perl-Font-TTF                      |noarch    | 1.06-11.el8                              |epel                |354 k |
| perl-Geography-Countries           |noarch    | 2009041301-27.el8                        |epel                | 24 k |
| perl-HTML-Formatter                |noarch    | 2.16-10.el8                              |epel                | 57 k |
| perl-HTML-Parser                   |x86_64    | 3.72-15.module_el8.3.0+416+dee7bcef      |appstream           |119 k |
| perl-HTML-Tagset                   |noarch    | 3.20-34.module_el8.3.0+416+dee7bcef      |appstream           | 24 k |
| perl-HTML-Tree                     |noarch    | 1:5.07-2.el8                             |powertools          |227 k |
| perl-HTTP-Date                     |noarch    | 6.02-19.module_el8.3.0+416+dee7bcef      |appstream           | 19 k |
| perl-HTTP-Message                  |noarch    | 6.18-1.module_el8.3.0+416+dee7bcef       |appstream           |100 k |
| perl-IO-Compress                   |noarch    | 2.081-1.el8                              |baseos              |258 k |
| perl-IO-HTML                       |noarch    | 1.001-11.module_el8.3.0+416+dee7bcef     |appstream           | 28 k |
| perl-IO-String                     |noarch    | 1.08-32.el8                              |appstream           | 21 k |
| perl-IO-stringy                    |noarch    | 2.111-9.el8                              |powertools          | 71 k |
| perl-IPC-System-Simple             |noarch    | 1.25-17.el8                              |appstream           | 43 k |
| perl-Image-ExifTool                |noarch    | 12.38-1.el8                              |epel                |3.2 M |
| perl-LWP-MediaTypes                |noarch    | 6.02-15.module_el8.3.0+416+dee7bcef      |appstream           | 29 k |
| perl-MIME-Types                    |noarch    | 2.17-3.el8                               |powertools          | 77 k |
| perl-MIME-tools                    |noarch    | 5.509-9.el8                              |epel                |249 k |
| perl-Mail-Box                      |noarch    | 3.008-1.el8                              |epel                |389 k |
| perl-Mail-Message                  |noarch    | 3.008-6.el8                              |epel                |480 k |
| perl-Mail-Sendmail                 |noarch    | 0.80-4.el8                               |epel                | 40 k |
| perl-Mail-Transport                |noarch    | 3.004-3.el8                              |epel                | 57 k |
| perl-MailTools                     |noarch    | 2.20-2.el8                               |appstream           |113 k |
| perl-Net-SMTP-SSL                  |noarch    | 1.04-5.el8                               |appstream           | 15 k |
| perl-Object-Realize-Later          |noarch    | 0.21-7.el8                               |epel                | 24 k |
| perl-Package-Generator             |noarch    | 1.106-11.el8                             |appstream           | 27 k |
| perl-Params-Util                   |x86_64    | 1.07-22.el8                              |appstream           | 44 k |
| perl-Regexp-Assemble               |noarch    | 0.38-8.el8                               |epel                | 98 k |
| perl-Sub-Exporter                  |noarch    | 0.987-15.el8                             |appstream           | 73 k |
| perl-Sub-Exporter-Progressive      |noarch    | 0.001013-5.el8                           |powertools          | 25 k |
| perl-Sub-Install                   |noarch    | 0.928-14.el8                             |appstream           | 27 k |
| perl-TeX-Hyphen                    |noarch    | 1.18-10.1.el8                            |epel                | 40 k |
| perl-Test-Simple                   |noarch    | 1:1.302135-1.el8                         |appstream           |516 k |
| perl-Text-Autoformat               |noarch    | 1.750000-1.el8                           |epel                | 50 k |
| perl-Text-Reform                   |noarch    | 1.20-25.el8                              |epel                | 48 k |
| perl-Thread-Queue                  |noarch    | 3.13-1.el8                               |appstream           | 24 k |
| perl-Time-HiRes                    |x86_64    | 4:1.9758-2.el8                           |appstream           | 61 k |
| perl-Time-Piece                    |x86_64    | 1.31-421.el8                             |appstream           | 98 k |
| perl-TimeDate                      |noarch    | 1:2.30-15.module_el8.3.0+416+dee7bcef    |appstream           | 53 k |
| perl-User-Identity                 |noarch    | 0.99-8.el8                               |epel                | 84 k |
| perl-XML-Parser                    |x86_64    | 2.44-11.el8                              |appstream           |226 k |
| perl-autodie                       |noarch    | 2.29-396.el8                             |appstream           | 98 k |
| perl-srpm-macros                   |noarch    | 1-25.el8                                 |appstream           | 11 k |
| po-debconf                         |noarch    | 1.0.21-2.el8                             |epel                |150 k |
| python-rpm-macros                  |noarch    | 3-41.el8                                 |appstream           | 15 k |
| python-srpm-macros                 |noarch    | 3-41.el8                                 |appstream           | 15 k |
| python3-rpm-macros                 |noarch    | 3-41.el8                                 |appstream           | 14 k |
| qt5-srpm-macros                    |noarch    | 5.15.2-1.el8                             |appstream           | 11 k |
| redhat-rpm-config                  |noarch    | 127-1.el8                                |appstream           | 88 k |
| rpm-build                          |x86_64    | 4.14.3-22.el8                            |appstream           |174 k |
| rust-srpm-macros                   |noarch    | 5-2.el8                                  |appstream           |9.2 k |
| xz-lzma-compat                     |x86_64    | 5.2.4-3.el8                              |powertools          | 28 k |
| zstd                               |x86_64    | 1.4.4-1.el8                              |appstream           |3 |93 k

</details>

## Chrome Remote Desktopをインストール
Ubuntu用Chrome Remote Desktopパッケージをダウンロードします。
```console
$ wget https://github.com/frealgagu/archlinux.chrome-remote-desktop/releases/download/96.0.4664.9-2/chrome-remote-desktop-96.0.4664.9.deb
```

debパッケージをrpmパッケージに変換します。
```console
$ sudo alien -r --scripts ./chrome-remote-desktop-96.0.4664.9.deb
```

競合が発生するため、--replacefilesオプションで上書きインストールします。
```console
$ sudo rpm -ivh --replacefiles ./chrome-remote-desktop-96.0.4664.9-2.x86_64.rpm
```

以下のエラーが発生した場合は、/usr/lib64/llvm14/lib/libclang.so.13 をリネームし/sbin/ldconfigを実行することでシンボリックリンクが作成できました。
```console
/sbin/ldconfig: /usr/lib64/llvm14/lib/libclang.so.13 is not a symbolic link
```
libclang.so.13をリネーム
```console
$ sudo mv /usr/lib64/llvm14/lib/libclang.so.13 /usr/lib64/llvm14/lib/libclang.so.13bak
$ sudo /sbin/ldconfig
$ ls -l  /usr/lib64/llvm14/lib/libclang.so.13
lrwxrwxrwx. 1 root root 18 Jan 21 09:03 /usr/lib64/llvm14/lib/libclang.so.13 -> libclang.so.14.0.6
```

<details><summary>--replacefilesをつけなかった場合のエラーはこちら</summary>

```console
## rpm -ivh chrome-remote-desktop-96.0.4664.9-2.x86_64.rpm 
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
        ファイル / (パッケージ chrome-remote-desktop-96.0.4664.9-2.x86_64 から) は、パッケージ filesystem-3.8-6.el8.x86_64 からのファイルと競合しています。
        ファイル /lib (パッケージ chrome-remote-desktop-96.0.4664.9-2.x86_64 から) は、パッケージ filesystem-3.8-6.el8.x86_64 からのファイルと競合しています。
        ファイル /usr/lib (パッケージ chrome-remote-desktop-96.0.4664.9-2.x86_64 から) は、パッケージ filesystem-3.8-6.el8.x86_64 からのファイルと競合しています。
        ファイル /etc/init.d (パッケージ chrome-remote-desktop-96.0.4664.9-2.x86_64 から) は、パッケージ chkconfig-1.19.1-1.el8.x86_64 からのファイルと競合しています
```

</details>


:::note warn

通常は https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb を取得しrpmパッケージに変換します。
2022/2/27にリリースされた https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb から変換したchrome-remote-desktop-99.0.4844.11-2.x86_64.rpm は以下の依存エラーのためインストールできません。そのため、ひとつ前のバージョンを使用します。
```console
エラー: 依存性の欠如:
libremoting_core.so()(64bit) は chrome-remote-desktop-99.0.4844.11-2.x86_64 に必要とされています
```

:::

#### ライブラリ不足エラー
環境によっては以下の様なエラーが発生するばあいがあるようです｡
```console
libX11.so.6()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libXdamage.so.1()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libXext.so.6()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libXfixes.so.3()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libXrandr.so.2()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libXtst.so.6()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libcairo.so.2()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libdrm.so.2()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libgbm.so.1()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libgdk-3.so.0()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libgtk-3.so.0()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libpango-1.0.so.0()(64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
libxcb.so.1() (64bit) is needed by chrome-remote-desktop-99.0.4844.11-2.x86_64
```

yumコマンドで必要なパッケージをインストールします｡

```console
$ sudo yum install libX11 libXdamage libXext libXfixes libXtst cairo libdrm mesa-libgbm gtk3 pango libxcb
```

#### 依存関係エラー

`rpm --nodeps` を使うとchrome-remote-desktop-99.0.4844.11-2.x86_64.rpmがインストールできるという情報をもらいました。試したところ、インストールに成功しリモートデスクトップ接続もできました。ただ、"古いバージョンをつかうよりジャンキー(definitely jankier than just using an old version though)"ということなので、上記のように古いバージョンをインストールしたほうがよさそうです。

https://twitter.com/nyanotech/status/1498432553581047815


xorg-x11-server-Xvfbをインストールします。
```console
$ sudo dnf install xorg-x11-server-Xvfb -y
```

### デスクトップマネージャ GDMを停止

デスクトップマネージャ GDMが起動していると、Chrome Remote Desktopで接続した際に画面が真っ暗になるためGDMを停止、無効化します。

:::note warn
DGMを停止すると、ローカルでのGUIログインができなくなります。ローカルログインが必要な場合はGDMを起動する必要があります。
:::

```console
$ sudo systemctl disable gdm
$ sudo systemctl stop gdm
```



## Gnome を使用するように Chrome リモート デスクトップ セッションを設定

```console
sudo bash -c 'echo "exec /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
```

もしくは、ユーザーのホームディレクトリで設定します。

```console
$ bash -c 'echo "exec /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session'
```

### デスクトップの解像度を設定
```console
$ vi  /opt/google/chrome-remote-desktop/chrome-remote-desktop
```console
chrome-remote-desktopファイル内の以下の項目を編集します。
```console
DEFAULT_SIZES = "1600x1200,3840x2560"
```

もしくは、ユーザーの環境変数を設定します。
```console
echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" >> ~/.bash_profile
```

### pam権限を変更

```console
$ sudo vi /etc/pam.d/chrome-remote-desktop
```

もともとあったコードをすべてコメントアウトし、新たにコードを追記します。
```console
#@include common-auth
#@include common-account
#@include common-password
#session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
#session required pam_limits.so
#@include common-session
#session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
#session required pam_env.so readenv=1
#session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale

auth required pam_permit.so
account required pam_permit.so
password required pam_permit.so
session required pam_permit.so
session optional pam_umask.so
```

## リモート接続の設定

### セットアップ用コマンドを取得

接続する側のブラウザで https://remotedesktop.google.com/headless を開くかChrome Remote Desktopアプリを起動しセットアップ用コマンドを取得します。

`開始`をクリック。
![test3.local - Google Chrome 2022_02_27 6_33_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/d835c62a-70b1-b338-efc8-b3bedb1e1eba.png)

ダウンロードリンクはなにも触らず、`次へ`をクリック。
![Chrome Remote Desktop - 別のパソコンを設定 - Chrome リモート デスクトップ 2022_02_27 6_33_34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/091d2e5e-654a-aed2-5032-f2d19425f6da.png)


`承認`をクリック。
![Chrome Remote Desktop - 別のパソコンを設定 - Chrome リモート デスクトップ 2022_02_27 6_33_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/63cadae4-0fc8-0c1b-7283-60366cf25ac1.png)


`Debian Linux`の枠の右側にあるコピーアイコンをクリックし、セットアップ用コマンドをクリップボードにコピー。

:::note info
このコマンドは数分間有効で､1回限り使用できます｡再度取得する場合は､`最初からやり直す`ボタンをクリックします｡
:::

![Chrome Remote Desktop - 別のパソコンを設定 - Chrome リモート デスクトップ 2022_02_27 6_33_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/b1b3ffc5-2193-6f45-e245-f24b8a4d839d.png)



コピーしたコマンドをMIRACLE LINUXあるいはCentOS Stream 8の一般ユーザーで実行します。
```console
$ DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="4/0AX4XfWxxxxxxxxxxxxxxxxxxxx-CNOcZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname)
```

6桁のPINコードを設定します。
```console
Enter a PIN of at least six digits: 
Enter the same PIN again: 
[sudo] パスワード:
```

statusを確認し、`Active: active (running)`となっていれば起動成功です。
```console
$ systemctl status chrome-remote-desktop@${USER}
```


### 接続確認

https://remotedesktop.google.com/access を開き、ホストを選択、PINコードを入力します。
![C__Users_tsuyo_Videos_Captures 2022_02_27 6_37_35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/d533fcf0-d727-85b4-2845-048c0d39bfd7.png)


:tada: このようにデスクトップ画面が表示されれば接続成功です。:tada: 
![Chrome Remote Desktop - localhost.localdomain 2022_02_24 1_21_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/9f1b020e-01e4-eb0f-e8cc-72107d024ba5.png)