コンピュータがスリープできるようにインターネット共有を構成することはできますか?


9

TL; DR:インターネット共有が原因でMacがスリープ状態になりません。定期的に手動でシステムをスリープ状態にする必要があります。睡眠を妨げないようにインターネット共有を設定する方法が欲しいのですが。

自宅の寝室にiMacがあり、ルーターから離れすぎているため、ワイヤレスを使用できません。また、ここでの3Gカバレッジはひどいので、インターネット共有を有効にして、iPhone / iPadを使用して接続できます。 iMac。

職場で私は企業ネットワークを利用していて、ワイヤレスはやや不規則で制限が厳しいため、MacBook Proでもインターネット共有を有効にして、iPhoneが内部のものにアクセスできるようにしました。

問題は次のとおりです。+ + (または>スリープ)を押すと、どちらのコンピューターも必要に応じてスリープ状態になりません。これは、最初にインターネット共有を無効にしない限りです。

自宅ではコンピューターをスリープ状態にしてスリープ状態にして(電力を節約し、さらに沈黙させる)、仕事中には自宅にもスリープ状態にしたいので、接続されているすべてのアプリ(Adium、Colloquyなど)を閉じる必要はありません。翌日再開します。

pmsetこの問題に遭遇することなくコンピューターをスリープ状態にできるように、インターネット共有を構成するにはどうすればよいですか?

注:pmset他の理由があるかどうかを確認するために私はすでに使用しており、問題の原因pidは常にcom.apple.InternetSharingです。

編集:コンピューターをスリープ状態にすると、インターネット共有を使用できなくなることを理解しています。完全にスリープ状態にし、コンピュータが起動したときにのみインターネット共有を再びオンにしたい。


上記のコマンドの出力はDenySystemSleepです。文字列を見つけましたがsudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat、動作を変更するために使用できませんでした。少し答えてみてください。
Irae Carvalho

したがって、たとえば、共有をオフにしてからスリープするものが必要です。そして、自動的にウェイクアップして、共有をオンにする他の何か。
GEdgar

丁度!これが私が必要なものです
Irae Carvalho 2012年

回答:


8

ControlPlaneを使用して、あなたが望むものを実現する実験をしました。私の予備的な結果はそれがあなたが望むことをするということです。

ControlPlaneは、「エビデンスソース」と呼ばれるシステムへの変更を検出します。変更は、「コンテキスト」の変更を定義する「ルール」で評価されます。各コンテキストに関連付けられているのは「アクション」です。

「エビデンスソース」の1つは、睡眠/覚醒イベントです。そのため、スリープイベント(たとえば、アップルメニューで[スリープ]をクリックした)で、コンテキスト「スリープ時間」がトリガーされるようにルールを構成しました。このコンテキストでは、「ToggleInternetSharing」アクションをオフにして使用しました。

[スリープ]をクリックすると、インターネット共有がオフになっているという警告が表示され、しばらくすると(永遠に見えるようですが、おそらく10秒または20秒しかありません)、Macがスリープ状態になります。

そして、ウェイクイベントでコンテキスト 'Waking Up'がトリガーされ、これに 'ToggleInternetSharing'をオンに設定するアクションがあるように、2番目のルールがあります。

私のルールとアクション:

ここに画像の説明を入力してください ここに画像の説明を入力してください

それを試してみてください!

これは、ControlPlaneで実行できることのほんの一部にすぎません。


素晴らしいアプリ!それは魅力のように働きました!詳しい説明ありがとうございます。また、アプリが完全に無料でオープンソースであることも確認しました。私にとっては、これを使用することを支持するプラスとしてカウントされます=)
Irae Carvalho 2013年

ControlPlaneについて以前から知っていましたが、使用していませんでした。あなたの質問は、その機能を探索する優れた理由でした-そのおかげで。
ギルビー

ここで+1 ...はOS X Mavericks v10.9.4まだ魅力的です。さんありがとう
GMO

素晴らしいアプリケーションのようです!残念ながら、現在のところEl Capitanではインターネット共有の切り替えは機能しません(おそらくSierraでも機能しません)。
Winterflags 2016年

2

Lionを実行している場合、 InternetSharingは明示的にをロックしていSystemSleepます。見て:

strings /usr/libexec/InternetSharing | grep SystemSleep

このコマンドの出力:DenySystemSleepはInternetSharing、カーネルがスリープ状態になる可能性を意図的にブロックしている証拠です。この保護には簡単な説明がありInternetSharingます。一度起動すると、このMacのクライアントはインターネットにアクセスするためのルーターとしてそれを使用している可能性があります。画面の前にいる人の知識がなくても、このインターネット接続上で多くのことが自動的に実行されている可能性があります。

この接続は、それを開始したシステムの管理者によってのみ破壊されるべきであり、自動システム動作ではありません。

これは安全な動作です。

したがって、InternetSharingMacスリープが次の順序で4つのイベントをスケジュールする場合、正しい方法はオフになります。

InternetSharing off
    system sleep
    system wakeup
InternetSharing on

これはが提供するスケジュールControlPlaneです。


上記のコマンドの出力はDenySystemSleepです。文字列を見つけましたがsudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat、動作を変更するために使用できませんでした。少し答えてみてください。
Irae Carvalho

1
@ daniel-azuelosはInternetSharingが責任があることを示すことを意味すると私は信じています。彼が提案するコマンドはInternetSharingバイナリを検索し、睡眠の遮断に関連する文字列を見つけます。これは、睡眠を妨げる原因となる可能性が高いものを確認するのに役立ちますが、希望する動作を得るためではありません。
Graham Miln 2013

1

インターネット共有を有効にしたMacをスリープ状態にできるようにすることは現実的ではありません。

インターネット共有機能は、ルーターのソフトウェアバージョンです。インターネットへのゲートウェイ、DHCPサーバー、ファイアウォール、DNSフォワーダーとして機能します。地元の小売店から購入できるルーターと同じように機能します。そしてそれは無料です。

ただし、大きな欠点があります。ゲートウェイとして機能するMacがオフになっているか、スリープ状態になっている場合、他のマシンはオンラインにできません。

これが、インターネット共有によってマシンがスリープ状態にならない理由です。

しかし、私はファイル/ iTunes /それが眠っているときに画面を共有することができます

はい、それらすべてを共有できます。ただし、これらのファイルにアクセスすると、Macが起動します。これはWake On DemandおよびBonjour Sleep Proxyと呼ばれます。

Macがスリープ状態のときは、ネットワーク接続をいくぶん「ライブ」に保ちます。Bonjourの「パケット」がコンピュータを起動するのを待機しています。これはAirportデバイス(ネットワークアダプター)自体によって処理されます。コンピュータではありません。「ウェイクパケット」を受信すると、Macがウェイクアップし、リソースの共有を開始できます。

Bonjour 1は、構成がなく、UDP 2プロトコルであるマルチキャストドメインネームサービス(mDNS)(ブロードキャストであり、ルーティングできない)を使用します。これは、ステートレスで最小のメッセージ指向のトランスポートです。

基本的に、UDP(Bonjourのベース)は、「ウェイクアップ!」というメッセージをコンピューターに送信するのに最適です。

Interntを参照するには(ゲートウェイMacの背後にあるコンピューターを使用)、TCPに基づく完全なプロトコルスタックが必要です。DHCP、NAT、ファイアウォールなどが必要です。つまり、クライアントがWebを閲覧できるようにする前に、これらすべてのサービスを起動する必要があります。これにより、レイテンシが大幅に増加します。

さらに実用的なアプローチに戻ると、Macがスリープ状態になり、ゲートウェイとして機能した場合、スリープ状態にならないか、不眠症の悪い人のように上下に動いてしまいます。


1 Bonjourは、サービス検出、アドレス割り当て、およびホスト名解決を含むテクノロジーのグループであるゼロ構成ネットワーキング(zeroconf)のAppleによる実装です。Bonjourは、マルチキャストドメインネームシステム(mDNS)サービスレコードを使用して、ローカルネットワーク上でプリンター、その他のコンピューター、およびそれらのデバイスが提供するサービスなどのデバイスを検索します。

2 UDPは、最小のメッセージ指向トランスポート層プロトコルです。UDPはメッセージ配信の上位層プロトコルを保証せず、UDP層は一度送信されたUDPメッセージの状態を保持しません。シンプルで、DHCPやトリビアルファイル転送プロトコルなどの完全なプロトコルスタックがなくても、ブートストラップやその他の目的に適しています。


アラン、あなたの洞察に感謝します。私の特定のケースでは、イーサネットの利点を得るためにThunderbolt Bridge経由でiMacに接続するMBP(〜30 Mbit Wifiではなく100 Mbit)のため、インターネット共有のみを使用しています。インターネット共有を「ルーター」として使用していません。したがって、スクリプトまたは自動化を介してインターネット共有を有効/無効にする(または強制的にスリープさせる)方法を見つけることが私にとっては現実的です。
Winterflags 2016年

インターネット共有あなたのMacをルーターに変えます-それインターネット共有することのコア機能です。
Allan

わかりましたが、技術的な用語で話しているのではありません。Thunderbolt Bridgeを介してMBPをiMacに接続する場合にのみインターネット共有を使用するため、接続されているかどうかに関係なく、iMacがスリープ状態になることはありません。したがって、おそらくスクリプトを含む回避策を探します。
Winterflags 2016年

1
さて、あなたは眠りに行くからあなたのMBPを防止することから却下インターネット共有するつもりはないが、あなたはここで、「回避策」の外観をしたい場合: apple.stackexchange.com/questions/2488/...
アラン

ありがとう-私はそれらの回答をすでに試しましたが、El Capitanで(おそらくSIPが原因で)動作させることができませんでしたが、さらに調査する必要があります。
Winterflags 2016年

1

再 ControlPlane、これは私にとってはうまくいきます...

2つのコンテキスト(どちらも同じ) ルール 3つのアクション


0

コンピュータの電源管理ユニットがデバイスをスリープさせると、低電力モードになります。コンピューター上の平均的な実行可能コードは通常の方法では実行されません。コンピューターは、メモリをリフレッシュする(必要な場合)だけで、それ以外にはほとんど電力を維持しません。コンピューターがスリープしている間は、汎用のコンピューティングに従事することはできません。

しかし、あなたが見るべき良い代替案があります。ユニット全体をスリープさせる代わりに、でディスプレイのスリープを確認してくださいSystem Preferences -> Energy Saver。私のユースケースでは、ホットコーナー設定(で有効にすることができますSystem Preferences -> Desktop & Screen Saver -> Screen Saver)があるため、昼食に行くときに画面をロックしたり、ディスプレイをスリープ状態にしたりする必要がある場合は、一番下に移動します-左の角。コンピューターはスリープルーチンから復帰せず、私が忘れていた長期実行プロセスが中断されることはありません。あなたの場合、これはあなたのWiFiホットスポットが落ちないことを意味します。


1
これは確かに非常に便利です。私は<kbd> ^ </ kbd> + <kbd>⇧</ kbd> + <kbd>⏏</ kbd>を使用してそれを行います。しかし、それは私が望むものではありません。コンピュータがスリープしている間、インターネット共有は必要ありません。コンピューターを本当にスリープさせ、共有とwifiをオフにする必要さえあります。明確にするために質問を編集します。とにかくありがとう=)
Irae Carvalho

0

Power Managerを使用して、非アクティブな状態が続いた後にMacをスリープさせることができます。Power Managerは、インターネット共有を含むアイドルスリープをブロックするプロセスとアプリケーションを無効にすることができます。

ユーザーガイドはこれを設定する方法をウォークスルーします:

より良い非活動トリガー睡眠

Power Managerは代替手段を提供します。非活動トリガー睡眠を提供します。非アクティブは、アイドル時間とは異なる方法で測定されます。非活動は、ユーザーの活動のみによって決定されるより単純な測定です。

または、次のレシピは、Power Managerイベントを作成して、一定の非アクティブ状態の後にMacをスリープ状態にする方法を示しています。

パワーマネージャー:非アクティブタスク後に電源をオフにする

免責事項:私はPower Managerを開発する会社で働いています。


インターネット共有がアクティブな状態では機能しませんでした。私の人生の1時間を浪費した場合は-1。
Winterflags 2016年

何を達成したいと思い、何がうまくいかなかったのですか?
Graham Miln、

OPとあなたの答えと同じです。[システム設定]> [共有]でインターネット共有を有効にして「強制スリープ」になることを期待して、非アクティブスリープを構成しました。機能しませんでしたが、インターネット共有が無効になっている場合、スリープがアクティブになります。
Winterflags 2016年

1
Power Managerはスリープ要求をmacOSに発行します。他の質問が示すように、睡眠に問題がある場合は、同じ睡眠の問題がサードパーティアプリケーションから発行される睡眠要求にも影響します。もちろん、あなたの状況を理解する上で、私は誤っているか、単純に間違っているかもしれません。あなたが解決策を見つけられることを願っています。
Graham Miln、2016年

1
macOSは、明示的にスリープするように要求されたときは常にスリープしますFinder> Apple(メニュー)> Sleep。眠らないとは、Macに問題があることを示唆する動作です。
Graham Miln、2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.