[go: up one dir, main page]

コンテンツへスキップ
Wham.sh

macOS向けメニューバーアプリ

フタを閉じる。 Macは起きたまま。

メニューバーのスイッチをワンクリックするだけで、フタを閉じてもMacが本当に起きたままになります。

  • ダウンロード

    AppleシリコンまたはIntel、macOS 11以降

  • Homebrew

    brew install gwendall/tap/wham

試してみる

メニューバーのスイッチひとつだけ。

これがアプリの全部です。Macが起きている時は太陽、眠れる時は月、どちらでも小さなチャイムが鳴ります。さあ、クリックしてみてください。

サウンドオン:これは本物のチャイムで、ブラウザが鳴らす8-bitアルペジオです。

こんな時に

長い作業のために。

オンにして、フタを閉じて、その場を離れましょう。見ていたくないほど時間がかかる作業も、終わるまで続きます。

使い方

3つのステップ。本当に大事なのは3つ目。

  1. 1Whamをダウンロードして開く

    アプリケーションフォルダにドラッグして開きましょう。時計の横、メニューバーに常駐します。

  2. 2スイッチをクリック

    太陽が現れて、チャイムが鳴ります。最初の1回だけ、macOSがパスワードを求めます。

  3. 3フタを閉じる

    Macはそのまま動き続けます。Claude Codeはタスクを終え、書き出しは最後のフレームに達し、ダウンロードは100%になります。

多くのスリープ防止アプリは、macOSに「起きていて」とお願いするだけです。フタを閉じた瞬間、macOSはその頼みを無視します。だからWhamは自らスリープを無効にし、終わったら元に戻します。

軽量

動いていることを忘れるくらい。

Whamがすることはひとつだけ:2秒ごとに、カーネルのフラグを1つ読み取ります。オンの間は、macOSが知らせるバッテリー、発熱、フタ、ネットワークの状態にも気を配ります。それ以外の時間は何もせず、CIがその予算を守っています。

参考までに:KeepingYouAwakeはディスク上で7.6 MB、Amphetamineはヘルパーアプリを除いて6.7 MBのダウンロードサイズです。MacBook Air、macOS 26.6で測定。

比較

多くのスリープ防止アプリは、フタの前で止まります。

フタを開けたままMacを起きた状態に保つのは簡単です。閉じると、macOSは丁寧な頼みごとを無視します。ここでは、バッテリー駆動かつ外部モニターなしでフタを閉じた場合に、有名なアプリがどう動くかを紹介します。

App Storeのアプリは単独ではこれができず、正直なアプリはそう明言しています。Lungoは「フタを閉じた場合、コンピュータのスリープを防ぐことはできません。これはMac App Storeの制限です」としています。 出典

FAQ

いい質問ですね。

いいえ。Whamをダウンロードして開けば、すべてメニューバーで完結します。クリック1つでMacを起きたままにし、もう1クリックでスリープさせられます。このページの下にあるコマンドは、タイプするのが好きな人のためのものです。

はい。スリープを無効にするには管理者権限が必要です。最初にクリックした時だけ、macOSがパスワードを求め、以降Whamは聞き直すことなくこの設定を切り替えられます。Whamに許されているのはそれだけです。開発者による署名とAppleの公証を受けています。

はい。スイッチを右クリックして「時間指定でオン」から1、2、4、8時間を選べます。それぞれに終了時刻が表示されます。実行中はメニューに残り時間が表示され、スイッチの色が少しずつ薄れていき、終了の5分前にはお知らせが出ます。「時間制限なし」を選べばオンのままです。ターミナルからはwham on 2h、またはコマンドの前にwham runを付ければ、実行中だけ起きたままにできます。

Whamが熱暴走させることはありません。macOSがMacを危険な高温と判断すると、Whamは自動でオフになりスリープさせます。とはいえ、閉じたバッグの中で動き続けるノートには熱の逃げ場がなく、Whamはあくまで空気が流れるデスクやドック、棚での使用を想定しています。持ち歩く前にはオフにしておけば、フタを閉じた時にいつものようにスリープします。

Wham自体の消費はほぼゼロです。ただ、起きたままのMacはフタの開閉に関わらずバッテリーを消費するので、バッテリー駆動時や、充電が追いつかない弱い充電器につないでいる時は、Whamが残量10%で手を離します(メニューの「バッテリーの下限」で2%、5%、20%、30%にも変えられます)。作業内容を保存したままMacをスリープさせ、電池切れにはしません。長い作業の時は電源に接続してください。「しない」はありません。Whamがオンの間は、バッテリーがほぼ空になったときのmacOS自身のスリープも止まるため、最小は2%です。Macが安全にスリープできる最後のタイミングです。

いつもどおりです。外部ディスプレイがない場合、Whamはフタを閉じた数秒後に内蔵ディスプレイをオフにし、ロック画面の設定に従ってMacがロックされます。モニターが接続されている時は、Whamはどちらの画面にも手を加えません。

はい。Touch IDボタンかControl + Command + Qでロックすると、画面が消えていつもどおりパスワードで守られますが、Macはロック中も起きたままで、動いていた作業はそのまま続きます。

いいえ。それはmacOS自体の「クラムシェルモード」が求める条件で、Whamにはどれも必要ありません。何もつないでいないノートでもフタを閉じれば起きたままになります。

たいていは大丈夫です。Macはスリープしないので、フタを閉じてもWi-Fiにつながったままです。ただしWi-Fiのアンテナはフタの中にあるため、機種によってはフタを閉じると電波が弱くなります。閉じたMacは平らに置かず、ヒンジを下にして立てて置いてください。iPhoneのインターネット共有は、使われていないと判断するとiPhone自身がオフにしてしまい、Macが再接続しないこともあります。USBケーブルでつなぐほうが安定します。モバイル回線では、やり取りのないまま続く長いSSH接続が通信事業者に切られます。SSHの設定にServerAliveInterval 60を加えると接続を保てます。WhamはMacを起こしておくことはできても、ネットワークをつなぎ止めることはできません。

スリープが元どおりになります。メニューから終了する時(スイッチを右クリック)も、スクリプトからも、ログアウトからも、終了時に必ずこの設定をオフに戻します。クラッシュや強制終了でWhamが予告なく消えてしまった場合も、ウォッチドッグが1秒以内にスリープを復活させます。再起動の後は、メニューで「再起動後もオンのまま」にチェックを入れていない限り、Whamはオフのままです。

はい。Whamは自分がしたことと見たことをログに残しています。いつ、なぜオンやオフになったか、フタの開閉、スリープと復帰、バッテリー、発熱、そしてオンの間はネットワークがつながっていたかどうか。ターミナルでwham logを実行すると最新の行が表示されます。~/Library/Logs/Whamにもあり、「コンソール」で開けます。ログはMacの中だけに残り、どこにも送信されず、ネットワーク名やアドレス、あなたやMacの名前は含まれません。小さなファイル2つまでです。

はい。1日に数回wham.shに最新版を問い合わせ、開発者の署名を確かめてから入れ替えます。スイッチの状態はそのままです。メニューの「アップデートを確認」を選べば、今すぐ同じことを行います。「自動的にアップデート」をオフにすると、Whamは新しいバージョンが出たことをお知らせするだけになります。スイッチにピンクの点が付き、メニュー(右クリック)でアップデートが待っています。各バージョンで何が変わったかは新機能で確認できます。

はい。Whamは英語、フランス語、スペイン語、ドイツ語、イタリア語、ポルトガル語、日本語、韓国語、中国語(簡体字・繁体字)に対応していて、Macの言語に合わせて表示されます。Macとは別の言語で使いたい場合は、システム設定 > 一般 > 言語と地域を開き、アプリケーションにWhamを追加してください。whamコマンドとログは英語のままです。

メニューからWhamを終了すればスリープが元に戻ります。その後、アプリケーションフォルダからWhamをゴミ箱にドラッグしてください。パスワードのルールを含めて完全に削除するには、開発者向けにある1行のアンインストーラーを使ってください。

App Storeのアプリはサンドボックスの中で動いており、サンドボックス化されたアプリはMacのスリープ設定を変更できません。それでも試みるアプリは、macOSに「起きていて」とお願いするだけに留まり、それこそがフタを閉じた瞬間に効かなくなるものです。

インストール

ダウンロード版と同じ署名済みアプリに、whamコマンドが加わります。更新するにはもう一度実行してください。

curl -fsSL wham.sh | sh
brew install gwendall/tap/wham
npx wham.sh

まずは内容を見てみたいですか?install.shを読む:最新版をダウンロードし、署名を確認し、アプリケーションフォルダに置いて開きます。

whamコマンド

wham on
on: your Mac stays awake, even with the lid closed
wham on 2h
on until 4:30 PM: your Mac stays awake, even with the lid closed
wham status
on until 4:30 PM: your Mac stays awake, even with the lid closed
wham off
off: your Mac sleeps as usual
wham run make
# makeの実行中は起きたまま、終われば元どおり

アンインストール

curl -fsSL wham.sh/uninstall | sh

Whamを終了してスリープを元に戻し、アプリ本体、whamコマンド、設定、ログ、そして下記のsudoersルールを削除します。Homebrewの場合:brew uninstall --zap wham。uninstall.shを読む。

# /private/etc/sudoers.d/wham、ユーザーID 501(あなた)用
#501 ALL=(root) NOPASSWD: /usr/bin/pmset -a disablesleep 0, /usr/bin/pmset -a disablesleep 1