जब मैं अपने कार्यालय से वाई-फाई से जुड़ता हूं, तो मैं अपने आप कार्यालय के घंटों का ट्रैक कैसे रख सकता हूं?


8

मैं एक समाधान की तलाश कर रहा हूं जो कि जब भी मैं अपने कार्यालय वाईफाई में साइन इन करता हूं तो एक टाइमर शुरू होता है और जब मैं छोड़ देता हूं तो इसे रोक देता है। यह अनिवार्य रूप से उन घंटों को लॉग इन करना चाहिए जो मैंने कार्यालय में बिताए हैं। मुझे पता है कि इसके लिए iOS सॉफ्टवेयर है, लेकिन मुझे अपनी बैटरी का समय पसंद है।

अतिरिक्त बोनस होगा यदि समाधान iCal में घंटों को स्वचालित रूप से लॉग इन कर सकता है।


दिलचस्प है, मुझे ऐसा कोई ऐप नहीं पता है जो ऐसा कर सके ...
मार्टिन मार्कोसिनी

मैं मान रहा हूँ कि आपके काम का एक अलग / विशिष्ट वाईफाई नाम (सार) है जो आप घर का उपयोग करते हैं?
एल्सप्लिन

@alesplin हाँ वास्तव में।
युसफ

मेरे पास थोड़ा सा हैक हो सकता है जिसे इसके लिए संशोधित किया जा सकता है। मैं इसे देखूंगा और देखूंगा।
एलिसप्लिन

@alesplin यह कैसे हुआ?
युसफ

जवाबों:


9

ControlPlane कुछ ऐसा हो सकता है जिसका उपयोग आप इसे पूरा करने के लिए कर सकते हैं:

ControlPlane यह निर्धारित करता है कि आप कहाँ हैं या आप कितने उपलब्ध साक्ष्य स्रोतों के आधार पर कर रहे हैं और फिर अपनी वरीयताओं के आधार पर अपने मैक को स्वचालित रूप से पुन: कॉन्फ़िगर करते हैं। साक्ष्य स्रोत आपके वर्तमान स्थान, दृश्यमान वाईफाई नेटवर्क, संलग्न यूएसबी डिवाइस, रनिंग एप्लिकेशन और बहुत कुछ शामिल कर सकते हैं। तुम भी खोल स्क्रिप्ट का उपयोग कर अपने खुद के सबूत स्रोतों लिख सकते हैं!

संक्षेप में, आप ControlPlane को एक "सबूत स्रोत" दे सकते हैं, जैसे कि

  • वाईफाई, या तो रेंज के भीतर नेटवर्क या आपके द्वारा वर्तमान में कनेक्ट किए गए नेटवर्क पर आधारित है

यहां छवि विवरण दर्ज करें

फिर एक विशेष संदर्भ, जैसे कि प्रवेश (या छोड़ते समय) क्रियाओं का एक सेट करें

  • एप्लिकेशन शुरू करने सहित कोई भी फ़ाइल खोलें
  • स्क्रिप्ट चलाएँ, जैसे AppleScript या शेल स्क्रिप्ट

यहां छवि विवरण दर्ज करें

यहाँ मेरी सोच यह है कि यदि ControlPlane को पता है कि आपके कार्यालय की वाईफाई को क्या कहा जाता है, तो आप नियम बना सकते हैं ताकि जब आप इससे कनेक्ट हों तो आप अपने घंटों को लॉग इन करने के लिए एक एप्लिकेशन या शेल स्क्रिप्ट शुरू करें। फिर, जब आप डिस्कनेक्ट करते हैं, तो आप एप्लिकेशन को रोकते हैं या अपने घंटे लॉगिंग को रोकने के लिए एक और शेल स्क्रिप्ट चलाते हैं।

मुझे लगता है कि यह "सिल्वर बुलेट" समाधान नहीं हो सकता है जिसे आप ढूंढ रहे थे, लेकिन यह एक कोशिश के लायक हो सकता है। आपको अभी भी किसी प्रकार के टाइमर ऐप / स्क्रिप्ट को ढूंढना होगा, लेकिन शायद समस्या का आसान हिस्सा है :)


जवाब के लिए धन्यवाद! ControlPlane पहली बार में बहुत ज्यादा ओवरकिल लग रहा है (कुछ अधिक हल्के समाधान की तलाश में था), लेकिन मैं एक बार यह कोशिश करूंगा कि मेरे पास AppleScript सीखने का समय हो।
युसफ

@yusf कोई बात नहीं। उम्मीद है कि यह मदद करेगा। जब आप वहाँ पहुँचेंगे तो मुझे आपके अंतिम समाधान में भी दिलचस्पी होगी! :-)
बाइनरीबोब

4

आप networksetup -getairportnetwork <device>अपने वर्तमान में कनेक्ट किए गए वायरलेस नेटवर्क (जहां आपके हवाई अड्डे की डिवाइस आईडी है - शायद en1) का नाम प्राप्त करने के लिए कमांड का उपयोग कर सकते हैं ।

वहां से, आप प्रत्येक 5 मिनट चलाने के लिए एक स्क्रिप्ट को शेड्यूल करने के लिए लॉन्च का उपयोग कर सकते हैं या तो उस वायरलेस नेटवर्क का नाम प्राप्त करेंगे जिसे आप कनेक्ट करते हैं और लॉग इन करते हैं जब आप पहली बार अपने काम से जुड़ते हैं वाई-फाई।

आप जो चाहते हैं उसके आधार पर, आप तब उसी स्क्रिप्ट का उपयोग दूसरी प्रविष्टि को लॉग इन करने के लिए कर सकते हैं जब यह नोटिस किया जाता है कि आप अब अपने कार्य वाई-फाई से नहीं जुड़े हैं, या विशिष्ट अंतराल पर कुछ प्रकार की अधिसूचना (शायद ग्रोएल का उपयोग करके) पोस्ट करने के लिए। "मुझे घर जाने के लिए 9 घंटे - समय पर काम पर" की तर्ज पर कुछ किया गया है।

या आप रनिंग लॉग में प्रारंभ / समाप्ति समय का उपयोग कर सकते हैं और इसे पार्स करने के लिए एक और स्क्रिप्ट लिख सकते हैं और किसी प्रकार की रिपोर्ट बना सकते हैं।

मुझे इस तरह की स्क्रिप्ट्स के बिट्स और टुकड़े मिले हैं, अगर समय पर काम की अनुमति मिलती है, तो मैं यहां कुछ जोड़ूंगा।

man launchd काफी उपयोगी है।


शुक्रिया @alespin! एक अच्छा न्यूनतम दृष्टिकोण के लिए खुलता है। :)
युसफ

1

ऐसा करने की कोशिश कर रहे लोगों के लिए यहां एक और विकल्प है।

हर 5 मिनट में एक कमांड चलाने के बजाय, जब भी फोल्डर में /Library/Preferences/SystemConfiguration/बदलाव होता है, आप इसे चला सकते हैं । यह आमतौर पर केवल तब होता है जब किसी प्रकार का नेटवर्क परिवर्तन होता है।

आप लिंगोन का उपयोग करके ऐसा कर सकते हैं या अपनी खुद की लॉन्च प्लिस्ट बना सकते हैं, जो कुछ इस तरह दिखाई देगी:

<?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>

जाहिर है कि आप /path/to/your/script.shवास्तविक पथ को बदलना चाहते हैं ।

ध्यान दें कि नेटवर्क परिवर्तन होने के बाद मैक को इसके सभी समायोजन करने का मौका देने के लिए आपको स्क्रिप्ट की शुरुआत के पास एक 'स्लीप 10' को शामिल करना पड़ सकता है।

इसके अलावा, AirPort नेटवर्क का नाम (SSID) प्राप्त करने का सबसे आसान तरीका है:

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

airportआदेश में पाया जा सकता /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport10.8 में (और मुझे विश्वास है 10.7 और 10.6)

मैं आम तौर पर इसे / usr / स्थानीय / बिन से जोड़ता हूं:

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

आपको sudoउस आदेश की आवश्यकता हो सकती है , जो आपके / usr / स्थानीय / बिन / सेटअप के आधार पर हो सकता है।

अंतिम लेकिन कम से कम, आपको यह विचार करने की आवश्यकता है कि जब आप अपने लैपटॉप को सोने के लिए रखते हैं तो क्या करें। उदाहरण के लिए, यदि आप 9-5 से कार्यालय में हैं और अपने लैपटॉप को 5 पर सोते हैं, तो आप उसे भी रिकॉर्ड करना चाहते हैं, है ना? अन्यथा जब आप चले गए तो आपको कैसे पता चलेगा?

उसके लिए मैं स्लीपवॉकर 2.2 सुझाता हूं जो http://www.bernhard-baehr.de (फ्री, सोर्स कोड शामिल) से उपलब्ध है। जब भी आपका मैक जागता है या सोता है तो आप एक शेल स्क्रिप्ट चलाते हैं।

केवल अन्य विचार यह है कि यदि आप अपने कंप्यूटर को लॉग आउट करते हैं या इसे बंद करते हैं, तो इसे सोने के बजाय क्या करना है। मेरे पास उस के लिए एक अच्छा जवाब नहीं है। सैद्धांतिक रूप से एक LogoutHook जवाब होगा, लेकिन वे अविश्वसनीय लग रहे हैं, खासकर लॉगआउट बनाम शटडाउन पर।

एक पूरी तरह से असंबंधित सुझाव

आपने बताया कि आपके पास एक iOS डिवाइस है। शायद इस समस्या को हल करने का एक तरीका यह होगा कि जब भी आप काम छोड़ें या काम छोड़ें तो एक रिमाइंडर बनाएं। जब रिमाइंडर बंद हो जाता है, तो सिरी को ट्रिगर करें और "याद रखें 5pm पर काम छोड़ दें" या "9 बजे काम पर पहुंचे याद रखें" और सिरी इसे नोट करेगा। सुरुचिपूर्ण और न ही पूरी तरह से स्वचालित, लेकिन अगर मैं बिल योग्य घंटों को ट्रैक कर रहा था, तो मुझे थोड़ा अतिरेक नहीं लगेगा :-)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.