以下の内容はhttps://memorandums.hatenablog.com/entry/2025/08/05/001920より取得しました。


Macbookの蓋を閉じたらWifiを切入するスクリプト

まだやってる。。。

数日前に以下書いてよし日常使いするぞ。。。と思って本日使ったら切れない。。。あらら。

Macbookの蓋の状態変化をみてWifiをオンオフをするスクリプトをつくったん - memorandums

帰ってきて調査するとなんとMacがスリープしている。蓋を閉じて5秒くらいでスヤスヤ寝ている(ちなみにスリープするならWifiも切れるやろと思った方は鋭い、なぜか切れないんですね。。。WifiとBluetootj)。。。上記では60秒間隔で蓋状態を見ているのでWifiを切入しようとする前に寝ているのでした。。。

テストのときには60秒も待つの面倒だったので10秒くらいでテストしてたんですね。。。だから気づかなかったというオチでした。

じゃ、監視間隔を5秒とかにすればいいのか。。。とか考えたらモバイルルータの切り忘れごときでMacに負荷をかけるのもな。。。と。大した影響ないんでしょうけどやはり無駄は徹底的に排除したいのがエンジニアマインドです。

で、調べると、実は蓋を閉じたら何かをするというコマンドが既にあることがわかりました。2018年のQiitaの記事です。。。まだ動きました。

Mac のスリープ/復帰時にスクリプトを実行する #Mac - Qiita

早速登録しました。蓋を開けるときには何もせず、蓋を閉じたときにもしモバイルルータにWifiが接続されていたらWifiを切入します。

まず蓋検知をする以下をインストールしておきます。

brew install sleepwatcher

あとは以下ファイル2つをいれるだけです。shはchmod +xしておいてください。

~/Library/LaunchAgents/wifi_off_on.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>de.bernhard-baehr.sleepwatcher</string>
    <key>ProgramArguments</key>
    <array>
        <string>/opt/homebrew/sbin/sleepwatcher</string>
        <string>-V</string>
        <string>-s /Users/ktakahas/wifi_off_on.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

~/wifi_off_on.sh

#!/bin/bash

# SSID取得(Sequoia以降じゃないと動作しないとか?)
ssid=$(ipconfig getsummary en0 | awk -F' SSID : ' '/ SSID : / {print $2}')

# SSIDがモバイルWifi?
if [ "$ssid" == "xxxxxxxx" ]; then

    # 蓋の状態を取得(Yes = 閉じている)
    lid_closed=$(ioreg -r -k AppleClamshellState | grep -i "AppleClamshellState" | awk '{print $NF}')
    lid_state=$([ "$lid_closed" == "Yes" ] && echo "closed" || echo "open")

    if [ "$lid_state" == "closed" ]; then
        networksetup -setairportpower en0 off
        sleep 2
        networksetup -setairportpower en0 on
    fi
fi

めっちゃ短くなりました。。。なんだか。

でも、確実に動作するようです。

よかったです。




以上の内容はhttps://memorandums.hatenablog.com/entry/2025/08/05/001920より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14