R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

ChromeRemoteDesktopを入れたらリアル端末の方からログインできなくなった。

現象

自宅のデスクトップPCにChromeRemoteDesktopをインストールして、iPhoneアプリのChromeRemoteDesktopを使ってリモートアクセスして以降、デスクトップPCでログインしても操作が一切効かない。
ただ、ログインがはじかれるというより、ログインはできているっぽい(私のはUbuntu 20.04なので、いつもの紫色のデスクトップ背景が見えている)が、操作が全くできない。

環境

  • リモート先(デスクトップPC):Ubuntu 20.04
    • Google Chrome:Version 98.0.4758.102 (Official Build) (64-bit)
    • ChromeRemoteDesktop(sudo apt installしたパッケージ):96.0.4664.9
  • リモート元:iPhone (ChromeRemoteDesktopアプリ)

気づき

iPhoneのChromeRemoteDesktopアプリ(以下、「リモート(側)」)でログインし、同時にデスクトップPC(以下、「リアル(側)」)でもログイン(ただし、前述の通り操作は効かない)した状態で、リモート側でTerminal(Ctrl + Alt + t)を立ち上げてもTerminalが出てこないなと思ったら、なんとリアル端末側でTerminalが出てきたので、リモート側とリアル側でセッションが同一になってしまっているんだな、ということは直感的に感じたものの、リモート側を切断してもリモート側の画面がリアル側に戻ってきてくれない(自分でも何を書いているのかよくわからないが、知識が貧弱すぎてこれしか書きようがないです)ので、どうするんだこれ、という感じ。

検索ワードも見当がつかないまま、手当たりしだいにググっているうちに、下記の公式ヘルプに辿り着いた。(この中の、「ステップ3(省略可):仮想デスクトップ セッションをカスタマイズする」)
support.google.com

解決策

上記の公式ヘルプの中で、ホームディレクトリに.chrome-remote-desktop-sessionを作れ、という下りがあるが、llした(リモートとリアルで同時にログインしてTerminalを立ち上げるとリアル側でTerminalが操作できる。キーボードもリアル側で叩く。)ところ、既に.chrome-remote-desktop-sessionは存在して、記載内容は下記の通りだった。

exec /etc/X11/Xsession 'env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --systemd --session=ubuntu'

なお、作成日時はChromeRemoteDesktopをインストールした時刻あたりだったので、インストールの際に作成されたのだろう。

公式ヘルプには

ヒント: デスクトップ環境によっては、一度に複数のセッションを実行できない場合があります。この場合は、Chrome リモート デスクトップのセッションとローカル セッションで別のデスクトップ環境を使用するか、セッション選択ツールを使用することをおすすめします。

ともある。この.chrome-remote-desktop-sessionがあるせいでリモート側とリアル側のセッションが一体化してしまったのではないかと、適当かつ素人的なことを考え、消した(実際には_bakを付けてリネーム)ところリアル側でのログインが正常化した。
また、リモート側で改めてアクセスすると、下のスクリーンショットのように、セッション選択画面が表示されるようになった。(ちなみに、(default)ではなくUbuntuを選ばなければいけない)

ChromeRemoteDesktopのセッション選択画面

注意事項(自分のための備忘録)

公式ヘルプのヒントにもあるとおり、リモート側とリアル側で同時にログインすると、セッションが一体化してしまうため、リモートとリアルを切り替える場合はきちんとログアウトする。
※恐らく、きちんと設定すれば、リモートとリアルでセッションを分けられるのだろうと思いつつ、必要性を感じていないため、現時点では先送り。

その後(ubuntu / lubuntu 22.04)

Lubuntu 22.04で同じくChrome Remote Desktopを入れたところ、そもそもからして「リモートアクセスの設定 不明なエラーが発生しました。」というエラーが出て、インストールができない。
この記事(Google Chromeリモートデスクトップの設定)を参考に、スクリプトを走らせてなんとかインストールはできたものの、やはり以前と同じ現象が発生。
同じように、.chrome-remote-desktop-sessionを消したところ、リアル端末からのログインを完全に受け付けなくなってしまった(ログインしても何かはじかれてログイン画面に戻ってしまう)。

自分の中の勝手な結論として、少なくともUbuntuディストリビューションにはChrome Remote Desktopは向いていない。
Chrome Remote Desktopというのは、WindowsのHome版を使っていて、RDPが使えない場合の手段であって、リモート手段が豊富にあるLinuxでわざわざ使うことはなかろうと思うことにした。

結局、ChromebookからLubuntuへのデスクトップ環境への接続には、VNCを用いています。
下記の記事を参考にしました。ただ、「セキュアな接続」あたりは、真面目にやりませんでしたが。
www.digitalocean.com