Ofis Wi-Fi ağımla bağlantı kurduğumda mesai saatlerini otomatik olarak nasıl takip edebilirim?


8

Ofis wifi'mde oturum açtığımda zamanlayıcıyı başlatan ve ayrıldığımda durduran bir çözüm arıyorum. Aslında ofiste geçirdiğim saatleri kaydetmeli. Bunun için iOS yazılımı olduğunu biliyorum, ancak pil süremi olduğu gibi seviyorum.

Çözüm, iCal'deki saatleri otomatik olarak günlüğe kaydedebilirse ekstra bonus olurdu.


İlginç, bunu yapabilen bir uygulama bilmiyorum…
Martin Marconcini

İşinizin bir ev kullandığınızdan farklı / farklı bir wifi adına (essid) sahip olduğunu varsayıyorum?
alesplin

@alesplin Evet, kesinlikle.
yusf

Bunun için değiştirilebilir bir kesmek olabilir. Bir göz atacağım ve göreceğim.
alesplin

@alesplin Nasıl gitti?
yusf

Yanıtlar:


9

ControlPlane bunu başarmak için kullanabileceğiniz bir şey olabilir:

ControlPlane, bir dizi mevcut kanıt kaynağına göre nerede olduğunuzu veya ne yaptığınızı belirler ve ardından Mac'inizi tercihlerinize göre otomatik olarak yeniden yapılandırır. Kanıt kaynakları mevcut konumunuzu, görünür WiFi ağlarını, bağlı USB cihazlarını, çalışan uygulamaları ve daha fazlasını içerebilir. Kabuk komut dosyalarını kullanarak kendi kanıt kaynaklarınızı bile yazabilirsiniz!

Özetle, ControlPlane'ye "kanıt kaynağı" verebilirsiniz.

  • WiFi, menzil içindeki ağlar veya şu anda bağlı olduğunuz ağa bağlı olarak

resim açıklamasını buraya girin

Ardından, belirli bir bağlama girerken (veya buradan ayrılırken),

  • Uygulamaları başlatmak da dahil olmak üzere herhangi bir dosyayı açın
  • AppleScript veya kabuk komut dosyası gibi bir komut dosyası çalıştırma

resim açıklamasını buraya girin

Burada düşündüğüm şey, eğer ControlPlane ofis wifi'nizin ne dediğini bilirse, kurallar oluşturabilirsiniz, böylece ona bağlandığınızda saatlerinizi kaydetmeye başlamak için bir uygulama veya kabuk komut dosyası başlatabilirsiniz. Ardından, bağlantıyı kestiğinizde, saatinizi günlüğe kaydetmeyi durdurmak için uygulamayı durdurur veya başka bir kabuk komut dosyası çalıştırırsınız.

Bunun aradığınız "gümüş kurşun" çözümü olmadığını anlıyorum, ama denemeye değer olabilir. Hala bir tür zamanlayıcı uygulaması / komut dosyası bulmanız gerekecek, ancak muhtemelen sorunun daha kolay kısmı :)


Cevap için teşekkür ederim! ControlPlane ilk başta biraz fazla gibi görünüyor (daha hafif bir çözüm arıyordu) ama AppleScript'i öğrenmek için zamanım olduğunda deneyeceğim.
yusf

@yusf Sorun değil. Umarım yardımcı olur. Oraya vardığınızda son çözümünüzle de ilgilenirim! :-)
binarybob

4

Şu networksetup -getairportnetwork <device>anda bağlı olan kablosuz ağınızın adını almak için bu komutu kullanabilirsiniz (havaalanınızın cihaz kimliği nerede - muhtemelen en1).

Oradan, startd'yi her 5 dakikada bir çalışacak şekilde bir komut dosyası zamanlamak için kullanabilirsiniz; bu, bağlı olduğunuz kablosuz ağın adını alır ve işinize ilk wi-fi bağlandığınızda günlüğe kaydeder.

Ne istediğinize bağlı olarak, aynı komut dosyasını, artık çalışma kablosuz ağınıza bağlı olmadığınızı fark ettiğinde başka bir girişi günlüğe kaydetmek veya belirli aralıklarla bir tür bildirim (belki de growl kullanarak) göndermek için kullanabilirsiniz. "9 saattir iş içindeyim - eve gitme vakti"

Veya çalışan bir günlükte başlangıç ​​/ bitiş zamanlarını kullanabilir ve ayrıştırmak ve bir tür rapor oluşturmak için başka bir komut dosyası yazabilirsiniz.

Etrafta yatan bu tür senaryoların parçaları ve parçaları var, işte zaman izin verirse, buraya bir şey ekleyeceğim.

man launchd oldukça kullanışlıdır.


Teşekkürler @alespin! Güzel bir minimal yaklaşım için açılır. :)
yusf

1

İşte bunu yapmaya çalışan insanlar için başka bir seçenek.

Bir komutu her 5 dakikada bir çalıştırmak yerine, klasör her /Library/Preferences/SystemConfiguration/değiştiğinde çalıştırabilirsiniz . Bu genellikle yalnızca bir tür ağ değişikliği olduğunda olur.

Bunu Lingon'u kullanarak yapabilir veya aşağıdaki gibi bir şey yapacak kendi launchd plist'inizi yapabilirsiniz:

<?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>AbandonProcessGroup</key>
        <true/>
        <key>Label</key>
        <string>localhost.on_networkchange</string>
        <key>ProgramArguments</key>
        <array>
                <string>/path/to/your/script.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>WatchPaths</key>
        <array>
                <string>/Library/Preferences/SystemConfiguration/</string>
        </array>
</dict>

Açıkçası /path/to/your/script.shasıl yola geçmek istersiniz .

Mac'e bir ağ değişikliği gerçekleştiğinde tüm ayarlamalarını yapma şansı vermek için komut dosyasının başlangıcına bir 'uyku 10' eklemeniz gerekebileceğini unutmayın.

Ayrıca, bağlı olduğunuz AirPort ağının adını (SSID) almanın en kolay yolu:

airport -I | awk -F': ' '/ SSID/{print $NF}'

airportKomut bulunabilir /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport10.8 'de (ve 10.7 ve 10.6 inanmak)

Genellikle / usr / local / bin'e bağlarım:

ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport

sudo/ usr / local / bin / cihazınızın kurulumuna bağlı olarak bu komuta ihtiyacınız olabilir .

Son olarak, dizüstü bilgisayarınızı uyku moduna geçirdiğinizde ne yapacağınızı düşünmeniz gerekir. Örneğin, ofiste 9-5 arasındaysanız ve dizüstü bilgisayarınızı 5'te uyuyorsanız, bunu da kaydetmek istersiniz, değil mi? Yoksa ayrıldığın zaman nasıl bileceksin?

Bunun için http://www.bernhard-baehr.de (ücretsiz, kaynak kodu dahil) adresinde bulunan SleepWatcher 2.2'yi öneriyorum . Bu, Mac'iniz her uyandığında veya uyuduğunda bir kabuk komut dosyası çalıştırmanıza olanak tanır.

Diğer tek husus, bilgisayarınızı kapatmak yerine oturumu kapatır veya kapatırsanız ne yapmanız gerektiğidir. Bunun için iyi bir cevabım yok. Teorik olarak bir LogoutHook cevap olurdu, ancak bunlar özellikle kapanmaya karşı çıkışta güvenilir görünmüyor.

Tamamen ilgisiz bir öneri

Bir iOS cihazınız olduğunu belirttiniz. Belki de bu sorunu çözmenin bir yolu, ne zaman Gelirseniz veya İşten Ayrılırsanız için bir Hatırlatma oluşturmak olacaktır. Hatırlatma sona erdiğinde, Siri'yi tetikleyin ve "Saat 17: 00'de kalan işi hatırla" veya "Saat 9'da işe geldiğini hatırla" deyin, Siri not edin. Ne zarif ne de tamamen otomatik değil, ancak faturalandırılabilir saatlerin izini sürüyordum, biraz fazlalık umursamadım :-)

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.