以前もOpenSUSE用のchrome remote desktopの記事を書きましたが、最近はその方法でうまく起動できなくなっていたので、最新版(2024年2月)を自分用のメモとして残しておきます。 過去記事は以下です。
OpenSUSE で chrome-remote-desktop host を自動起動 - Harukaのnote
目次
- 目次
- 事前に必要なソフトウェアの準備
- Display Managerの変更
- pam権限の変更
- chrome remote desktopのインストール
- chrome remote desktopの起動
- エラーが発生する場合
事前に必要なソフトウェアの準備
以下のソフトウェアは必要なので、インストールしておきます。
Google Chrome
Google Chromeの公式サイトより、rpm
版をインストールします。
alien
.deb
パッケージ(Ubnutu/Debian用)を.rpm
パッケージに変換するためのソフトウェアです。
以下のOpenSUSEのsoftwareページからバイナリパッケージを直接取得するを選択し、15.5用のバイナリパッケージをインストールします。
このとき、「依存関係に問題があります」と表示されますが、リポジトリを追加しないバイナリインストールのときは大抵言われますので、「無視」で大丈夫です。
https://software.opensuse.org/download/package?package=alien&project=system%3Apackagemanager:embed:cixdpyinfote
その他依存するソフトウェア
以下のパッケージも必要ですが、デフォルトのリポジトリに含まれているのでzypper install
で一括インストールします。
sudo zypper install xorg-x11-server-Xvfb cairo libdrm-tools gtk3 libpango-1_0-0 pkexec xdpyinfo xdg-utils python3-pyxdg lightdm
Display Managerの変更
デスクトップにGnomeを使っている場合、Gnome標準のgdm
はchrome remote desktopと相性が悪いので、変更する必要があります。
今回は、先程インストールしたlightdm
に切り替えます。yast経由で簡単に変更できます。
使用したいdmの番号を入力してEnterキーを押します。
sudo update-alternatives --config default-displaymanager 選択肢 パス 優先度 状態 ------------------------------------------------------------ 0 /usr/lib/X11/displaymanagers/gdm 25 自動モード 1 /usr/lib/X11/displaymanagers/console 5 手動モード 2 /usr/lib/X11/displaymanagers/gdm 25 手動モード * 3 /usr/lib/X11/displaymanagers/lightdm 15 手動モード 4 /usr/lib/X11/displaymanagers/xdm 10 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 3
pam権限の変更
chrome remote のpam権限を変更します。
sudo vim /etc/pam.d/chrome-remote-desktop
以下のように変更します。
# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. #@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
ここで、pam権限とdmの変更を反映させるために一度、再起動します。
chrome remote desktopのインストール
chrome remote dektopのサイトから、「リモート アクセスの設定」を押して.deb
のパッケージを取得します。
remotedesktop.google.com
rpmに変換
alienを使って.rpm
に変換します。
sudo alien -r --scripts ./chrome-remote-desktop_current_amd64.deb
インストール
rpmコマンドを使ってインストールします。
120.0.6099.24-2
の部分はバージョンなので、都度変化します。
sudo rpm -ivh --replacefiles ./chrome-remote-desktop-120.0.6099.24-2.x86_64.rpm
設定ファイルの準備
ホームに設定ファイルを作成します。
vim ~/.chrome-remote-desktop-session
以下のように設定します。これはgnomeの例で、cinnamonを使う場合はexec /usr/bin/cinnamon-session
のように変更します。
export $(dbus-launch) exec /usr/bin/gnome-session
画面解像度を指定したい場合、以下のようなファイルを作成します。
mkdir ~/.config/chrome-remote-desktop vim ~/.config/chrome-remote-desktop/Size
以下のように書くことで任意の解像度に設定できます。
1920x1080
Groupの追加
groupにchrome-remote-desktop
を追加し、そこに自分を追加します。
sudo groupadd chrome-remote-desktop
sudo usermod -a -G chrome-remote-desktop $USER
chrome remote desktopの起動
以前はsystemctl
で起動していましたが、今はhttps://remotedesktop.google.com/headlessより、起動コマンドを取得するようです。
「開始」→「次へ」→「承認」と進め、Debian Linux用のコマンドをコピーして、ターミナルより実行します。
DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="XXXXXX" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname)
--code="XXXXXX"
の部分が時間により変化するので、失敗したときは再度サイトにアクセスして発行します。
確認
https://remotedesktop.google.com/accessからマシンがオンラインとなっていることが確認できたら成功です。
エラーが発生する場合
大抵は依存するソフトウェアが足りていない状況です。 以下のコマンドでログを確認して、足りないソフトウェアを追加します。
sudo journalctl | grep chrome-remote-desktop