È possibile configurare Condivisione Internet per consentire al computer di dormire?

8

TL;DR: Internet Sharing is preventing my Mac from sleeping. I need to manually sleep the system on a regular basis. I want a way to configure Internet Sharing to stop preventing sleep.

Ho un iMac a casa nella mia camera da letto troppo lontano dal mio router, e non posso usare la connessione wireless, inoltre, la copertura 3G qui è orribile, quindi ho abilitato la Condivisione Internet in modo da poter usare il mio iPhone / iPad connesso tramite my iMac.

Al lavoro sono su una rete aziendale e il wireless è un po 'zoppo e troppo restrittivo, quindi ho abilitato anche Internet Sharing sul mio MacBook Pro, quindi il mio iPhone può raggiungere cose interne.

Il problema è: quando premo + + (o  > Sleep) nessuno dei due computer va a dormire come desiderato ; questo a meno che non disabiliti prima la Condivisione in Internet.

A casa voglio che il computer dorme mentre dormo (risparmia energia + più silenzio) e al lavoro quando torno a casa voglio che dorma anch'io, quindi non devo chiudere tutte le app connesse (Adium, Colloquy, ecc.) e riaprire il giorno successivo.

Come posso configurare pmset o Internet Sharing in modo che possa dormire il mio computer senza incorrere in questo problema?

Nota: ho già utilizzato pmset per verificare se ci fossero altri motivi e il% offensivopid è sempre com.apple.InternetSharing .

Modifica: mi rendo conto che dormire sul computer renderà impossibile l'utilizzo della condivisione Internet. Voglio che si addormenti completamente e voglio che Internet Sharing sia di nuovo attivo solo quando il computer si risveglia.

    
posta Irae Carvalho 10.04.2012 - 05:27
fonte

5 risposte

7

Ho provato a utilizzare ControlPlane per ottenere ciò che desideri. Il mio risultato preliminare è che farà quello che vuoi.

ControlPlane rileva le modifiche al sistema chiamate "fonti di prove". Le modifiche vengono valutate con "regole" che definiscono una modifica in "contesto". Associati ad ogni contesto sono 'azioni'.

Una delle "fonti di evidenza" è un evento di sonno / veglia. Quindi ho configurato una regola in modo che in un evento di sospensione (ad esempio, hai fatto clic su Sleep nel menu Apple), viene attivato il contesto "Sleepy Time". E per questo contesto ho usato l'azione 'ToggleInternetSharing' su off.

Dopo aver cliccato su Sleep, ricevo un avviso che dice che Internet Sharing è stato disattivato e dopo un po '(sembra come sempre ma probabilmente solo 10 o 20 secondi) il Mac si addormenta.

E ho una seconda regola in modo che su un evento di veglia venga attivato il contesto "Waking Up" e questo ha l'azione di impostare "ToggleInternetSharing" su.

Regole e azioni personali:

Provalo!

Questo è solo un graffio sulla superficie di ciò che ControlPlane può fare.

    
risposta data 03.03.2013 - 06:51
fonte
2

Se esegui Lion, InternetSharing blocca esplicitamente SystemSleep . Dai un'occhiata a:

strings /usr/libexec/InternetSharing | grep SystemSleep

L'output di questo comando:     DenySystemSleep è la prova che InternetSharing è bloccare intenzionalmente la possibilità del kernel di andare a dormire. C'è una semplice spiegazione a questa protezione: quando viene attivato InternetSharing , i client di questo Mac potrebbero utilizzarlo come router per accedere a Internet. Un sacco di cose potrebbero essere automaticamente in esecuzione su questa connessione Internet senza alcuna conoscenza del persona davanti allo schermo.

Questa connessione dovrebbe essere risolta solo dall'amministratore del sistema che avviato e non un comportamento di sistema automatico.

Questo è un comportamento sicuro.

Quindi il metodo corretto per garantire che InternetSharing sia disattivato quando il Mac il sonno prevede di pianificare 4 eventi nel seguente ordine:

InternetSharing off
    system sleep
    system wakeup
InternetSharing on

Questa è la pianificazione offerta da ControlPlane .

    
risposta data 25.04.2012 - 13:18
fonte
1

Non è pratico avere un Mac con Condivisione Internet abilitato per poter andare a dormire.

La funzione Condivisione Internet è la versione software di un router: funge da gateway per Internet, un server DHCP, un firewall e un server di inoltro DNS. Funziona proprio come i router che puoi acquistare dal tuo rivenditore locale; ed è gratuito.

Tuttavia, c'è un grosso svantaggio: se il Mac che funge da gateway è spento o addormentato, le altre macchine non possono accedere online.

Questo è il motivo per cui Internet Sharing impedisce al tuo computer di andare in stop.

Ma posso condividere file / iTunes / Schermo quando è addormentato

Sì, puoi condividere tutte queste cose e altro ancora. Tuttavia, quando accedi a quei file, il tuo Mac si riattiva . Questo è chiamato Wake On Demand e Bonjour Sleep Proxy .

Quando il tuo Mac è addormentato, mantiene la connessione di rete un po '"live"; sta ascoltando i "pacchetti" Bonjour per svegliare il computer. Questo è gestito dal dispositivo Airport (l'adattatore di rete) stesso; non il computer. Quando riceve il "pacchetto scia", il Mac si attiva e puoi iniziare la condivisione delle risorse.

Bonjour 1 è un servizio di scoperta zero config che utilizza Servizi di nomi di dominio multicast (mDNS) che è un protocollo UDP 2 (è trasmesso e non può essere indirizzato ) che è un trasporto orientato ai messaggi piccolo, stateless e minimale.

Fondamentalmente, UDP (su cui è basato Bonjour) è perfetto per inviare un messaggio al tuo computer per dire "Sveglia!"

Per navigare su Internet (utilizzare un computer dietro il gateway Mac), è necessario lo stack completo del protocollo basato su TCP . Avrà bisogno di DHCP, NAT, firewall, ecc., Il che significa che dovrà far ruotare tutti questi servizi prima di consentire ai client di navigare sul web. Ciò introdurrà una grande quantità di latenza.

E tornando ad un approccio più pragmatico, se il tuo Mac è andato a dormire e ha funzionato come gateway, non andrebbe mai a dormire o sarebbe su e giù come qualcuno con un brutto caso di insonnia.

1 Bonjour è l'implementazione di Apple di zero-configuration networking (zeroconf), un gruppo di tecnologie che include la scoperta dei servizi, l'assegnazione degli indirizzi e la risoluzione del nome host. Bonjour individua dispositivi come stampanti, altri computer e i servizi offerti da tali dispositivi su una rete locale utilizzando record di servizio DNS (Domain Name System) multicast.

2 UDP è un protocollo di livello di trasporto orientato ai messaggi minimale. UDP non fornisce alcuna garanzia per il protocollo di livello superiore per il recapito dei messaggi e il livello UDP non mantiene nessuno stato dei messaggi UDP una volta inviato. È semplice, adatto per bootstrap o altri scopi senza uno stack completo del protocollo, come il protocollo DHCP e Trivial File Transfer.

    
risposta data 30.10.2016 - 00:23
fonte
0

Quando l'unità di gestione dell'alimentazione del computer fa spegnere il dispositivo, entra in modalità basso consumo. Il codice eseguibile medio sul computer non viene eseguito nel modo normale: il computer mantiene una potenza sufficiente per aggiornare la memoria (se necessario) e poco altro. Non sarai in grado di utilizzare l'elaborazione per scopi generici mentre il computer dorme.

Tuttavia, c'è una buona alternativa da guardare. Invece di dormire l'intera unità, controlla la visualizzazione del sonno in System Preferences -> Energy Saver . Nel mio caso d'uso, ho una configurazione hot-corner (che puoi abilitare in System Preferences -> Desktop & Screen Saver -> Screen Saver ) in modo che quando pranzerò e debba bloccare il mio schermo e / o semplicemente mettere il display in stato di stop, mi muovo nell'angolo in basso a sinistra. Funziona bene per me, il computer non torna indietro da una routine di sonno e qualsiasi processo di lunga durata di cui ho dimenticato non viene interrotto. Nel tuo caso, questo significa che il tuo hotspot WiFi non verrà eliminato.

    
risposta data 10.04.2012 - 16:49
fonte
0

Puoi utilizzare Power Manager per mettere il tuo Mac in stato di stop dopo periodi di inattività. Power Manager può sovrascrivere processi e applicazioni che bloccano l'inattività, inclusa la condivisione Internet.

La guida per l'utente illustra come configurarla:

A Better Inactivity Triggered Sleep

Power Manager offers an alternative. We provide an inactivity triggered sleep. Inactivity is measured differently from idle time; inactivity is a simpler measurement determined solely by user activity.

In alternativa, la seguente ricetta mostra come creare un evento di Power Manager per metti in stop il Mac dopo un periodo di inattività .

Dichiarazione di non responsabilità: lavoro per la società che sviluppa Power Manager.

    
risposta data 03.03.2013 - 11:54
fonte

Leggi altre domande sui tag