TL; DR: Udostępnianie Internetu uniemożliwia komputerowi Mac spanie. Muszę regularnie ręcznie spać system. Chcę sposób skonfigurować Udostępnianie Internetu, aby przestał zapobiegać zasypianiu.
Mam iMaca w domu w mojej sypialni, zbyt daleko od routera, i nie mogę korzystać z sieci bezprzewodowej, a także zasięg 3G jest tutaj okropny, więc włączyłem Udostępnianie Internetu, dzięki czemu mogę korzystać z mojego iPhone / iPad podłączonego przez mój iMac.
W pracy pracuję w sieci firmowej, a sieć bezprzewodowa jest nieco kiepska i zbyt restrykcyjna, więc włączyłem także udostępnianie Internetu na moim MacBooku Pro, aby mój iPhone mógł uzyskać dostęp do wewnętrznych elementów.
Problem polega na tym: kiedy nacisnę ⌘+ ⌥+ ⏏(lub > Uśpij), żaden komputer nie przejdzie w stan uśpienia zgodnie z życzeniem; to znaczy, chyba że najpierw wyłączę Udostępnianie Internetu.
W domu chcę, aby komputer spał podczas snu (oszczędza energię + więcej ciszy), aw pracy, gdy wracam do domu, chcę też spać, więc nie muszę zamykać wszystkich podłączonych aplikacji (Adium, Colloquy itp.) I ponownie otwórz następnego dnia.
Jak mogę skonfigurować pmset
lub udostępnić Internet, aby spać komputer bez napotkania tego problemu?
Uwaga: Już wcześniej pmset
sprawdzałem, czy istnieją inne powody, a przestępstwo pid
jest zawsze com.apple.InternetSharing
.
Edycja: Zdaję sobie sprawę, że uśpienie komputera uniemożliwi korzystanie z Udostępniania Internetu. Chcę, aby całkowicie spał i chcę, aby udostępnianie Internetu było ponownie włączone tylko wtedy, gdy komputer się budzi.
źródło
DenySystemSleep
. Mimo że znalazłem ciąg, nie byłem w staniesudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
zmienić zachowania. Czy możesz rozwinąć swoją odpowiedź?Odpowiedzi:
Eksperymentowałem z użyciem ControlPlane, aby osiągnąć to, czego chcesz. Mój wstępny wynik jest taki, że zrobi to, co chcesz.
ControlPlane wykrywa zmiany w systemie zwane „źródłami dowodów”. Zmiany są oceniane za pomocą „reguł”, które definiują zmianę w „kontekście”. Z każdym kontekstem powiązane są „działania”.
Jednym z „źródeł dowodów” jest zdarzenie snu / czuwania. Skonfigurowałem więc regułę, aby podczas zdarzenia uśpienia (np. Kliknąłeś uśpienie w menu Apple), uruchamiany jest kontekst „Czas uśpienia”. I w tym kontekście użyłem akcji „ToggleInternetSharing” do wyłączenia.
Po kliknięciu opcji Uśpij dostaję alert informujący, że Udostępnianie Internetu jest wyłączone, a po chwili (wydaje się, że trwa wieczność, ale prawdopodobnie to tylko 10 lub 20 sekund) komputer Mac idzie spać.
I mam drugą zasadę, aby przy zdarzeniu wake wyzwalany był kontekst „Waking Up”, który ma akcję, aby włączyć „ToggleInternetSharing”.
Moje zasady i działania:
Spróbuj!
To tylko zarysowanie powierzchni tego, co może zrobić ControlPlane.
źródło
OS X Mavericks v10.9.4
i nadal działa jak urok. DziękujęJeśli używasz Lion,
InternetSharing
wyraźnie blokujeSystemSleep
. Spójrz na:Wynik działania tej komendy: DenySystemSleep jest dowodem, który
InternetSharing
celowo blokuje możliwość przejścia do trybu uśpienia przez jądro. Istnieje proste wyjaśnienie tej ochrony: po uruchomieniuInternetSharing
klienci tego komputera Mac mogą używać go jako routera w celu uzyskania dostępu do Internetu. Wiele rzeczy może być automatycznie uruchomionych na połączeniu internetowym bez wiedzy osoby stojącej przed ekranem.Ten związek powinien przerwać tylko administrator systemu, który go uruchomił, a nie automatyczne zachowanie systemu.
To jest bezpieczne zachowanie.
Stąd poprawna metoda upewnienia się, że
InternetSharing
jest wyłączona, gdy uśpienie Maca ma zaplanować 4 zdarzenia w następującej kolejności:Jest to harmonogram oferowany przez
ControlPlane
.źródło
DenySystemSleep
. Mimo że znalazłem ciąg, nie byłem w staniesudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
zmienić zachowania. Czy możesz rozwinąć swoją odpowiedź?Nie jest praktyczne, aby komputer Mac z włączoną funkcją udostępniania Internetu mógł iść spać.
Funkcja udostępniania Internetu to wersja oprogramowania routera: Działa jako brama do Internetu, serwer DHCP, zapora ogniowa i usługa przesyłania dalej DNS. Działa podobnie jak routery, które można kupić od lokalnego sprzedawcy; i to za darmo.
Istnieje jednak ogromna wada: jeśli komputer Mac działający jako brama jest wyłączony lub śpi, inne komputery nie mogą się połączyć z Internetem.
Właśnie dlatego Udostępnianie Internetu zapobiega przejściu komputera w tryb uśpienia.
Ale mogę udostępniać pliki / iTunes / Screen, gdy śpi
Tak, możesz udostępniać wszystkie te rzeczy i nie tylko. Jednak po przejściu do dostępu do tych plików komputer Mac budzi się . Nazywa się to Wake On Demand i proxy Sleep Bonjour .
Gdy komputer Mac śpi, utrzymuje połączenie sieciowe „na żywo”; nasłuchuje „pakietów” Bonjour, aby obudzić komputer. Zajmuje się tym samo urządzenie Airport (karta sieciowa); nie komputer. Po otrzymaniu „pakietu pobudki” komputer Mac budzi się i możesz rozpocząć udostępnianie zasobów.
Bonjour 1 to usługa odnajdywania zerowej konfiguracji, która korzysta z multiemisji Domain Name Services (mDNS), który jest protokołem UDP 2 (jest rozgłaszany i nie może być routowany), który jest małym, bezstanowym i minimalnym transportem zorientowanym na wiadomości.
Zasadniczo, UDP (na czym opiera się Bonjour) idealnie nadaje się do wysłania do komputera wiadomości z informacją „Obudź się!”
Aby przeglądać Internt (użyj komputera za bramą Mac), potrzebujesz pełnego stosu protokołów opartego na TCP . Będzie potrzebował DHCP, NAT, zapory ogniowej itp., Co oznacza, że będzie musiał rozkręcić wszystkie te usługi, zanim klienci będą mogli przeglądać sieć. Spowoduje to znaczne opóźnienia.
Wracając do bardziej pragmatycznego podejścia, jeśli Twój komputer Mac poszedłby spać i działał jako brama, albo nigdy nie poszedłby spać, albo byłby w górze i na dole jak ktoś z poważnym przypadkiem bezsenności.
1 Bonjour to implementacja Apple sieci zero-konfiguracyjnej (zeroconf), grupy technologii obejmującej wykrywanie usług, przydzielanie adresów i rozpoznawanie nazw hostów. Bonjour lokalizuje urządzenia, takie jak drukarki, inne komputery, oraz usługi oferowane przez te urządzenia w sieci lokalnej za pomocą rekordów usług multastast Domain Name System (mDNS).
2 UDP to minimalny protokół warstwy transportowej zorientowany na wiadomości. UDP nie udziela żadnych gwarancji protokołowi wyższej warstwy na dostarczenie wiadomości, a warstwa UDP nie zachowuje stanu wiadomości UDP po wysłaniu. Jest prosty, nadaje się do ładowania systemu lub innych celów bez pełnego stosu protokołów, takich jak DHCP i Trivial File Transfer Protocol.
źródło
Re. ControlPlane, to działa dla mnie ...
źródło
Gdy jednostka zarządzania energią komputera uśpi urządzenie, przechodzi w tryb niskiego zużycia energii. Przeciętny kod wykonywalny na komputerze nie jest uruchamiany w normalny sposób: komputer utrzymuje wystarczającą moc, aby odświeżyć pamięć (w razie potrzeby) i niewiele więcej. Podczas gdy komputer śpi, nie będziesz mógł brać udziału w komputerach ogólnego przeznaczenia.
Istnieje jednak dobra alternatywa, na którą powinieneś spojrzeć. Zamiast spać całą jednostkę, sprawdź wyświetlacz uśpienia
System Preferences -> Energy Saver
. W moim przypadku mam konfigurację z gorącym rogiem (którą możesz włączyćSystem Preferences -> Desktop & Screen Saver -> Screen Saver
), więc kiedy idę na lunch i muszę zablokować ekran i / lub po prostu uśpić wyświetlacz, przechodzę do dołu -lewy róg. Działa dla mnie dobrze, komputer nie wraca z trybu uśpienia, a wszelkie długotrwałe procesy, o których zapomniałem, nie są przerywane. W twoim przypadku oznacza to, że Twój hotspot Wi-Fi nie zostanie upuszczony.źródło
Za pomocą programu Power Manager można uśpić komputer Mac po okresach bezczynności. Power Manager może zastąpić procesy i aplikacje blokujące bezczynny sen, w tym Udostępnianie Internetu.
Podręcznik użytkownika pokazuje, jak to skonfigurować:
Alternatywnie poniższy przepis pokazuje, jak utworzyć zdarzenie Power Manager, aby uśpić komputer Mac po okresie bezczynności .
Oświadczenie: Pracuję dla firmy, która opracowuje Power Managera.
źródło