İnternet Paylaşımı'nı bilgisayarın uyumasına izin verecek şekilde yapılandırmak mümkün mü?


9

TL; DR: İnternet Paylaşımı Mac'imin uyumasını engelliyor. Sistemi düzenli olarak manuel olarak uyumam gerekiyor. İnternet Paylaşımı'nı uyku modunu engelleyecek şekilde yapılandırmanın bir yolunu istiyorum.

Evde yatak odamda yönlendiricimden çok uzakta bir iMac var ve kablosuz kullanamıyorum, ayrıca 3G kapsama alanı korkunç, bu yüzden İnternet Paylaşımı'nı etkinleştirdim, böylece iPhone / iPad'imi bağlı olarak kullanabilirim iMac.

İşyerinde bir şirket ağındayım ve kablosuz biraz topal ve çok kısıtlayıcı, bu yüzden MacBook Pro'mda da İnternet Paylaşımı'nı etkinleştirdim, böylece iPhone'um iç öğelere ulaşabilir.

Sorun şudur: + + (veya > Uyku) tuşuna bastığımda hiçbir bilgisayar istendiği gibi uykuya geçmez; önce İnternet Paylaşımı'nı devre dışı bırakmadığım sürece.

Evde uyurken (güç tasarrufu + daha fazla sessizlik) bilgisayarın uyku moduna geçmesini ve eve giderken işte ben de uyumasını istiyorum, bu yüzden tüm bağlı uygulamaları (Adium, Konuşma, vb.) Kapatmam gerekmiyor ve ertesi gün tekrar açın.

pmsetBilgisayarımı bu sorunla karşılaşmadan uyuyabilmem için nasıl yapılandırabilir veya Internet Paylaşımı yapabilirim?

Not: Zaten pmsetbaşka nedenler olup olmadığını kontrol etmek için kullandım ve suç pidher zaman var com.apple.InternetSharing.

Edit: Bilgisayar uyku Internet Paylaşımı kullanmak imkansız hale farkında. Tamamen uyumasını istiyorum ve Internet Paylaşımı'nın yalnızca bilgisayar uyandığında yeniden açık olmasını istiyorum.


Yukarıdaki komuta yaptığım çıktı DenySystemSleep. Dizeyi bulmama rağmen sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat, davranışı değiştirmek için kullanamadım . Biraz cevap verebilir misin?
Irae Carvalho

Örneğin, paylaşımı paylaşacak, sonra uyuyacak bir şey istiyorsunuz. Ve otomatik olarak uyandığında, paylaşımı açacak başka bir şey.
GEdgar

Kesinlikle! İhtiyacım olan bu
Irae Carvalho

Yanıtlar:


8

İstediğinizi elde etmek için ControlPlane kullanmayı denedim . Ön sonucum, istediğini yapacak olmasıdır.

ControlPlane, sisteminizde 'kanıt kaynakları' adı verilen değişiklikleri tespit eder. Değişiklikler, 'bağlamda' bir değişikliği tanımlayan 'kurallar' ile değerlendirilir. Her bağlamla ilişkili 'eylemlerdir'.

'Kanıt kaynaklarından' biri uyku / uyanma olayıdır. Bu nedenle, bir uyku olayında (örneğin, Apple menüsünde uykuyu tıklattınız), 'Uykulu Zaman' bağlamının tetiklenmesi için bir kural yapılandırdım. Ve bu bağlam için 'ToggleInternetSharing' eylemini kapalı olarak kullandım.

Uyku'ya tıkladıktan sonra, İnternet Paylaşımı'nın kapatıldığını ve bir süre sonra (sonsuza dek gibi görünüyor, ancak muhtemelen sadece 10 veya 20 saniye) Mac'in uykuya geçtiğini söyleyen bir uyarı alıyorum.

Ve ikinci bir kuralım var, böylece bir uyanıklık olayında 'Uyanma' bağlamı tetiklenir ve bu da 'ToggleInternetSharing'i açmak için harekete geçer.

Kurallar ve İşlemlerim:

resim açıklamasını buraya girin resim açıklamasını buraya girin

Dene!

Bu sadece ControlPlane'nin yapabileceklerinin yüzeyini çiziyor.


İnanılmaz bir uygulama! Bir cazibe gibi çalıştı! Ayrıntılı açıklama için çok teşekkürler. Ayrıca, uygulamanın tamamen ücretsiz ve açık kaynak olduğunu kontrol ettim. Benim için bu, bunu kullanmak lehine bir artı olarak sayılır =)
Irae Carvalho

ControlPlane'i bir süredir tanıyorum, ama kullanmadım. Sorunuz yeteneklerini keşfetmek için mükemmel bir nedendi - bunun için teşekkürler.
Gilby

Burada + 1'leyin OS X Mavericks v10.9.4ve hala bir cazibe gibi çalışıyor. Thank's
GDO

Harika bir uygulama gibi görünüyor! Maalesef İnternet Paylaşımı'nın geçişi şimdilik El Capitan'da çalışmıyor (muhtemelen Sierra'da da değil).
Winterflags

2

Eğer Lion çalıştırıyorsanız InternetSharing, açıkça kilitliyor SystemSleep. Bir bak bakalım:

strings /usr/libexec/InternetSharing | grep SystemSleep

Bu komutun çıktısı: DenySystemSleep, InternetSharingçekirdeğin uyku moduna geçme olasılığını özellikle engelleyen kanıttır . Bu korumanın basit bir açıklaması var: bir kez InternetSharingtetiklendiğinde, bu Mac'in istemcileri Internet'e erişmek için yönlendirici olarak kullanıyor olabilir. Ekranın önündeki kişinin bilgisi olmadan bu İnternet bağlantısının üstünde otomatik olarak bir çok şey çalışıyor olabilir.

Bu bağlantı yalnızca onu başlatan sistemin yöneticisi tarafından kesilmelidir, herhangi bir otomatik sistem davranışı değil.

Bu güvenli bir davranıştır.

Bu nedenle, InternetSharingMac uyku modu 4 olayı aşağıdaki sırada zamanlamak için kapalı olduğundan emin olmak için doğru yöntem :

InternetSharing off
    system sleep
    system wakeup
InternetSharing on

Bu, sunulan programdır ControlPlane.


Yukarıdaki komuta yaptığım çıktı DenySystemSleep. Dizeyi bulmama rağmen sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat, davranışı değiştirmek için kullanamadım . Biraz cevap verebilir misin?
Irae Carvalho

1
@ Daniel-azuelos'un InternetSharing'in sorumlu olduğunu göstermesi anlamına geldiğine inanıyorum. Önerdiği komut InternetSharing ikili dosyasında arama yapar ve uykuyu engelleme ile ilgili dizeyi bulur. Bu, uykuyu engellemekten neyin sorumlu olduğunu doğrulamanıza yardımcı olur, ancak istediğiniz davranışı elde etmekten değil.
Graham Miln

1

İnternet Paylaşımı özellikli bir Mac'in uyku moduna geçmesi pratik değildir.

İnternet Paylaşımı özelliği bir yönlendiricinin yazılım sürümüdür: Internet, DHCP sunucusu, güvenlik duvarı ve DNS iletici için bir ağ geçidi görevi görür. Yerel satıcınızdan satın alabileceğiniz yönlendiriciler gibi çalışır; ve ücretsiz.

Bununla birlikte, büyük bir dezavantaj var: Ağ geçidi olarak hareket eden Mac kapalı veya uykuda ise, diğer makineler çevrimiçi olamaz.

Bu nedenle İnternet Paylaşımı makinenizin uyku moduna geçmesini engeller.

Ama Uyurken Dosyaları / iTunes / Ekranı Paylaşabilirim

Evet, tüm bunları ve daha fazlasını paylaşabilirsiniz. Ancak, bu dosyalara eriştiğinizde Mac'iniz uyanır . Buna İstek Üzerine Uyandırma ve Bonjour Uyku Proxy'si denir .

Mac'iniz uyurken, ağ bağlantısını bir şekilde "canlı" tutar; bilgisayarı uyandırmak için Bonjour "paketlerini" dinliyor. Bu, Havaalanı aygıtının (ağ bağdaştırıcısı) kendisi tarafından gerçekleştirilir; bilgisayar değil. "Uyandırma paketi" ni aldığında Mac uyanır ve kaynakları paylaşmaya başlayabilirsiniz.

Bonjour 1 , UDP 2 protokolü olan (yayınlanır ve yönlendirilemez) çok noktaya yayın ve minimum mesaj odaklı bir aktarım olan çok noktaya yayın Etki Alanı Adı Hizmetleri'ni (mDNS) kullanan sıfır yapılandırma keşif hizmetidir .

Temel olarak, UDP (Bonjour'un dayandığı şey) bilgisayarınıza "Uyanın!"

Internt'e göz atmak için (Mac ağ geçidinin arkasında bir bilgisayar kullanın), TCP tabanlı tam protokol yığınına ihtiyacınız vardır . DHCP, NAT, güvenlik duvarı vb. Gerekir. Bu, büyük bir gecikme getirecektir.

Ve daha pragmatik bir yaklaşıma geri dönersek, Mac'iniz uyumaya ve bir ağ geçidi olarak hareket etseydi, ya hiç uyumazdı ya da kötü bir uykusuzluk vakası olan biri gibi yukarı ve aşağı olurdu.


1 Bonjour, Apple'ın servis keşfi, adres ataması ve ana bilgisayar adı çözümlemesini içeren bir grup teknoloji olan sıfır yapılandırma ağı (zeroconf) uygulamasıdır. Bonjour, yazıcılar, diğer bilgisayarlar gibi aygıtları ve bu aygıtların çok noktaya yayın Etki Alanı Adı Sistemi (mDNS) hizmet kayıtlarını kullanarak yerel bir ağda sunduğu hizmetleri bulur.

2 UDP asgari bir mesaj-yönelimli taşıma katmanı protokolüdür. UDP, ileti teslimi için üst katman protokolüne hiçbir garanti vermez ve UDP katmanı gönderildikten sonra UDP mesajlarının durumunu korumaz. DHCP ve Önemsiz Dosya Aktarım Protokolü gibi tam bir protokol yığını olmadan basit, önyükleme veya diğer amaçlar için uygundur.


Allan, anlayışınız için teşekkürler. Benim özel durumumda, İnternet Paylaşımı'nı yalnızca Ethernet avantajından yararlanmak için iMac'ime Thunderbolt Bridge üzerinden bağladığım MBP nedeniyle kullanıyorum (~ 30 Mbit Wifi yerine 100 Mbit). İnternet Paylaşımı'nı 'yönlendirici' olarak kullanmıyorum. Bu nedenle, Internet Paylaşımını etkinleştirmek / devre dışı bırakmak (veya uykuyu zorlamak) için komut dosyası veya otomasyon yoluyla bir yol bulmak benim için pratik olacaktır.
Winterflags

Internet Paylaşımı edilir İnternet paylaşımı yaptığı çekirdek fonksiyonu var - bir yönlendirici içine Mac dönüm.
Allan

Anlıyorum, ama teknik açıdan bunun hakkında konuşmuyorum. İnternet Paylaşımı'nı yalnızca MBP'yi Thunderbolt Köprüsü aracılığıyla iMac'e bağlarken kullanıyorum ve bu nedenle iMac'in bağlı olup olmadığına bakılmaksızın asla uyku moduna geçmesi mantıklı değil. Bu nedenle, belki de komut dosyası yazmayı içeren bir geçici çözüm aramaktır.
Winterflags

1
Peki, İnternet Paylaşımı'nın MBP'nizin
Allan

Teşekkürler - Bu cevapları zaten denedim ve El Capitan'la (belki de SIP nedeniyle) çalışmalarını sağlayamadım, ancak daha fazla araştırmak zorunda kalacaklar.
Winterflags


0

Bilgisayarınızın güç yönetimi birimi aygıtı uyku durumuna geçirdiğinde, düşük güç moduna girer. Bilgisayardaki ortalama yürütülebilir kodunuz normal şekilde çalışmaz: bilgisayar belleği (gerekirse) yenilemek için yeterli güce ve başka bir şeye sahip değildir. Bilgisayar uyurken genel amaçlı bilgi işlem yapmaya başlayamazsınız.

Ancak, bakmanız gereken iyi bir alternatif var. Ünitenin tamamını uyku yerine, ekranın uyku moduna bakın System Preferences -> Energy Saver. Benim kullanım durumumda, bir sıcak köşe kurulumum var (bunu etkinleştirebilirsiniz System Preferences -> Desktop & Screen Saver -> Screen Saver), böylece öğle yemeğine gideceğimde ve ekranımı kilitlemem ve / veya ekranı uyku moduna almam gerektiğinde, en alta geçiyorum -sol köşe. Benim için iyi çalışıyor, bilgisayar bir uyku rutininden geri dönmüyor ve unuttuğum uzun süren işlemler kesintiye uğramıyor. Sizin durumunuzda, bu, WiFi etkin alanınızın düşmeyeceği anlamına gelir.


1
Bu gerçekten çok yararlı, bunu yapmak için <kbd> ^ </kbd> + <kbd> ⇧ </kbd> + <kbd> ⏏ </kbd> kullanıyorum. Ama istediğim bu değil. Bilgisayar uyurken İnternet Paylaşımı'na ihtiyacım yok. Gerçekten uyku ve hatta paylaşımı ve wifi kapatma bilgisayara ihtiyacım var. Açıklığa kavuşturmak için sorumu düzenleyeceğim. Neyse teşekkürler =)
Irae Carvalho

0

Mac'inizi belirli bir süre kullanılmadığında uyku moduna geçirmek için Power Manager'ı kullanabilirsiniz . Power Manager, İnternet Paylaşımı da dahil olmak üzere boşta uykuyu engelleyen işlemleri ve uygulamaları geçersiz kılabilir.

Kullanım kılavuzu bunu nasıl ayarlayacağınızı açıklar:

Daha İyi Hareketsizlik Tetiklenen Uyku

Power Manager bir alternatif sunar. Hareketsizlikle tetiklenen bir uyku sağlıyoruz. Hareketsizlik, boşta kalma süresinden farklı olarak ölçülür; hareketsizlik, yalnızca kullanıcı etkinliği tarafından belirlenen daha basit bir ölçümdür.

Alternatif olarak, aşağıdaki tarif, Mac'inizi bir süre kullanılmadığında uyku moduna geçirmek için bir Power Manager olayının nasıl oluşturulacağını gösterir .

Power Manager: İşlem yapılmadığında kapat

Feragatname: Power Manager geliştiren şirkette çalışıyorum.


İnternet Paylaşımı etkinken benim için çalışmadı. Hayatımın bir saatini boşa harcadığım için -1.
Winterflags

Ne elde etmek istediniz ve sizin için ne işe yaramadı?
Graham Miln

OP ve cevabınızla aynı. Sistem Tercihleri> Paylaşım öğesinde İnternet Paylaşımı etkinken 'Uykuyu Zorla' olmasını umarak Hareketsizlik Uyku özelliğini yapılandırdım . Bu olmadı, ancak İnternet Paylaşımı devre dışı bırakıldıysa uyku modunu etkinleştirir.
Winterflags

1
Power Manager, macOS'a uyku isteği gönderir. Diğer sorunun belirttiği gibi uyku ile ilgili sorunlarınız varsa, aynı uyku sorunları üçüncü taraf uygulamaları tarafından yayınlanan uyku isteklerini de etkileyecektir. Elbette, durumunuzu anladığımda yanlış veya basit bir yanlış olabilirim. Umarım bir çözüm bulabilirsin.
Graham Miln

1
Açıkça uyku moduna geçmeniz istendiğinde macOS her zaman uyur - Finder> Apple (menü)> Uyku . Uyumayan, Mac ile ilgili sorunları düşündüren davranıştır.
Graham Miln
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.