2024年5月6日月曜日

Ubuntuでモニタをミラーリング・キャスティングする方法について

あまプロではパソコンのOSにUbuntuを使っています。

UbuntuはオープンソースのOSで、誰でも自由に使う事ができます。

先日、Ubuntuさんとしょのに設置されてますAladdinのプロジェクタにUbuntu22.04を接続する際に、けっこうハマりましたのであメログ

先ず、プロジェクタに無線接続(ミラーリングとかキャスティングとか呼ばれてます)するにはMiracast方式を用います。
UbuntuではGNOMENetworkDisplaysというパッケージがありまして、こちらを使います。
只、こちらのパッケージは絶賛開発中でして、未だUbuntuの標準のリポジトリには取り込まれていません。
自力で数多有るパッケージの依存関係を解決して、ビルドして、インストールできない事もないんですが、結構難しいです…自信がある方は是非どうぞ。
なので、今回はFlatpakというUbuntu標準のパッケージには未だ取り入れられてへんけど、先進的なパッケージを使える仕組みを利用します。

0.プロジェクタとUbuntuを同じネットワーク(恐らくWi-Fi)に接続します。
1.先ずはUbuntu側の設定を行います。
  Flatpakをインストールします。
  手順は公式サイトに掲載されています。
  ターミナルで
  sudo apt install flatpak
  sudo apt install gnome-software-plugin-flatpak
  flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

  flatpakとそのプラグインをインストールして、aptのリポジトリ一覧にflatpakリポジトリを追加します。
2.設定を反映する為に再起動します。
3.再起動後に、FlatpakでNetworkDisplaysをインストールします。
  ターミナルで
  flatpak install flathub org.gnome.NetworkDisplays
4.NetworkDisplaysを起動します。
  ターミナルで
  flatpak run org.gnome.NetworkDisplays

  Network Displaysのアプリが起動します。
5.共有ボタンを押下します。
  接続可能なデバイスが一覧表示されます。
  Ubuntu側の設定は一旦これで終わりで、次にプロジェクタ側の設定に移ります。
6.プロジェクタでMiracastの接続を行います。ここではAladdinの例ですが、他のプロジェクタでも殆ど同じやと考えます。
  Aladdinの場合は、ホームメニューでシステム環境設定を押下します。
7.その他の設定を押下します。
8.Miracastを押下します。
9.Aladdinが接続待機になります。
10.数秒待つと、Ubuntu側の接続可能なビデオデバイスにAladdinが表示されます。
11.Aladdinを押下します。
  接続中になります。
12.数秒待つとAladdin側に接続への招待が表示されますので、同意するを押下します。
13.数秒待つと、接続され配信中になります。
14.以上で映像はプロジェクタから出力される筈です。
   偶にエラーになる場合がありますので、何度か試してみて下さい。
   致命的なエラーの場合はターミナルにログが出力されますので、検索してみると何か解決方法が見付かるかもしれません。
15.NetworkDisplaysの初期設定では音声の出力がパソコンになっているので、プロジェクタから出力する様に切り替えます。
  システム設定のサウンドでNetwork-Displaysを選択します。

これで、Ubuntuの映像と音声がプロジェクタから出力される様になりました。
多分、他のディストリビューションでも応用できると考えますので是非ご活用を〜