หลายคนที่ใช้ AI agent รันงานยาวๆ บน Mac เช่น Claude Code, Codex หรืองาน background อื่นๆ คงเคยเจอปัญหานี้ พอเราปิดฝาจอเพื่อจะพกเครื่องไปทำงานที่อื่นต่อ Mac จะเข้าสู่โหมด Sleep ทันที ทำให้งานที่กำลังรันอยู่หยุดชะงักไปด้วย บทความนี้จะมาแนะนําวิธีทําให้ Mac ไม่ Sleep แม้ปิดฝา เพื่อให้งานยังรันต่อเนื่องได้ครับ
macOS มีคำสั่ง pmset สำหรับจัดการเรื่อง Power Management อยู่แล้ว ที่ใช้ปิดการ Sleep ของเครื่องได้ (แม้ว่าเราจะปิดฝาก็ตาม) ให้เราเปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่งนี้ได้เลยครับ
sudo pmset -a disablesleep 1
-a คือสั่งให้มีผลกับทุกแหล่งพลังงาน (ทั้งตอนเสียบปลั๊กและ ใช้แบตเตอรี่)disablesleep 1 คือปิดการ Sleepหลังจากรันคำสั่งนี้ ต่อให้ปิดฝา Mac เครื่องก็จะไม่ Sleep แล้วครับ งานที่รันอยู่ใน Terminal หรือ AI agent ต่างๆ จะทำงานต่อไปได้เรื่อยๆ
พอใช้งานเสร็จแล้วอย่าลืมเปิด Sleep กลับคืนด้วยนะครับ ไม่งั้นแบตจะหมดเร็วเพราะเครื่องไม่ยอม Sleep เลยแม้ปิดฝาทิ้งไว้เฉยๆ
sudo pmset -a disablesleep 0
มีทางลือกที่ง่ายกว่านี้ครับ
ผมได้ทํา tool เพื่อให้เพื่อนๆใช้งานได้ง่ายๆ และป้องกันไม่ให้เราลืมปิดเมื่อเราไม่ได้ใช้งาน
Coffee เป็น CLI tool เล็กๆ ที่ห่อคำสั่ง pmset -a disablesleep ให้ใช้งานง่ายขึ้น จุดเด่นคือ
sudo ทุกครั้ง (ตอน install จะขอ setup passwordless sudo ให้เฉพาะคำสั่งนี้)Ctrl+C ออกจากโปรแกรมเมื่อไร จะเปิด Sleep กลับคืนให้อัตโนมัติ ไม่ต้องกลัวลืมดูรายละเอียดที่ github ได้เลย หรือจะทําตามรายละเอียดด้านล่าง
ติดตั้งผ่าน script ก็ได้ครับ
curl -fsSL https://raw.githubusercontent.com/mrthiti/coffee/main/install.sh | sh
หรือ ติดตั้งผ่าน Homebrew
brew tap mrthiti/coffee
brew install --cask coffee
ถ้าเจอ Error ประมาณนี้ ให้เราใช้คําสั่ง brew trust ตามที่ระบบแนะนําได้เลยครับ (เนื่องจาก Homebrew เวอร์ชันใหม่ๆ จะไม่ยอมโหลด cask จาก tap ของ third-party ให้อัตโนมัติ)
Error: Refusing to load cask mrthiti/coffee/coffee from untrusted tap mrthiti/coffee.
Run `brew trust --cask mrthiti/coffee/coffee` or `brew trust mrthiti/coffee` to trust it.
ทั้งสองวิธีจะติดตั้ง binary ให้ พร้อม setup passwordless sudo ให้เฉพาะคำสั่ง pmset -a disablesleep 0/1 เท่านั้น (อาจมีถามรหัสผ่านครั้งเดียวตอนติดตั้ง) หลังจากนั้นพิมพ์ coffee เฉยๆ ก็ใช้งานได้เลย ไม่ต้อง sudo อีก
แค่รันคําสั่งนี้ครับ
coffee
พอกด Ctrl+C จะปิดโปรแกรมและ ปิดการป้องกัน Sleep ให้อัตโนมัติ (ไม่ต้องกลัวลืมปิด)
เช็คสถานะปัจจุบันได้ด้วยคำสั่ง
coffee status
ดูคำสั่งอื่นๆ เพิ่มเติมได้ที่
coffee --help
coffee --version
ถ้าติดตั้งผ่าน Homebrew
brew uninstall --cask coffee
ถ้าติดตั้งผ่าน install.sh
sudo pmset -a disablesleep 0
sudo rm /usr/local/bin/coffee /etc/sudoers.d/coffee
ทีนี้เวลาเรารัน AI agent หรืองานที่ใช้เวลานานๆ บน Mac แล้วอยากปิดฝาพกเครื่องไปทำงานที่อื่นต่อ ก็สามารถทำได้แล้วโดยที่งานไม่ถูกขัดจังหวะครับ จะใช้ pmset ตรงๆ หรือจะใช้ coffee ที่สะดวกและ ปลอดภัยกว่า (จะเปิด Sleep กลับคืนให้อัตโนมัติ ตอนออกจากโปรแกรม ไม่ต้องกลัวลืม) ก็เลือกได้ตามสะดวกเลยครับ
การสร้าง archiveการสร้าง archive คือการรวมไฟล์ทุกไฟล์ในไดเรกทอรีให้เป็นไฟล์เดียว สามารถทำได้โดยใช้คำสั่ง
strncpy เป็น function สําหรับ copy string จากตัวแปรต้นทางไปใส่ในตัวแปรปลายทางรูปแบบการใช้char *strncpy(char *dest, const char *src, size_t n) Parameter
เป็นคําสั่งที่ใช้เลือกทําโดยจะพิจารณาจากเงื่อนไขที่กําหนด