Sidecar機能を使い、iPad1台だけでMac miniのディスプレイにする方法を紹介します。
通常はSidecarはセカンドディスプレイにしか設定できませんが、Mac起動時にAppleScriptを自動実行してiPadに接続します。
作業の概要
今回は、次のMac miniとiPadを使って動作確認が取れました。
機種 | Mac mini(M1, 2020) | iPad Air(第4世代) |
OSバージョン | macOS Big Sur 11.4 | iPadOS 14.6 |
また、以下のリンク先のサイトで公開されているAppleScriptを使用しました。
スクリプトの内容は、あらかじめ設定したSidecar接続先のiPadに自動接続する、といったものです。
なお、macOS 11 Big SurからmacOSのUIの仕様が変わっているので、このページの後述のスクリプトはmacOS 10.15 Catalina以前では動きません。
Catalina以前用のスクリプトも上記サイトで公開されていますが、今回は説明を省略します。
AppleScriptでSidecar接続アプリケーションの作成
▶ Finderで「アプリケーション」-「ユーティリティ」とフォルダをたどって、「スクリプトエディタ」を起動して、「新規作成」ボタンをクリックして新規のスクリプト編集画面を表示します。
▶ 編集画面が表示されたら、以下のスクリプトをコピー・アンド・ペースト(コピペ)します。
インデントが付いていませんが、「スクリプトエディタ」にコピペして保存すると、後述の掲載された画面のようにインデントが付けられます。
set deviceName to "Poseidon" -- Change this to the name of your iPad set displayMenu to "" -- Do not change this tell application "System Events" tell its application process "ControlCenter" -- Get all menu bar items. set menuBarItems to menu bar items of menu bar 1 -- Determine if the Display menu is in the menu bar. repeat with mbi in menuBarItems -- display dialog (name of mbi) as string if name of mbi contains "ディスプレイ" then set displayMenu to mbi end if end repeat -- If the Display menu is in the menu bar, get the Sidecar device. -- In Big Sur, it's a toggle button (checkbox) instead of a menu item. if displayMenu is not equal to "" then click displayMenu set deviceToggle to checkbox 1 of scroll area 1 of group 1 of window "コントロールセンター" whose title contains deviceName -- Click the device. click deviceToggle -- The menu name changes when Sidecar is active, so we need to get the Display menu again, then click to close it. set displayMenu to (first menu bar item whose name contains "ディスプレイ") of menu bar 1 click displayMenu else -- If the Display menu isn't in the menu bar, display an error message. set errorMessage to "Display menu not found in menu bar. Open System Preferences > Dock & Menu Bar. Set Display to "Show in Menu Bar > Always."" display dialog errorMessage with icon caution end if end tell end tell
▶ 「スクリプトエディタ」にコピペして保存すると、以下の図のようにインデントが付きます。
おおもとのスクリプトからの変更点は①〜④と4つあります。
①は、自分のSidecar接続先のiPadの名前に変えます。
②〜④は、おおもとは”Display”や”Control Center”と英語ですが、Macを日本語で使っている場合は図のように変更します。(Macを英語や他の言語で使っている場合は、適宜変更する必要があります。)
▶ スクリプトを修正したら、図のようにファイルフォーマットを「アプリケーション」で適当な書き出し名で書き出してやります。
▶ Finderで作成したアプリケーションを「アプリケーション」フォルダに移動します。
▶ 作成したアプリケーションの動作テストとセキュリティ設定を兼ねて、今の環境で実行してみます。
実行すると、図のようにアクセスの要求画面が出るので、「OK」で許可してやります。
▶ 図のように「アクセシビリティアクセス」が表示されたら、「”システム環境設定”を開く」をクリックして、「セキュリティとプライバシー」の設定で当該アプリケーションにアクセス許可を与えます。
▶ 各種のセキュリティの設定でアプリケーションの実行が中断されているはずなので、もう一回実行してみます。
セキュリティの設定がうまくいっていたら、自動的にiPadにSIdecar接続されます。
うまくいかなかったら、ここまでの手順を一つづつ見直してください。
作成したアプリケーションをMac起動時に自動実行する設定をする
▶ 「システム環境設定」の「ユーザとグループ」を開き、「ログイン項目」の中に当該アプリケーションを登録します。
▶ これで、外部ディスプレイを何もつながない状態で、Mac miniの電源を入れると、自動的にSidecar機能でiPadに接続されます。
「ジャーン」という起動音が鳴ってから、使えるようになるまで、だいたい1分弱ぐらいかかります。
このページの記事は、ここまでです。
おすすめの商品
12.5型の小型の液晶モニタです。
以下の特徴があります。
- Mac miniとUSB Type-C一本で接続可能(映像+給電)
- 本体のみで400g台、カバーと合わせても700g台と軽量
- 日本製メーカーの安心感
出先で作業をする時の持ち運びセットとしていかがでしょうか。
コメント
素晴らしい情報ありがとうございます。
なお、自分のMacの場合は、ディスプレイアイコンがメニューバーに常時表示ではなく、最初はうまく行きませんでしたが、
システム環境設定>Dockとメニューバー>ディスプレイ>メニューバーに表示>常に
と設定をして解決しました。
他にも同様の方がいたら、ご参考までに。
参考になる情報です、ありがとうございます!
情弱ながら質問します。
▶ Finderで作成したアプリケーションを「アプリケーション」フォルダに移動します。
までやりましたが、補助アクセスは許可されません。と表示されました。
ですがセキュリティとプライバシーのところで当該スクリプトは「コンピュータの制御を許可」のところにチェックマーク入れてます。
どこを改善すれば良いでしょうか
Macの機種、macOSのバージョン、iPadの機種、iPadOSのバージョン、以上4つを教えて下さい。
Mac→2020M1チップ512GB
macOSバージョン→11.5.2
iPadの機種→iPad pro WiFi 1TB
iPadOSバージョン→14.6
です
こちらでも、macOS 15.2で再現してみました。
確かに、補助アクセス〜で怒られて実行できなかったです。
macOS 11.4では動いていたので、セキュリティの仕様が変更になったか、バグのどちらかだと思います。
しばらくネットで情報を探してみましたが、解決策が見つからないので、このページでも但し書きを追加します。
その後なにか対処法が見つかったら補足します。
abcさん、いち早く有益な情報ありがとうございました。
私の場合はiPadのWi-FiをOFFにしたら、うまく行きました。
macminiを最近購入して、この記事に辿り着きました。
なんとか使えないかと、参照されていたHPも覗いて見たのですが、やはりエラーが表示されました。
新しいOSでも設定できないか、検証していただけると幸いです。
コメントありがとうございます。
12月中旬〜下旬に、macOS 12.1 Montereyがリリースされそうなので、そのタイミングで検証を行います。
「セキュリティとプライバシー」の設定で当該アプリケーションをデベロッパーツールに登録すれば無理矢理に起動することはできました。
ただ、最新のmacOS 12.1 Montereyではそもそもプログラムが実行できなくなっていたのでgithubに上がっていたコードを修正して使っています。
「Control center」→ 「コントロールセンター」
「Connect to Sidecar」→「Sidecarに接続」
コメントありがとうございます。
有用な情報を教えていただいたので、こちらでも検証してみます。
こんにちは。ブログの記事を参考にさせていただき、ipad air4をメインディスプレイ化することを試みました。
しかし、試してみたところ、System Eventsでエラーが起きました: group 1 of window “コントロールセンター” of application process “ControlCenter”を取り出すことはできません。正しくないインデックスです。と言われてしまい、うまくスクリプトを起動させることができません。
何か、解決策がございましたら、教えていただけたら幸いです。
よろしくお願いいたします。