Senaryoları uykuda uyandırıp uyandırmak mümkün mü?


48

MacBook Pro 2010, işletim sistemi X Lion kullanıyor.

Senaryoları uyku ve uyanıklık olaylarında çalıştırmak mümkün mü?

Özel uygulamam, düzenli olarak hem MacBook'um hem de iMac'imde kullandığım Dropbox ile senkronize edilmiş Truecrypt hacimleri almam. Kapağı kapatmak çok daha hızlı ve daha kolay olduğu için MBP'mi nadiren kapatıyorum, ancak bu, Truecrypt hacimlerimi sökmeyi hatırlamak zorunda olduğum ve MBP'mi kapatmadan önce tekrar senkronize etmeleri gerektiğini hatırlamam gerektiği anlamına geliyor. Bunların montajını kaldırmak / kaldırmak için yeterince önemsizdir, ancak bir adım daha ileri gitmek ve bu komut dosyalarının otomatik olarak çalışmasını istiyorum.

Yanıtlar:


17

İşletim sistemi gönderilirken uyku / uyanmanın senaryoları tetikleyemediği , ancak üçüncü taraf çözümlerinin geliştirildiği anlaşılıyor .

Bu programlar veya satıcılarıyla ilgili kişisel bir deneyimim yok.


2
Senaryo aradığım şeyi yapıyor gibi görünüyor. Teşekkürler!
sh-beta

Senaryoyu bir bash betiği ve voilá yazan el kitabını ateşledim.
redolent 21

Bir uygulamayı sonlandırmak için bunu yeni bir AppleScripti penceresine yazın ve SleepScripts klasörüne kaydedin: "CodeBox" uygulamasından çıkın son söyleyin anlat
brainray

24

SleepWatcher kullanımda olabilir.

Açıklamadan: Mac veya Mac'in ekranı uyku moduna geçtiğinde veya uyandığında, kullanıcı etkileşimi olmadan verilen bir süre sonunda veya kullanıcı bir aradan sonra veya güç kesildiğinde etkinliği sürdürdüğünde bir Unix komutu çalıştırmak için kullanılabilir. Mac dizüstü bilgisayar tedariki bağlı veya çıkarılmış. Ayrıca Mac'i uyku kipine gönderebilir veya son kullanıcı faaliyetinden bu yana geçen zamanı alabilir.

10.6.8'de benim için iyi çalışıyor. 10.1 (!) - 10.7 arası desteklemek için çeşitli sürümler mevcuttur


İşte SleepWatcher kullanan bir grup Mac OSX İpuçları .
studgeek

4
Örneğin, SleepWatcher'ı Homebrew tarafından yükleyebilirsiniz brew install sleepwatcher. Ve bu yazıyı görün , çok yardımcı oldu. SleepWatcher yardımcı programı ayrıca OS X El Capitan'ı (10.11) destekler.
Rockallite

11

Bu benim kendi uygulamam, bu yüzden şunu göz önünde bulundurun, ancak ControlPlane Uyku / Uyandırmayı temel alan eylemler yapabilir. Bunu http://www.controlplaneapp.com/ adresinde bulabilirsiniz .

ControlPlane, MarcoPolo'nun bir çatalıdır ve Snow Leopard ve Lion'da çalışacak şekilde güncellendi.


1
Çok güzel sondaj programı, sadece bunun için overkill ama uyanma / uykudan daha fazla tetiklemek için bir ihtiyaç varsa o zaman oldukça güzel geliyor. Growl desteğini de seviyorum, böylece ne yaptığını biliyorsunuz. Ve bedava :).
studgeek

2
Kabul edilen cevap olmalı çünkü ücretsiz
Kevin Parker

Bu, sürücülerin uyku ve uyanma ile takılması ve sökülmesi için kullanılabilir mi? otomatik komut dosyaları yazmamız gerekiyor mu?
bicepjai

1
yıllar sonra, kontrol uçağı Dustin'in blogunda düzeltmek için vakti olmadığı için gönderdiği uyumsuzlukların artması nedeniyle artık kullanılmıyor. Çok kötü, ama mantıklı.
lahwran

6

Leopard'daki betikler için 'uyandırma' tetikleyicisi sağlamak için aşağıdaki basit Laemon Daemon'u geliştirdim:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>wake-alert</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>z=/tmp/wake; test -s $z || { date > $z; say w; }; 
tail -1 /Library/Logs/DirectoryService/DirectoryService.server.log | grep -v Sleep || > $z
        </string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>/Library/Logs/DirectoryService/DirectoryService.server.log</string>
    </array>
    <key>ExitTimeOut</key>
    <integer>2</integer>
    <key>ThrottleInterval</key>
    <integer>1</integer>
</dict>
</plist>

'W' ifadesini kodunuzla değiştirebilirsiniz. Z'ye bir tarih yazıyorum ama bunu herhangi bir şeyi yazmak için değiştirebilirsiniz. Bazı komut dosyaları için 'ExitTimeOut' değerini arttırmanız gerekebilir. Fırlatma Daemon'um /Library/LaunchDaemons/wake-alert.plist adresinde bulunmaktadır.

Başlatma Daemon DirectoryService.server.log dosyasını izler ve dosyanın boş olması şartıyla geçici bir dosyaya yazar. Dosya, bir günlük 'Uyku' girişi ve Shut Down tarafından temizlenir.

Eğer uyumak için 'hızlı kullanıcı değiştirme' özelliğini kullanırsanız, giriş yapmış bir kullanıcı gerektiren komut dosyalarının çok erken çalışmayı deneyeceğini ve belki de 'secure.log' da 'Başarılı oldu' komutunu kullanmazsanız, Daemon'u Başlatma komutunu değiştirmezseniz göreceksiniz.


1
/Library/Logs/DirectoryService/DirectoryService.server.logYüksek Sierra'da yok (10.13).
Nowaker

Muhtemelen kullanılabilecek başka kütükler vardır.
Neville Hillyer

2

Keşfedebileceğiniz ve denemek isteyebileceğiniz bir diğer program ise EventScripts . Ben bu amaç için onu test sonra, genel olarak öneriyoruz çok etkileyici program yok olsa DEĞİL aslında yeterince hızlı Mac uykuya geçmeden önce bunları çalıştırmak için tetik komut muktedir görünen ve bunun yerine uyku komut olacak Mac uyanıncaya kadar koşmayın, ki bu (açıkçası) amacı yener.

Sizi ve başkalarını bu okuyan herkesi kurtarıp, bu sonuca varmam için yapılan test saatlerini umuyorum. Ancak bunun başarısız olduğunu söylemek zorunda kaldığım için üzgünüm, çünkü birçok açıdan gerçekten güzel tasarlanmış ve oldukça güçlü ve esnek bir program. Aynı zamanda oldukça ucuz (3 $). Düşük seviyeli performans, sadece uyumadan önce bir senaryo çalıştırmak için orada görünmüyor .

Öte yandan, testlerimde (şu ana kadar) sleepwatcher oldukça güvenilir ve hızlı görünüyordu. Aynı zamanda ücretsiz, bu harika. Test etmeye devam edeceğim ve bazen işe yaramazsa, bazen cevabımı güncelleyeceğim ve diğer seçenekleri de test etmeye devam edeceğim.

GÜNCELLEME Ben var değil başlangıçta çalışıyor gözükse de, SleepWatcher başlangıçta bu cevabı yazarken beri sürekli olarak güvenilir olduğu tespit. Benim durumumda rasgele komut dosyaları çalıştırmam gerekmiyor, bunun yerine sadece harici sürücüleri çıkarmam gerekiyor. Jettison : Ben şimdiye kadar bu kadar iyi yapan küçük ve ucuz bir uygulama buldum . Bu, çok hızlı bir şekilde, onsuz yaşayamayacağım küçük bir avuç yardımcı programdan biri haline geldi. İhtiyaçların benimkiyle aynıysa, bence kaç para harcayacaklarına değer bulursun.


1

WakeWatcher , bu sorunu çözmek için oluşturduğum basit bir OS X yüzü olmayan arka plan uygulamasıdır. ~/.onwakeUyanma algılandığında çalışır . Ardından komutlarınızı, sürücülerinizi o komut dosyasında takmak / yeniden ayarlamak için kullanabilirsiniz.

WakeWatcher bir giriş maddesi olarak kullanım için uygundur. Çok karmaşık değil, ama özgür ve basit.

Uyku modunda komut dosyaları çalıştırmak basit bir ekleme olacaktır, ancak sistem gerçekten uykuya geçmeden önce komut dosyalarının tamamlanması için gereken süre konusunda endişeliyim. Gerçekten ihtiyacınız varsa, github projesine karşı bir sorun açın, ben de ekleyeceğim.

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.