MacでVNC接続ができないとき|確かめる順番と権限の落とし穴

mac vnc 接続 できないという状態は、昨日までつながっていたのに今日だけ入れない場合と、最初から一度もつながったことがない場合で、見るべき場所がまったく違います。前者はほぼ電源とネットワークと更新の話で、後者はほぼ権限の話です。ここでは原因を権限、電源、ネットワーク、ポートの4つの層に分けて、上から順に潰していく手順を整理します。追加のソフトを入れる前に確かめられることが、思っているより多く残っています。

「接続できない」の正体は、たいてい権限か電源のどちらか

macOSの画面共有は、追加のソフトなしで動く代わりに、つながれる側のスイッチが何段階かに分かれています。この構造を知らないまま「Mac用のVNCソフトを入れ直す」方向に進むと、入れ替えても同じ症状のまま時間だけが過ぎます。

macOS の標準 VNC こと「画面共有」。つまり、別の Mac のデスクトップを遠隔操作できる標準機能ですが、たまに接続できないことがあるので困ります。 出典: qiita.com

「たまに」という書き方が実態をよく表しています。設定を変えていないのに止まることがあり、そのときは設定の側ではなく状態の側に原因があります。逆に、一度もつながったことがない場合は状態ではなく設定の側です。まずこの2つを自分で仕分けると、読むべき節が半分に減ります。

順番を決めておくことにも意味があります。権限、電源、ネットワーク、ポートの順に見ると、確認にかかる手間が軽いものから重いものへ並びます。最初にポートの疑いから入ると、社内の担当者への依頼が必要になって半日止まりますが、実際の原因が相手のスリープだったという場合が少なくありません。

Appleが挙げている3点を、先に潰す

Appleのユーザガイドには「Macコンピュータの画面を共有できない場合」という項目があり、確認することが3点にまとめられています。

  • 共有する画面を含むMacで画面共有またはリモートマネージメントをオンにしたこと、および共有の権限を設定したことを確認する
  • どちらのMacもスリープ状態でないことを確認する
  • 両方のコンピュータが同じネットワークに接続されていることを確認する

権限の確認方法も具体的に書かれています。アップルメニューからシステム設定を開き、サイドバーの「一般」をクリックして「共有」を開き、「画面共有」の横にあるボタンをクリックして、画面を共有する権限を持つユーザの一覧に自分が入っているかを見ます。「アクセスを許可」が「次のユーザのみ」になっている環境では、画面共有そのものはオンでも、自分の名前が一覧に無ければ入れません。家族や同僚が設定した機材を引き継いだときに、ここで止まっていることがあります。

スリープは、ふだんMacを閉じて持ち歩く人ほど当たります。ふたを閉じた状態や省電力で寝ている状態では、つながれる側として待つことができません。ネットワークの確認については、システム設定のサイドバーで「ネットワーク」を開き、接続の種類の横のインジケータが緑色になっていることと、Wi-Fiならネットワーク名が同じであることを見るよう案内されています。自宅で2.4GHz帯と5GHz帯を別の名前で運用している場合や、ゲスト用のネットワークに片方だけつながっている場合に、この条件が崩れます。

リモートマネージメントがオンだと、画面共有のスイッチは入らない

ここは設定の側の原因として最も見落としやすい箇所です。Appleのユーザガイドは、画面共有をオンにする手順の2番目に「『リモートマネージメント』がオンになっている場合は、オフにします」と書き、続けて両方を同時にオンにすることはできないと明記しています。

過去にApple Remote Desktopで複数台のMacを管理していた環境、あるいは会社から支給された機材では、リモートマネージメントが先に入っていることがあります。この状態で画面共有のスイッチを入れようとしても通らないため、「壊れている」と判断してしまいがちです。実際には排他の仕様です。

注意したいのは、オフにしてよいかどうかが環境によって違う点です。会社が管理しているMacでリモートマネージメントを勝手に落とすと、管理の側の仕組みが止まります。自分の管理下にある機材であれば切り替えて差し支えありませんが、支給された機材なら管理の担当者に確認してから触るほうが安全です。逆に、管理の側でリモートマネージメントを使っているなら、画面共有をオンにする必要はなく、そちらの経路で入れるはずだという話になります。

Mac以外の端末や他社製ビューアーだけ弾かれるとき

Mac同士ならつながるのに、WindowsやLinux、あるいは他社製のVNCビューアーからだけ入れない、という症状にははっきりした理由があります。

画面共有をオンにしたあと、Appleのユーザガイドが示す選択肢は2つです。「ほかのユーザが画面操作の権限を要求することを許可」と、「VNC使用者が画面を操作することを許可」。後者については、このオプションをオンにする場合はパスワードを入力する必要があると書かれています。Mac同士の接続はアカウントのユーザ名とパスワードで成立しますが、VNCの取り決めそのものに沿って入ってくる相手は、この専用のパスワードで認証します。設定されていなければ、相手側の画面にはパスワードを求められないまま拒否されるか、認証に失敗したという表示だけが出ます。

この設定は、画面共有をオンにする操作とは別のチェックボックスなので、「画面共有はオンにした」という記憶があっても入っていないことがあります。Macからはつながるという事実が、かえって原因の切り分けを遅らせます。片方でつながって片方でつながらないときは、道具ではなく認証方式の違いを疑ってください。

名前で引けないときは、アドレスの形を変えて切り分ける

Finderの「移動」メニューから「サーバへ接続」を選び、vnc://に続けて宛先を入れる方法では、宛先の書き方を変えることが切り分けそのものになります。

あとは Mac の Finder からサーバ接続で vnc://ホスト名(xxx.local) って、さっき設定したパスワードで認証すればちゃんとつながります こんな感じで、分かればコマンドそんなに多くないし、GUI でもそこそこ簡単にできるんですけど、この方法にたどり着くまでにめっちゃ回り道しちゃったっていうのが今回の動画ですね 出典: zenn.dev

末尾が.localの名前は、同じネットワークの中で機器の名前を解決する仕組みに頼っています。相手の電源も権限も問題ないのに名前で引けない場合、この仕組みが働いていない可能性があります。切り分けは単純で、名前の代わりにIPアドレスを入れて試します。IPアドレスで入れるなら、原因は名前解決の側にあります。IPアドレスでも入れないなら、原因は電源かネットワークかポートの側です。

無線と有線が混ざる環境、ネットワーク機器が端末同士の通信を遮る設定になっている環境、あるいはVPNにつないだままの環境では、名前で引けなくなることがあります。会社のVPNに接続したまま自宅の別のMacにつなごうとして入れないという症状は、この形をとります。切り分けの意味でも、まずIPアドレスで試すのが早い手です。

ポートが通っていないときに、どこを開けてもらうか

自宅ではつながるのに職場ではつながらない場合、原因はポートに移ります。Appleが公開しているポートの一覧では、TCPとUDPの両方でポート番号 5900 がサービス名rfbとして登録され、説明の欄に「Apple Remote Desktop、画面共有」と書かれています。加えて、UDPの5901から5902がRTPとRTCPとして同じ説明で並んでいます。

もう1つ、Apple Remote Desktopそのものはポート3283をTCPとUDPで使い、サービス名はnet-assistantと記載されています。管理の担当者に依頼を出すときは、この番号とサービス名をそのまま伝えるのが確実です。「VNCを開けてほしい」という言い方だと、どの実装のどの番号を指しているのか通じないことがあります。

高パフォーマンスの画面共有を使う場合は、条件がさらに具体的です。Appleのユーザガイドは、両方のMacコンピュータがUDPポートの5900、5901、5902で相互に通信できる必要があると書いています。「標準」ではつながるのに「高パフォーマンス」だけ通らないという症状が出たら、TCPは開いているがUDPが閉じている、という切り分けになります。会社のネットワークでUDPを広く閉じている例は珍しくないので、この場合は標準で使うという判断が現実的です。

設定を変えていないのに、更新のあとだけ止まる

昨日までつながっていたのに今日だけ入れないという症状で、電源もネットワークも問題ないときは、更新の直後を疑う番です。前掲のQiitaの記事は、原因を何かの承認待ちが発生していることに求め、アプリやOSの更新でキーチェーンアクセスの許可が必要な水準の更新があった場合、承認されるまでロックされると述べています。

見落としやすいのは、これが接続される側だけの話ではないという点です。同じ記事は、接続元のMacでも起きている可能性を挙げ、手元のMacで自動更新があったものの再起動や更新内容の確認が終わっていないケースを指摘しています。つまり、相手のMacを何度も調べても原因が見つからないとき、手元のMacに出ているはずの確認の表示が隠れていることがあります。

この層に当たったときの手当ては、設定をいじることではありません。両方のMacで保留になっている更新と確認の表示を片付けてから、もう一度つなぎます。画面共有の設定を疑って触り始めると、元の状態が分からなくなるので、順番としては最後に回すほうが安全です。

高パフォーマンスを選んだときだけ起きる詰まり方

接続の種類を「高パフォーマンス」にしていると、標準では起きない止まり方をします。前提の条件が多いためです。

Appleのユーザガイドによれば、高パフォーマンスはAppleシリコンとmacOS Sonoma 14以降を搭載したMacで使用でき、1つの4Kディスプレイに対して 75メガビット/秒 の帯域と一貫した低レイテンシが必要で、有線接続が推奨されています。さらに、それぞれのMacで一度に有効にできる高パフォーマンスのセッションは1つだけです。家族や同僚が先に同じMacへ高パフォーマンスで入っている場合、2人目は入れません。

挙動の面でも独特です。高パフォーマンスで相手にログインすると、そのMacにつながっているハードウェアのディスプレイには何も表示されなくなります。共有エリアに置いたMacのプライバシーを守るための仕組みですが、相手が席に着いていると「画面が消えた」という別の障害として報告されます。なお、リモートで制御されている側で画面共有がオンになっている場合は、そのMacにつながっているキーボードのEscapeキーを押すとセッションを終了できます。リモートマネージメントがオンの場合はEscapeキーで終了できないとも書かれているので、相手側で強制的に切りたい場面ではこの違いが効きます。

条件を満たせないなら、標準に戻すのが素直な判断です。音と映像を伴わない作業であれば、標準の適応品質で困る場面はほとんどありません。

つながったあと、その窓をどこに置くかを決める

権限も電源もポートも片付いてつながると、相手の画面はブラウザのタブではなく独立した1枚の窓として手元に残ります。Dockにアイコンが並び、アプリの切り替え画面から一手で戻れます。これは地味ですが、急ぎの用事が多いリモート操作では効き目が大きい性質です。

問題は、同じ性質を持つ画面のうち多くが、まだブラウザの中にあることです。ルーターやNASの管理画面、仮想化基盤のコンソール、クラウドの管理画面、ブラウザの中で動くリモートデスクトップ。どれも開く頻度は低いのに急ぎで、しかも権限が強い画面です。それがタブの列に埋もれていると、障害のときにまずタブを探すところから始まります。

道具を増やさずに直せる部分もあります。macOSのSafariには開いているページをWebアプリとしてDockに追加する機能があり、Chromeにもページをアプリとして扱う機能があります。どちらも指定したURLを独立した窓で開く形になるので、管理画面を1枚に切り出せます。サービスごとに作り方がばらつくのが気になる場合は、サイトをアプリにする専用の道具を使う経路もあり、300以上のプリセットから選ぶだけで作れる形であればURLの入力もアイコンの用意も要りません。作れる範囲はできることに整理されていて、1本作るまでの手順は使い方ガイドで確認できます。

選ぶときの観点は、画面共有で権限を確かめたときと同じ並びです。窓ごとにログイン状態を分けられるか、ブラウザが更新されたときに作った窓がどうなるか、複数の画面を1つの窓にまとめる形も選べるか。権限の強い管理画面は、ふだん使っているブラウザのログイン状態と混ぜないほうが素直です。どのサービスが登録済みかは対応サービス一覧で確認でき、無料の範囲でどこまで作れるかは料金に書かれています。細かい挙動の違いはよくある質問にも並んでいます。

接続の不具合を1回追いかけると、確認の順番が身につきます。その順番を、ブラウザの中に残っている管理画面にも当てておくと、次に何かが止まったときの立ち上がりが早くなります。

よくある質問

何も設定を変えていないのに、急につながらなくなりました。どこを見ればよいですか?

まず両方のMacがスリープしていないことと、同じネットワークにつながっていることを確認してください。それでも直らない場合は、更新の直後を疑います。Qiitaの記事は、OSやアプリの更新でキーチェーンアクセスの許可が必要な水準の更新があると、承認されるまでロックされると述べています。接続元のMacに保留の表示が出ていることもあります。

画面共有のスイッチがオンにできません。故障でしょうか?

仕様です。Appleのユーザガイドには、「画面共有」と「リモートマネージメント」の両方を同時にオンにすることはできないと明記されています。リモートマネージメントがオンなら先にオフにしてください。会社から支給された機材では管理の仕組みが止まる可能性があるため、担当者に確認してから切り替えてください。

Macからはつながるのに、WindowsのVNCソフトからだけ入れません。

接続される側で「VNC使用者が画面を操作することを許可」がオンになっていて、専用のパスワードが設定されているかを確認してください。Mac同士の接続はアカウントのユーザ名とパスワードで成立しますが、VNCの取り決めに沿って入る相手はこの専用パスワードで認証します。別のチェックボックスなので、入れ忘れていることがあります。

職場のネットワークでだけつながりません。何を開けてもらえばよいですか?

Appleのポート一覧では、TCPとUDPのポート5900がサービス名rfbとして「Apple Remote Desktop、画面共有」と記載され、UDPの5901から5902も同じ説明で並んでいます。Apple Remote Desktop自体はポート3283をTCPとUDPで使います。高パフォーマンスの接続はUDPの5900から5902での相互通信が必要なため、UDPが閉じている環境では標準を選んでください。

記事一覧へ戻る