2011-04-05 10 views
6

Sto scrivendo un programma in C e si vuole per avere un'opzione che non mancherà di tenere un computer portatile mac svegli anche se il coperchio è chiuso in modo i processi possono continuare. Sembra che ci siano pochissime informazioni disponibili su questo argomento, quindi non so davvero da dove cominciare. Se qualcuno sa come fare questo o dove posso trovare maggiori informazioni Vorrei davvero apprezzare (vale a dire ho bisogno di lavorare con il BIOS per questo o sono lì costruito nel funzioni?). Inoltre, se è più semplice farlo in un'altra lingua, non è impostato su C.Impedisci al computer portatile Mac di dormire quando è chiuso?

risposta

3

è necessario scrivere un'estensione del kernel per questo. Il sistema operativo non lo supporta per impostazione predefinita perché i laptop non sono progettati per raffreddarsi correttamente con il coperchio chiuso e il display interno abilitato. SleepLess è un programma di utilità da $ 10 che farà anche ciò che desideri. Se deformi il display o qualcosa del genere, è colpa tua. :-).

Se si vuole scrivere qualcosa di te stesso, LidSleep.kext sembra un buon inizio (si fa il contrario, vale a dire che dorme sul coperchio stretta) e viene fornito con il codice sorgente.

possible and supported svegliarsi alcuni portatili Mac con lo schermo chiuso utilizzando un dispositivo di ingresso esterno.)

+0

btw, dovrebbe essere possibile impedire solo il riposo inattivo, senza impedire la visualizzazione del sonno. – Hasturkun

+0

Grazie ragazzi! Il codice sorgente di LidSleep è stato molto utile. – ORL

2

È possibile farlo utilizzando il framework I/O Kit, vedere QA1340 elenco 2 per codice di esempio utilizzando IOPMAssertionCreateWithName per impedire temporaneamente il sonno.

+0

Come si riferisce a queste domande, è possibile impedire il riposo inattivo solo con asserzioni IOPM, non forzate (come nella chiusura di un coperchio). –

+0

@Nicholas: Ah, mi sembra di aver perso quella nota. – Hasturkun

-2

Se il vostro computer portatile è un modello abbastanza recente, non è necessario aggiungere nulla. Se stai eseguendo Lion, funziona semplicemente. Se stai utilizzando un sistema operativo precedente, devi riattivare il laptop inviandogli una sequenza di tasti o il clic del mouse da una tastiera o un mouse esterni. Vedere http://support.apple.com/kb/ht3131

+1

No, non deve essere utilizzato con una tastiera o un mouse esterni. Questo è così che un programma non interattivo può continuare a funzionare quando il laptop è chiuso. –

0

Il link per LidSleep.kext elencati sopra non funziona, in modo da poter comunicare che l'autore di nosleep ha reso il codice sorgente disponibile qui, in modo da poter vedere di persona come si può fare:

Problemi correlati