What’s the problem?
So Mac laptops have this thing where they sleep when their lids are shut. That’s how Apple designed them. That’s how they work. Most of the time, that’s fine. However, if you administer laptop carts for a school, that can definitely get in the way of keeping them updated. Even if you have, say, 20 laptops in a cart, manually opening each one and updating each one (even with an automated tool like Munki) can be a pain (and a time suck).
So far, I’ve come across several possible solutions, which I’ll outline below. I’m leaning toward NoSleep, but I don’t have a step-by-step tutorial ready just yet and won’t until I can test it extensively.
I haven’t seen a lot of mention about this, but it doesn’t seem like a terribly viable option. It’s certainly a lot of extra steps to get people who use a laptop cart, in addition to plugging in the power, to also plug in a wired ethernet connection (especially because new Mac laptops are ditching ethernet ports for Thunderbolt, which would require an adapter).
Apparently, you can do this wirelessly, but reading about Wake-on-Demand and sleep proxy makes my head hurt. May be a good fallback to explore if the NoSleep option doesn’t work out.
Fake an external monitor connection
I don’t have the link handy right now, but I did stumble at one point on to some adapter that fakes have an external monitor plugged in. That involves purchasing the adapters and then making sure they’re always plugged in. Doesn’t seem worth the effort/cost.
Extensions that prevent sleep-on-lid-close
Right now this seems the best option. There are extensions that essential disable on the kernel level sleeping when the lid is closed. One is InsomniaX. Another is NoSleep.
InsomniaX is still figuring out its licensing (For the time being this project is deemed to be “private code” and is not available for sharing, redistribution, inclusion in other works), so I’m leaning more toward NoSleep at this time.
My hope is that with the laptop never sleeping, I can still have it scheduled to shut down when school is not in session (e.g., shut down between 8pm and 6am), check for Munki updates at 6am, and then just stay on (but with the lid shut) for the rest of the school day until the next evening.
If, after thorough testing, I get a good workflow, I’ll post up a step-by-step tutorial…