Ubuntu 24.04 における Chrome Remote Desktop 音声対応構築
これもマニア向けCRDインストール忘備録です
ステップ1: CRD のインストールと動作確認
ステップ2: /opt/google/chrome-remote-desktop の改変(同一セッション使用)
以下のように /opt/google/chrome-remote-desktop/chrome-remote-desktop
を編集。
FIRST_X_DISPLAY_NUMBER = 20
↓
FIRST_X_DISPLAY_NUMBER = 0
該当部分をコメントアウト:
# while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
# display += 1
# self._launch_server(server_args)
# if not self._launch_pre_session():
# self.launch_desktop_session()
display = self.get_unused_display_number()
self.child_env["DISPLAY"] = ":%d" % display
ステップ3: CRD が作成する FIFO へ PipeWire 音声を転送
/run/user/1000/crd_audio#XXXXX/fifo_output
)が作成されるpactl load-module module-pipe-sink file=/run/user/1000/crd_audio#*/fifo_output
sink_name=chrome_remote_desktop_session
paplay --device=chrome_remote_desktop_session /usr/share/sounds/freedesktop/stereo/complete.oga
ステップ4: 仮想 Sink 自動検出・登録スクリプトの作成
~/.config/crd-audio/load-crd-sink.sh
を作成:
#!/bin/bash
FIFO=$(ls -d /run/user/$(id -u)/crd_audio#*/fifo_output 2>/dev/null | head -n1)
[ -n "$FIFO" ] && pactl load-module module-pipe-sink file="$FIFO"
sink_name=chrome_remote_desktop_session
権限付与:
chmod +x ~/.config/crd-audio/load-crd-sink.sh
ステップ5: systemd --user による仮想 Sink 自動起動
~/.config/systemd/user/crd-audio-sink.service
を作成:
[Unit]
Description=Load CRD virtual audio sink
After=default.target
[Service]
Type=oneshot
ExecStart=%h/.config/crd-audio/load-crd-sink.sh
[Install]
WantedBy=default.target
有効化と起動:
systemctl --user daemon-reload
systemctl --user enable --now crd-audio-sink.service
ステップ6: 動作確認と再起動後の永続性チェック
- CRD で GNOME 同一セッションが表示されること
- 接続後に FIFO が自動検出され仮想 Sink が登録されていること
- 音声出力が
chrome_remote_desktop_session
へ流れていること(例:YouTube 再生) - 再起動後も自動的に音声が出力されること
構成図(概要)
[ PipeWire Audio Apps ] │ ▼ [module-pipe-sink] → /run/user/1000/crd_audio#/fifo_output → CRD → Remote Client
補足事項
- PipeWire 1.0.5 で動作確認
- CRD 公式は仮想セッションを想定しているため、同一セッション構成は非公式改変
まとめ
この手順により、Ubuntu 24.04 における Chrome Remote Desktop で「同一セッション + 音声対応」を安定構築できます。 PipeWire を活かし、仮想 Sink → FIFO 経由で CRD に音声を転送します。systemd --user による自動化も含め、完全自動構成を実現しています。