跳到主要內容
maxstudioNews
AI 自動化DEV Community (Claude Code)約 3 分鐘

解決 Claude Code 遠端控制在筆電闔蓋後停止的問題:原因與解決方案

本文探討 Claude Code 遠端控制功能在 MacBook 闔蓋後停止運作的原因,主要歸因於 Mac 進入睡眠模式導致 Claude 停止。文章提供了手動設定以防止筆電睡眠的解決方案,並介紹了一個名為 Lidnight 的應用程式,能自動化此過程,確保 AI 工作在背景順利執行。

解決 Claude Code 遠端控制在筆電闔蓋後停止的問題:原因與解決方案
圖片來源:DEV Community (Claude Code)

Claude Code 的遠端控制功能非常實用:執行 claude remote-control(或在會話中輸入 /remote-control),然後用 Claude 應用程式掃描 QR code,你就能在沙發上用手機繼續操控會話。在 /config 中開啟推播通知,當需要操作時,許可權提示和問題就會以推播形式送達。

然而,當你闔上 MacBook 的蓋子,會話就會停止。這是為什麼呢?因為會話是在你的 Mac 上運行的,遠端控制只是它的視窗,而不是它的副本。當 Mac 進入睡眠模式時,Claude 就會停止運作。

文件也明確指出這一點:如果你的筆記型電腦進入睡眠或網路斷線,當機器重新上線時,Claude Code 會自動重新連線。所以它是在之後才重新連線。當 Mac 睡眠時,沒有任何程式會運行,你從手機發送的訊息會一直等到蓋子再次打開。

在沒有外接螢幕的情況下闔上蓋子,無論 caffeinate 設定如何,MacBook 都會進入睡眠模式。Claude Code 在工作時會運行 caffeinate -i,這只會阻止閒置睡眠,但無法阻止闔蓋睡眠。

自行解決方案

如果蓋子打開並連接電源,則無需任何操作。caffeinate -i 會在每次執行時保持 Mac 喚醒。如果螢幕亮度困擾你,pmset displaysleepnow 可以關閉螢幕而不讓電腦睡眠。

如果蓋子關閉(例如放在包包或床邊),唯一能阻止闔蓋睡眠的方法是執行:sudo pmset -a disablesleep 1。在你執行此操作之前,有兩點需要注意:這個設定會在重啟後仍然有效,如果你忘記之後執行 sudo pmset -a disablesleep 0,Mac 會在你的包包裡保持喚醒,導致電量耗盡並發熱。

請務必將電腦放在堅硬、通風的表面上。使用電池時,你最多只能獲得幾個小時的續航時間,而且一台喚醒但閒置的 Mac 會持續輪詢。如果 Mac 在回應中途進入睡眠,你會收到「在回應中途進入睡眠」的重試訊息。

知道何時完成

除了遠端控制本身的推播通知外,你還可以設定一個「停止掛鉤」(Stop hook)來通知你。我將這些(以及從掛鉤回答 AskUserQuestion 的方法)的複製貼上版本保存在 claude-code-hooks-recipes 中。

只在工作運行時執行

我開發了 Lidnight,這是一個選單列應用程式,它彌補了遠端控制的不足:它利用 Claude Code 和 Codex 的掛鉤,只在工作階段運行時保持 Mac 喚醒(即使蓋子關閉,使用電池也一樣)。一旦所有會話都安靜十分鐘,它就會恢復 disablesleep 設定,讓 Mac 進入睡眠。

它還會在開機時撤銷殘留的 disablesleep 設定,這樣即使程式崩潰,你的 Mac 也不會卡在喚醒狀態。遠端控制功能保持不變。你可以繼續用手機操作,讓蓋子保持關閉,當工作完成時,Mac 會自行進入睡眠。

Share

覺得值得一看?分享給朋友。

以上為 AI 自動翻譯導讀。原文版權歸 DEV Community (Claude Code) 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。

Newsletter

不用每天追,AI 重點每週寄給你

43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。

每週一封。Email 只用來寄電子報,每封信都能一鍵退訂。