mac カレンダー終了できないときの原因と対処

mac カレンダー終了できない状態は、地味に時間を奪います。command+Qを押しても何も起きない。メニューバーはそのアプリのままで、Dockのアイコンの下の点も消えない。ウィンドウが固まっていることもあれば、ウィンドウはとっくに閉じているのにプロセスだけが残っていることもあります。そのせいでMac自体の再起動やシャットダウンも止まる、という形で気づく人も多いはずです。

結論を先に書きます。終了できないカレンダーは、壊れているのではなく、返ってこない相手を待っている状態がほとんどです。何を待っているのかが分かれば、待つべきか、強制終了すべきか、それともアカウントの持たせ方を変えるべきかが決まります。

そもそも終了に時間がかかる理由

アプリの終了は、押した瞬間に終わる設計にはなっていません。終了を求められたアプリは、まずやりかけの仕事を片付けます。保存していない変更をディスクへ書き出し、開いている通信を閉じ、裏で動いている補助的な処理に終わることを伝える。そこまで済んでからプロセスが消えます。

カレンダーはこの後始末が多い部類のアプリです。手元に予定の写しを持ち、複数のアカウントと通信を保ち、サーバから届いた変更を書き込んでいる最中かもしれません。このうちどれか1つが止まると、終了もそこで止まります。入力は受け付けないのに、まだ終わってもいない、という中途半端な状態がこれです。

止まる原因としてもっとも多いのは通信です。あるアカウントへ同期の要求を送り、接続は受け付けられたのに応答が返らない。アプリは時間切れになるまで待ちます。この待ち時間は数分に達することがあります。ホテルの無線LAN、VPN接続中、パスワードを変えた翌朝。この3つで報告が集中するのは、接続が「すぐ失敗する」のではなく「黙ったまま返らない」状態になるからです。

つまり、待つという選択にも意味があります。通信の時間切れ待ちであれば、2分から3分ほどで自然に終了することがよくあります。

見た目が同じ3つの状態を区別する

Dockを見ているだけでは区別がつかない3つの状態があり、対処はそれぞれ違います。

状態 見分け方 対処
通信の時間切れ待ち 応答は鈍いが動く。CPU使用率がほぼゼロ 数分待ってから強制終了
完全に停止 虹色のカーソル。「応答なし」と表示される 強制終了し、手元の写しを疑う
終了しているが開き直している 閉じた数秒後にまた現れる 終了の問題ではない。後述

どれなのかは、アクティビティモニタを開けば当てずっぽうより早く分かります。赤字で「応答なし」と出ていれば停止しています。CPU使用率がほぼゼロなら待っているだけです。そして、現れるたびにプロセスIDが変わっているなら、それは何かに起動し直されています。

3つ目は分けて考える価値があります。開き直されているアプリを何度強制終了しても終わりません。止まっていないからです。

強制終了しても予定が消えない理由

強制終了をためらう人は多いのですが、カレンダーに関しては前提を知っておくと判断が軽くなります。予定の実体はMacの中ではなく、Google、iCloud、Exchange、あるいは別のCalDAVサーバの側にあります。Mac側にあるのは写しです。

この分担は標準規格として定義されています。

This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing calendaring and scheduling information based on the iCalendar format. 出典: rfc-editor.org

強制終了で失われるのは、送信中だった変更1件だけです。手順は3つあり、雑さの順に並べるとこうなります。

  • option+command+escで強制終了のウィンドウを開き、対象を選んで終了する。標準的な手順で、たいていはこれで足ります。
  • アクティビティモニタから終了する。CPU使用率、メモリ、応答の有無まで見えます。まず通常の終了要求を送り、断られたときだけ強制に切り替わるため、繰り返し起きている場合はこちらのほうが情報が残ります。
  • optionを押しながらDockのアイコンを右クリックする。「終了」が「強制終了」に変わります。ウィンドウが1つも残っていないときに最短です。

終了させたあとに1つだけやっておくと安心なのが、固まる直前に編集した予定がサーバ側に届いているかの確認です。ブラウザで同じカレンダーを開けば数秒で分かります。

閉じても開き直してくるとき

自動で開き直る場合、原因はいくつかの決まった場所にしかありません。

  • ログイン項目。システム設定の一般からログイン項目を開き、サインイン時にカレンダーを起動する設定が入っていれば外します。再起動のたびに戻ってくる場合はここが本命です。
  • 再起動やシャットダウンの確認画面にある「再ログイン時にウインドウを再度開く」。ここにチェックが入っていると、直前に開いていたアプリが全部戻ってきます。1度外せば既定が変わります。
  • 他のアプリからの受け渡し。メールで届いた招待を開いた、ブラウザでwebcalのリンクを踏んだ、会議ツールが予定を書き込んだ。既定のカレンダーアプリになっていれば、そのたびに起動します。これは正常な動作ですが、閉じても閉じても開くように見えます。
  • 消せない通知。時間帯の設定が壊れた繰り返し予定などで、片付かない予定の通知がアプリを前面に呼び戻し続けることがあります。その予定を1件直せば止まります。

ウィンドウを閉じても動き続けている部分がある

macOSのカレンダーは1つのプロセスではありません。目に見えるアプリはウィンドウの担当で、実際の同期、通知、他のアプリからの予定の読み書きは、裏で動く別の処理が担当しています。この分担を知っておくと、不具合に見える挙動のいくつかが説明できます。

1つ目は、アプリを終了しても同期は止まらないということです。予定は届き続け、通知も鳴り、ウィンドウを閉じている間に受け取った招待もきちんと入ります。これは意図された設計です。裏を返せば、暴走している同期をアプリの終了で止めることはできませんし、終了が止まって見えるとき、待っている相手はサーバではなくこの裏の処理かもしれません。

2つ目は、ウィンドウが暇でも裏の処理は忙しいことがある、という点です。終了が遅いときにアクティビティモニタを見ると、カレンダーのウィンドウ側はCPUをほとんど使っておらず、裏の処理が働いている、という組み合わせをよく見ます。この状態でウィンドウ側を終了させるのは安全です。裏の処理を何度も落とすのは意味がありません。システムがすぐ起動し直す作りだからです。

3つ目は通知です。通知を出しているのはシステム側であって、開いているウィンドウではありません。だから終了したはずのカレンダーの通知が画面に出ます。片付かない通知がアプリを前面に呼び戻しているなら、原因はアプリではなくその通知を出している予定1件にあります。

完全に黙らせられないのは正常な挙動です。目的は全部止めることではなく、見えているアプリが再起動を止めないようにすることだと考えてください。

Mac自体がシャットダウンできないとき

この症状のもっとも困る形は、アプリではなくMacの側に出ます。再起動やシャットダウンが途中で止まり、「アプリケーションが終了を妨げています」といった表示とともにカレンダーの名前が挙がる状態です。

仕組みはここまでと同じです。macOSは電源を落とす前に、動いているアプリ全部に終了を求めて返事を待ちます。通信の時間切れを待っているアプリは返事をしないので、シャットダウンもそこで止まります。壊れてはいませんが、その間Macは使えません。

覚えておくと役に立つ対処が2つあります。1つは、シャットダウンをいったん取り消し、そのアプリだけを強制終了してから、あらためてシャットダウンする方法です。遠回りに見えますが、他のアプリは通常どおり終了できるので、まとめて中断されるより安全です。もう1つは、シャットダウンの前にネットワークから切断する方法です。届かないサーバを待っているアプリは、ネットワークそのものが無くなると即座に失敗するため、時間切れを待たずに終了へ進みます。

電源ボタンの長押しは最後の手段で、相応の代償があります。カレンダーだけでなく、書き込み中の全アプリが中断されます。次の節で触れる「手元の写しが傷む」状態を作るもっとも確実な方法でもあります。本当に動かないときだけに取っておいてください。

毎週起きるなら、接続先の数を疑う

たまに固まるのは雑音ですが、毎週なら原因があります。そして原因の多くは接続しているアカウントの数です。

アカウントが1つ増えるごとに、終了時に待つ相手が1つ増えます。仕事用のExchangeが1つ、Googleが2つ、iCloudが1つ、誰も見ていない祝日の購読カレンダーが4本ぶら下がっていれば、終了を止めうる箇所は8か所あることになります。使っていない購読を外すのは、いま挙げた対処のなかでもっとも安く、もっとも効きます。

購読カレンダーを外すときは、消してよいものかどうかを1つずつ確かめてください。祝日カレンダーのように公開元が明確なものは、必要になればいつでも購読し直せます。一方で、同僚が公開している空き状況や、社内ツールが出しているシフトの配信は、URLが分からなくなると戻せないことがあります。外す前に配信元のアドレスを控えておくだけで、あとから困りません。台数の多い環境では、同じ購読が複数のMacにぶら下がっていることもあるので、1台で整理した内容を他の端末にもそろえておくと再発が減ります。

次に多いのが、手元の写しが傷んでいる場合です。大きな同期の途中で強制終了した後に起きやすく、症状に特徴があります。終了が遅いだけでなく起動も遅く、特定のアカウントだけ更新が終わらない。この場合はそのアカウントだけを削除して追加し直せば、他のアカウントに触らずに写しを作り直せます。

3つ目は、アプリの作りと使い方が合っていない場合です。裏の通信を中断できない設計のアプリは、通信が返らないかぎり終了も止まります。これは故障ではなく設計どおりの挙動なので、直す対象は症状ではなく道具の選択になります。判断材料としては、複数のアカウントを抱えたときの振る舞いと、通知や同期を裏に回す作りになっているかどうかです。この観点はできることと他のカレンダーとの比較を並べて読むと整理しやすくなります。

もう1つ、固まったあとの復旧コストも見ておく価値があります。強制終了で失われた1件を入れ直す作業が重いほど、同じ症状の実害は大きくなります。話し言葉と音声で予定を入れられる入力方式なら、日付と時刻の欄を1つずつ埋め直す必要がありません。考え方は予定の入れ方にまとまっています。

よくある質問

強制終了すると予定が消えませんか?

消えません。予定の実体はGoogleやiCloudなどサーバ側にあり、Macにあるのはその写しです。失われるのは送信中だった変更1件だけなので、固まる直前に編集した予定だけブラウザで確認しておけば充分です。

強制終了する前に、どのくらい待てばよいですか?

通信の時間切れ待ちなら2分から3分が目安です。アクティビティモニタでCPU使用率がほぼゼロなら待っているだけなので、そのまま終了することがあります。逆に「応答なし」と赤字で出ている場合は、待っても状況は変わりません。

閉じてもすぐ開き直します。何を見ればよいですか?

止まっているのではなく起動し直されています。システム設定のログイン項目、再起動時の「再ログイン時にウインドウを再度開く」、メールやブラウザからの招待やwebcalリンクの受け渡し、この3か所を順に確認してください。強制終了では止まりません。

特定のネットワークのときだけ起きるのはなぜですか?

ホテルや会場の認証付き無線LAN、一部のVPNは、接続を受け付けたまま応答を返さないことがあります。すぐに失敗するネットワークなら終了も早く終わりますが、黙ったままの相手だと時間切れまで待つことになり、その間はアプリが終了できません。

記事一覧へ戻る