はじめに
Chrome Remote Desktopは、Windows、macOS、Linuxがホストになれるリモートデスクトップソフトウェアです。LinuxL向けのChrome Remote Desktopアプリはdebパッケージのみ提供されているため、そのままではCentOSなどでは使えません。
rpmがないか探したところ、debパッケージをrpmパッケージに変換しOpenSUSEでChrome Remote Desktopが動作したという事例があったので、CentOS Stream8とMIRACLE LINUX 8.4でも動作しないか挑戦してみました。結果、動作したので以下に手順を整理します。
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 をいろんな環境にインストールしてみた!
- MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう
- OpenSUSE で chrome-remote-desktop host を自動起動
- Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ
- Configuring Chrome Remote Desktop with Ubuntu Gnome 14.04
- Issue 1039016: chrome-remote-desktop/start-host : Couldn't start host: OAuth error.
- frealgagu/archlinux.chrome-remote-desktop
準備するもの
- MIRACLE LINUX 8.4 もしくは CentOS Stream 8 がインストールされた環境
- 本記事では、無償化された MIRACLE LINUX 8.4 をいろんな環境にインストールしてみた! を参考にVMware ESXi 7.0.3上の仮想マシンにOSをインストールしました。
ゴール
このキャプチャのように、CentOS Stream8やMIRACLE LINUX 8.4にChrome Remote Desktopで接続できるようにします。
環境構築
前提条件
- 一般ユーザーはsudo権限を持っていること。
- OSインストール時に、インストールタイプは
ワークステーション
、インストールタイプのアドオンは開発ツール
を選択しました。
CentOS Stream8, MIRACLE LINUX8.4それぞれで、
- SE Linuxが有効になっていますが、無効にする必要はありません。
- firewallの設定変更は不要です。
- Google Chromeのインストールは不要です。(インストールしても問題ありません。)
- Googleアカウントへのログインも不要です。
EPELリポジトリにある Chrome Remote Desktopパッケージは使用しません。インストールしてもOAuth errorで起動できません。
OSを最新の状態に更新
OSを最新の状態に更新し、再起動します。
$ sudo dnf update -y
$ suod shutdown -r now
EPELリポジトリ,PowerToolsリポジトリの有効化
MIRACLE LINUX 8.4 でいろんなリポジトリを使ってみよう を参考に、EPELリポジトリとPowerToolsリポジトリを有効化します。
EPELリポジトリの有効化
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
EPELリポジトリのChrome Remote Desktpがインストールされないよう、除外設定を追加します。
$ sudo vi /etc/yum.repos.d/epel.repo
[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リポジトリの有効化
$ sudo dnf update miraclelinux-repos
$ sudo dnf config-manager --set-enabled 8-latest-PowerTools
$ 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に変換しインストールを行います。
$ sudo dnf install alien
alienと依存パッケージはこちら (MIRACLE LINUX)
パッケージ | アーキテクチャー | バージョン | リポジトリー | サイズ |
---|---|---|---|---|
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 |
alienと依存パッケージはこちら (CentOS Strema8)
パッケージ | アーキテクチャー | バージョン | リポジトリー | サイズ |
---|---|---|---|---|
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 | |
gettext-common-devel | noarch | 0.19.8.1-17.el8 | baseos | |
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 |
Chrome Remote Desktopをインストール
Ubuntu用Chrome Remote Desktopパッケージをダウンロードします。
$ 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パッケージに変換します。
$ sudo alien -r --scripts ./chrome-remote-desktop-96.0.4664.9.deb
競合が発生するため、--replacefilesオプションで上書きインストールします。
$ sudo rpm -ivh --replacefiles ./chrome-remote-desktop-96.0.4664.9-2.x86_64.rpm
以下のエラーが発生した場合は、/usr/lib64/llvm14/lib/libclang.so.13 をリネームし/sbin/ldconfigを実行することでシンボリックリンクが作成できました。
/sbin/ldconfig: /usr/lib64/llvm14/lib/libclang.so.13 is not a symbolic link
libclang.so.13をリネーム
$ 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
--replacefilesをつけなかった場合のエラーはこちら
## 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 からのファイルと競合しています
通常は 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 は以下の依存エラーのためインストールできません。そのため、ひとつ前のバージョンを使用します。
エラー: 依存性の欠如:
libremoting_core.so()(64bit) は chrome-remote-desktop-99.0.4844.11-2.x86_64 に必要とされています
ライブラリ不足エラー
環境によっては以下の様なエラーが発生するばあいがあるようです。
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コマンドで必要なパッケージをインストールします。
$ 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)"ということなので、上記のように古いバージョンをインストールしたほうがよさそうです。
xorg-x11-server-Xvfbをインストールします。
$ sudo dnf install xorg-x11-server-Xvfb -y
デスクトップマネージャ GDMを停止
デスクトップマネージャ GDMが起動していると、Chrome Remote Desktopで接続した際に画面が真っ暗になるためGDMを停止、無効化します。
DGMを停止すると、ローカルでのGUIログインができなくなります。ローカルログインが必要な場合はGDMを起動する必要があります。
$ sudo systemctl disable gdm
$ sudo systemctl stop gdm
Gnome を使用するように Chrome リモート デスクトップ セッションを設定
sudo bash -c 'echo "exec /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
もしくは、ユーザーのホームディレクトリで設定します。
$ bash -c 'echo "exec /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session'
デスクトップの解像度を設定
$ vi /opt/google/chrome-remote-desktop/chrome-remote-desktop
```console
chrome-remote-desktopファイル内の以下の項目を編集します。
```console
DEFAULT_SIZES = "1600x1200,3840x2560"
もしくは、ユーザーの環境変数を設定します。
echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" >> ~/.bash_profile
pam権限を変更
$ sudo vi /etc/pam.d/chrome-remote-desktop
もともとあったコードをすべてコメントアウトし、新たにコードを追記します。
#@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アプリを起動しセットアップ用コマンドを取得します。
Debian Linux
の枠の右側にあるコピーアイコンをクリックし、セットアップ用コマンドをクリップボードにコピー。
このコマンドは数分間有効で、1回限り使用できます。再度取得する場合は、最初からやり直す
ボタンをクリックします。
コピーしたコマンドをMIRACLE LINUXあるいはCentOS Stream 8の一般ユーザーで実行します。
$ DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="4/0AX4XfWxxxxxxxxxxxxxxxxxxxx-CNOcZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname)
6桁のPINコードを設定します。
Enter a PIN of at least six digits:
Enter the same PIN again:
[sudo] パスワード:
statusを確認し、Active: active (running)
となっていれば起動成功です。
$ systemctl status chrome-remote-desktop@${USER}
接続確認
https://remotedesktop.google.com/access を開き、ホストを選択、PINコードを入力します。