Harukaのnote

Linuxやプログラミング,写真,旅行等の記録帳

OpenSUSE で chrome-remote-desktop host を自動起動

OpenSUSE Tumbleweed で Chrome-remote-desktopを動かすことができたので、方法を残しておきます。

Google Chrome のインストール

事前にChromeブラウザをインストールします。

#リポジトリ追加
$ sudo rpm --import https://dl.google.com/linux/linux_signing_key.pub


$ sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome

#リポジトリ更新
$ sudo zypper ref

$ sudo zypper in google-chrome-stable

Alienrpm を作成

Alienは .deb を .rpm に変換してくれるソフトです。
今後、公式が rpm で配布してくれるといいのですが…
https://remotedesktop.google.com/access/にアクセスし、.Deb インストーラーをダウンロードします。

Alien のインストール

# リポジトリ追加(Tumbleweed の場合)
$ sudo zypper addrepo https://download.opensuse.org/repositories/system:packagemanager/openSUSE_Tumbleweed/system:packagemanager.repo

# リポジトリ追加(Leap 15.3 の場合)
$ sudo zypper addrepo https://download.opensuse.org/repositories/system:packagemanager/openSUSE_Leap_15.3/system:packagemanager.repo


#リポジトリ更新
$ sudo zypper ref

# Alienのインストール
$ sudo zypper in alien python3-xdg

rpm のビルド

sudo alien -r --scripts chrome-remote-desktop_current_amd64.deb

rpm インストール

$ sudo zypper in ./chrome-remote-desktop-89.0.4389.45-2.x86_64.rpm 
$ sudo chmod +s /opt/google/chrome-remote-desktop/user-session

セットアップ

pam 権限を変更します。
元あったコードはコメントアウトします。

sudo vim /etc/pam.d/chrome-remote-desktop 
/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

Groupに追加

$ sudo groupadd chrome-remote-desktop

$ sudo usermod -aG chrome-remote-desktop [USER]

Native-messaging-hosts ディレクトリへのシンボリックリンク作成

$ sudo ln -s /etc/opt/chrome/native-messaging-hosts/ /etc/chromium/

sessionの設定をします。ここではリモート環境下で利用するデスクトップ環境を決めます。
デスクトップの起動コマンドを確認します。

$ ls /usr/share/xsessions/

default.desktop        gnome.desktop
gnome-classic.desktop  icewm-session.desktop
gnome-xorg.desktop     icewm.desktop

これはGNOMEの場合です。以下のExec=gnomeを次で使うので確認します。

$cat /usr/share/xsessions/gnome.desktop

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=gnome
TryExec=gnome
Name=GNOME
DesktopNames=GNOME
$ vim ~/.chrome-remote-desktop-session
export $(dbus-launch)
# デスクトップはgnomeを選択
exec gnome
# exec startxfce4
# exec cinnamon-session-cinnamon
# exec cinnamon-session-cinnamon2d

事前にデスクトップ環境を入れてなければ、インストールが必要です。

$ sudo zypper in cinnamon (もしくは xfce4)

画面解像度を指定します。

$ mkdir ~/.config/chrome-remote-desktop
$ vim ~/.config/chrome-remote-desktop/Size
~/.config/chrome-remote-desktop/Size
1920x1080

ブラウザから起動

https://remotedesktop.google.com/access/にアクセスし、セットアップします。
次回からopenSUSEを再起動すると自動で起動されると思います。

*自動起動daemon)の設定

$ systemctl --user enable chrome-remote-desktop
$ systemctl --user start chrome-remote-desktop

最後に

Linux OSではOpenSUSEが好きなのですが、これまではChrome-remote-desktopが使えず、研究室での作業PCにはManjaroを使っていました。しかし、この度ManjaroでCRDがなぜか起動できなくなって、これを機にOpenSUSEでの方法を調べて見ました。
なんとかうまくいってよかったです。最近の情報が少なかったので、OpenSUSEが好きな人の参考になれば幸いです。