共有中ユーザがいてもAutomatorでMacを自動再起動
Time Capsuleにした古いMac miniには、共有接続がちょいちょい切れる問題があった。接続が切れたらその間のTime Machineバックアップも途切れるようだ。Time CapsuleにしているMac miniを再起動すれば元に戻るが、手動ではちょっと面倒だ。 このMacに限らず、気がつくと共有接続が切れていることは、これまでも確かにあった。Monterey12.1にアップしたところ少し改善したようだが、それでも切れる場合があった。
そこで、再起動で元に戻るなら定期的に自動再起動すればいいだろう、と考えた。再起動はシステムメンテナンスにもなる。 手っ取り早いのは、システム環境設定の「省エネルギー」にある「スケジュール」を使う方法だ。かなり自由に日程を決められる。しかし実際にやってみると、共有接続がある状態では「共有中のユーザがいます」と警告が出た。こうなると「再起動」か「キャンセル」をクリックしないと先に進まないから、自動再起動にはならない。
ほかには、Automatorを使ってAppleScriptやシェルスクリプトを実行するアプリを作り、「カレンダー」と連動させて定期的に自動再起動する方法がある。 少々ハードルが高くていろいろ試行錯誤したが、どうやらシェルスクリプトの「shutdown」コマンドを利用すると、上記警告が出ずに再起動するようだ。もっとも、このコマンドは「sudo」を使って管理者権限で実行する必要があり、それにはユーザパスワードが求められるため、自動処理にはそれもあらかじめ設定しておく必要があった。 ネット情報を参照しながら何とかこれらをクリアしてAutomatorで再起動アプリを作り、自動実行するよう「カレンダー」でスケジュールできた。 しばらく様子を見ているが、いまのところ再起動にトラブルはなく、少なくともTime CapsuleにしたMac miniが原因で共有接続が切れることはないようだ。
次のサイトが参考になった。 ・再起動するためのシェルコマンド Macで自動シャットダウンタイマーを設定する方法 ターミナルからMacの電源を切る方法 ・「sudo」をAutomatorで使う方法 Automatorでsudoする方法 ・パスワードをあらかじめ設定しておく方法 sudoコマンドのパスワードを自動的に入力する方法
|