OSのサポートが切れたり、スペック不足で動作が重くなったりして、部屋の隅でホコリを被っている古いiMacはありませんか?

美しい大画面ディスプレイをそのまま手放すのはもったいないですが、最近のmacOSではiMacをサブモニターとして使用できる機能だった「ターゲットディスプレイモード」が廃止されてしまい、再利用のハードルが高くなっています。

以前にiMacをターゲットディスプレイモードで使用する方法について紹介しています。

特定の時期のiMacや環境では使用できる可能性があります。

ぜひ一度お試しください。

しかし、無料のオープンソースツールである「Sunshine」と「Moonlight」を活用することで、古いiMacを低遅延・高画質な外部ディスプレイとして使うことができるようになります。

今回は、高価なキャプチャーボードや特殊なケーブルを使わず、ネットワーク経由でiMacをサブモニター化する具体的な環境構築手順について解説していきます。

Sunshineとは

まず、Sunshineとは何なのでしょうか。

GitHub – LizardByte/Sunshine: Self-hosted game stream host for Moonlight.
Self-hosted game stream host for Moonlight. Contribute to LizardByte/Sunshine development by creating an account on GitHub.
github.com
No Image

Sunshineは、PCの画面を低遅延・高画質でネットワーク経由に配信できるオープンソースソフトウェアです。ゲームストリーミング用途で広く利用されていますが、通常のデスクトップ画面の共有にも利用できます。

使用するもの

今回使用するものは以下の通りです。

  • ホストPC(画面を配信するメインPC)
  • クライアントPC(映像を受信する古いiMac))
  • 同一LAN(有線LAN推奨)

今回はホストPCとしてMac mini (M4 Pro) (2024)を、クライアントPCとしてiMac (27-inch, Late 2013)を使用します。

Sunshineを使用する利点は、画面を表示するメインのPCがMacである必要がない点です。後述しますが、Sunshineが動くWindows・macOS・Linuxマシンであれば、ホストとして利用できます。

ホストPCの条件

ホストPCには、Sunshineが動作することに加え、仮想ディスプレイを作成できる環境が必要です。Sunshineの対応OSは以下の通りです。

OSFreeBSD: 14.4+
Linux/Debian: 13+ (trixie)
Linux/Fedora: 43+
Linux/Ubuntu: 22.04+ (jammy)
macOS: 14.2+
Windows: 11+ (Windows Server does not support virtual gamepads)
https://github.com/lizardbyte/sunshineより引用

仮想ディスプレイとは、実際には接続されていないディスプレイをOS上で仮想的に作成する機能です。これにより古いiMacを独立したサブディスプレイとして利用できます。

クライアントPCの条件

クライアントPCには、映像を受信するためのMoonlightが動作する環境が必要です。今回は古いiMacを使用していますが、Moonlightが利用できるPCであれば基本的に同じ手順で利用できます。

また、低遅延で快適に使用するため、有線LANまたは高速で安定したWiFi環境がおすすめです。

なお、本記事ではパッチツールを利用してmacOS Sonomaをインストールした環境を使用していますが、Moonlightが動作するmacOSであれば同様の手順で行うことができます。

古いiMacでは、対応するmacOSのバージョンが古く、Moonlightをインストールできない場合があります。その場合は、OpenCore Legacy Patcherなどを利用して対応するmacOSへアップデートすることで、利用できる可能性があります。ただし、非公式な方法となるため、事前に対応機種や注意事項を十分確認した上で実施してください。

環境構築

それでは、実際に設定を行っていきましょう。

Sunshineのインストール(ホストPC)

まず、ホストPCにSunshineをインストールします。

Sunshineは画面をネットワーク経由で配信するためのソフトウェアで、ホストPC側で動作します。

上記のURLにアクセスし、最新版のSunshineをダウンロードしましょう。

上記のページを下の方にスクロールすると、このような表があります。

ここで、自分の環境にあったファイルを探し、クリックしてダウンロードしましょう。

今回は、apple siliconのmacなので、Sunshine-macOS-arm64.dmgをクリックしました。

ダウンロードしたdmgファイルを開くと、次のような画面が表示されます。

利用規約を読み、右下のAgreeを押して同意しましょう。

次に、下のような画面になるので、Sunshine.appをドラッグして右側のApplicationsに入れます。

終わったら、アプリから、Sunshineを探して開きます。

ここで注意したいのが、Sunshineを起動してもアプリケーションのウィンドウは表示されないことです。

Sunshineの設定はすべてWebブラウザから行います。そのため、インストール後はブラウザで設定画面へアクセスして初期設定を進めます。

また、アプリを開く際などに、次のメッセージなどが表示されたら、設定から許可をしてください。

次に、Webブラウザを開き、次のURLを入力してアクセスしてください。

https://localhost:47990

すると、次のような画面が表示されると思います。

そうしたら、詳細設定からlocalhost にアクセスする(安全ではありません)をクリックしてアクセスしましょう。

すると、次のような画面が表示されます。

ここでは、次回以降Sunshineの設定にログインするためのユーザー名とパスワードを設定します。忘れないようなものを考えて入力し、Loginをクリックしましょう。

すると、ユーザー名とパスワードを聞かれるので、先ほど設定したものを入力してログインしましょう。

ログインが成功すると、次のようなダッシュボードが表示されます。

これでひとまず、Sunshineのインストールは完了です。

仮想ディスプレイの作成

macOSでは、サブディスプレイとして利用するために仮想ディスプレイを作成します。本記事では、betterDisplayというツールを使用して仮想ディスプレイを作成します。

次のURLからdmgファイルをダウンロードしましょう。

dmgファイルを開いたら、同様にBetterDisplay.appをApplicationsにドラッグします。

そうしたら、アプリからBetterDisplay.appを開きましょう。

そうしたら、画面右下の新規仮想スクリーンを作成をクリックします。

この設定で仮想スクリーンを作成をクリックし、仮想スクリーンを作ります。

すると、仮想 16:9という名前の仮想スクリーンを作ることができました。

この仮想スクリーンを接続というスイッチをONにして、接続しておきます。

次に、macのシステム設定を開き、ディスプレイの項目を開きましょう。

無事、仮想16:9というディスプレイが追加されているのがわかります。

ここで、使用形態を拡張ディスプレイに設定し、iMacと同じ解像度に合わせておきましょう。

Sunshineの設定

次に、作成した仮想ディスプレイをSunshineが使えるように設定しましょう。

先ほどのwebブラウザの画面上部から、トラブルシューティングをクリックし、サンシャインを再起動するをクリックします。

Screenshot

しばらく待ったら、この画面を再読み込みします。

そうしたら、一番下のログという部分から、Info: Detecting displaysという文章を探しましょう。

ここには、Sunshineが検出したディスプレイの一覧が表示されています。先ほど作成した仮想ディスプレイもしっかり認識していることがわかります。

ここで、仮想 16:9 と書かれた直後にあるid: 9をメモしておきましょう。これが表示IDとなります。

次に、画面上部のメニューバーから設定をクリックし、Audio/Videoタブを選択します。

この表示IDと書いてある部分に先ほどメモしたIDを入力しましょう。

入力が完了したら保存ボタンを押し、そのあと表示される適用ボタンもクリックしましょう。

こうすることで、Sunshineが再起動され、設定が適用されます。

Moonlightのインストール(iMac)

次に、映像を映す古いiMacでの作業になります。

上記のURLにアクセスし、macOS用のファイルであるmoonlight-(バージョン名).dmgをダウンロードします。

ダウンロードしたdmgファイルを開き、先ほどと同様にMoonlightアプリをドラッグしてApplicationsにコピーしましょう。

そうしたら、アプリからMoonlightを開きます。

すると、自動的に同一LAN内にあるSunshineのインストールされたPCを探して表示してくれます。

表示されたPCのアイコンをクリックしましょう。

Please enter [PIN] on you host PC.と表示されるPINをメモしておきましょう。この場合では1234がPINになります。

次に、ホストPCのWebブラウザに戻り、画面上部のメニューからPINをクリックします。

このPINに先ほどのPINを入力します。

また、端末名はなんでもよいのですが、imacと入力しました。

入力が完了したら、下の送信ボタンをクリックします。

すると、iMac側では、先ほどアイコンに鍵がついていたのが外れて表示されます。

そうしたら、このアイコンをクリックしましょう。

次に、左側のDESKTOPをクリックして開きます。

すると、全画面でホストPCの映像が流れ始めます!!!

以上の手順で、古いiMacをサブディスプレイとして使うことができるようになりました!

ストリーミングを終了する場合には、⌃ Control + ⌥ Option + ⇧ Shift + Qを押すことで、Moonlightのセッションを終了できます。

ストリーミングの設定をしよう

次に、画質の調整などをしていきましょう。

この画面右上にある設定ボタンをクリックします。

左上で、画質とフレームレートを変更することができます。

また、ビデオのビットレートも選択することができます。ビットレートを高くすると画質は向上しますが、必要な通信帯域も増加します。ネットワーク環境によっては遅延や映像の乱れが発生することもあるため、環境に合わせて調整しましょう。

左下のUI Settingsで、Show connection quality warningsがオンになっていると、通信状況が悪い場合右上に赤文字で通信クオリティの警告が表示されます。

まとめ

今回はSunshineとMoonlightを利用して、古いiMacをサブディスプレイとして再利用する方法を紹介しました。

ターゲットディスプレイモードが利用できない機種でも、ネットワーク経由で快適に利用できます。

使わなくなったiMacを活用したい方は、ぜひ試してみてください。