#はじめに
2021年のいずれかの時点で、Linux環境にChromeリモートデスクトップをインストールしても起動せず、リモートアクセスされる端末として動作しない問題が起こるようになったため、解決法を示す。
#1.検証環境
KDE neon 5.22 User Edition
Ubuntu 21.04
Zorin OS 16 Core
#2.問題の所在
インストールまたは起動の過程で行われるべき手順が正常に行われていないこと。
問題の所在を突き止めるにあたって、/opt/google/chrome-remote-desktop/chrome-remote-desktopの以下の記述を参考にした。
CHROME_REMOTING_GROUP_NAME = "chrome-remote-desktop"
HOME_DIR = os.environ["HOME"]
CONFIG_DIR = os.path.join(HOME_DIR, ".config/chrome-remote-desktop")
SESSION_FILE_PATH = os.path.join(HOME_DIR, ".chrome-remote-desktop-session")
SYSTEM_SESSION_FILE_PATH = "/etc/chrome-remote-desktop-session"
SYSTEM_PRE_SESSION_FILE_PATH = "/etc/chrome-remote-desktop-pre-session"
本来はインストール後、chrome-remote-desktopグループの作成と当該グループへのユーザーの追加、およびいくつかのフォルダ、ファイルの作成が行われているはずであるが、それらが作成されていなかったため、これを手動で行う必要がある。
#3.解決方法
Chrome リモートデスクトップ on Ubuntu
上掲の記事で示されているデフォルトのセッションを利用するための設定を行う。
なお、2021年9月現在、/opt/google/chrome-remote-desktop/chrome-remote-desktopの内容が変更されているので、launch_sessionの設定については以下のようにする。
def launch_session(self, x_args):
self._init_child_env()
self._setup_pulseaudio()
self._setup_gnubby()
self._launch_x_server(x_args)
if not self._launch_pre_session():
# If there was no pre-session script, launch the session immediately.
self.launch_x_session()
↓
def launch_session(self, x_args):
self._init_child_env()
self._setup_pulseaudio()
self._setup_gnubby()
# self._launch_x_server(x_args)
# if not self._launch_pre_session():
# If there was no pre-session script, launch the session immediately.
# self.launch_x_session()
display = self.get_unused_display_number()
self.child_env["DISPLAY"] = ":%d" % display
その後、以下の手順を行う。
なお、本来はデフォルトのセッションを利用する設定を行わずとも、以下の手順を行うのみで動作するものと考えられるが、筆者の環境では以下の手順のみを行っても起動しなかった。
cd ~
touch .chrome-remote-desktop-session
cd ~/.config
mkdir chrome-remote-dektop
sudo addgroup chrome-remote-desktop
sudo usermod -a -G chrome-remote-desktop ${USERNAME}
cd /etc
sudo touch chrome-remote-desktop-session
sudo touch chrome-remote-desktop-pre-session