ওএস এক্স-এ লগইন / লগআউটে স্ক্রিপ্টটি কীভাবে চালানো যায়?


10

আমি একটি কাস্টম রেন্ডার ফার্ম ম্যানেজার তৈরি করার চেষ্টা করছি, এবং যখন তারা ব্যবহার না হয় তখন আমি রেন্ডার ফার্মে স্বয়ংক্রিয়ভাবে ওএস এক্স মেশিন যুক্ত করতে চাই।

কোনও ব্যবহারকারীর একবার লগ আউট হয়ে যাওয়ার পরে কোনও ব্যবহারকারী যখন লগ ইন করেন তখন বন্ধ করার জন্য কোনও স্ক্রিপ্ট চালানোর কোনও উপায় আছে কি?

উত্তর:


10

আছে এ স্ক্রিপ্ট চালানোর জন্য বিভিন্নভাবে লগইন / লগআউট মধ্যে OS X এর কিছু অতি সাম্প্রতিক এবং শুধুমাত্র 10.5 এবং উপরোক্ত, কিছু বরং অবচিত প্রয়োগ হয়, কিন্তু দ্রুততম এক একটি যোগ করার জন্য হবে Login Hook

প্রথমে আপনি যে স্ক্রিপ্টটি চালাতে চান তা তৈরি করুন। একটি টার্মিনাল খুলুন এবং প্রবেশ করুন:

touch ~/script.sh
open -e !$

এটি একটি পাঠ্য সম্পাদক খুলবে। স্ক্রিপ্টটি প্রবেশ করুন, যেমন নিম্নলিখিত বিষয়বস্তু সহ:

#!/bin/sh
# insert your script here

ফাইলটি সংরক্ষণ করুন। আপনার টার্মিনালে, চালান:

chmod +x ~/script.sh

এটি ফাইলটি কার্যকর করতে সক্ষম করে। এখন, এটি একটি হুক হিসাবে যুক্ত করুন:

sudo defaults write com.apple.loginwindow LoginHook /usr/local/bin/script.sh 

Logout Hookসমমনা এছাড়াও রয়েছে :

sudo defaults write com.apple.loginwindow LogoutHook /usr/local/bin/script2.sh

আমি এটি ওএস এক্স 10.6 এ পরীক্ষা করেছি এবং এটি 10.8 পর্যন্ত পর্যন্ত কাজ করা উচিত । মনে রাখবেন যে স্ক্রিপ্টটি চলবে rootএবং লগইন এবং লগআউটের জন্য যথাক্রমে কেবলমাত্র একটি হুক রয়েছে।

সমস্ত কিছু পূর্বাবস্থায় ফেলার জন্য প্রবেশ করুন

sudo defaults delete com.apple.loginwindow LoginHook
sudo defaults delete com.apple.loginwindow LogoutHook

নোট করুন যে এই পদ্ধতিটি মোতায়েন বা কোনও কিছুর জন্য প্রস্তাবিত নয়, তবে আপনি যদি এটি কেবল আপনার প্রশ্নের মতো করে ব্যবহার করেন তবে কোনও সমস্যা হওয়া উচিত নয়।



5

লগইন হুকগুলি প্রবর্তনের পক্ষে 10.4-এ অবচিত করা হয়েছিল। লগইনে কোনও স্ক্রিপ্ট চালাতে, এর মতো একটি প্লিস্ট সংরক্ষণ করুন ~/Library/LaunchAgents/test.plist। এটি চালানো না হলেও এটি পরবর্তী লগইনে লোড হয় launchctl load ~/Library/LaunchAgents/test.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>test</string>
    <key>ProgramArguments</key>
    <array>
        <string>say</string>
        <string>test</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

আরও তথ্যের জন্য, দেখুন man launchd.plistএবং এই ব্লগ পোস্ট


লিঙ্কযুক্ত ব্লগ পোস্ট অনুসারে, এটি প্রথমবার আপনি যখন লগ ইন করবেন সেটিকে লোড করবে এবং সিস্টেমটি আরম্ভ না হওয়া পর্যন্ত এটিকে লোড করা হবে। আপনি প্রতিটি লগইনে স্ক্রিপ্ট চালানোর জন্য কীভাবে লঞ্চ ব্যবহার করবেন? বা লগআউট এ?
শ্যাড স্টার্লিং

-1

এই হুকগুলি ১০.১০ এ কাজ করার জন্য আপনাকে এটি করতে হবে:

  1. /etc/ttysফাইলটি খুলুন : ফাইন্ডারে, গো মেনু থেকে ফোল্ডারে যান নির্বাচন করুন, টাইপ করুন /etc/, তারপরে গো ক্লিক করুন।

  2. ফলস্বরূপ উইন্ডোতে ttysআপনার পছন্দের পাঠ্য সম্পাদক (যেমন টেক্সটএডিট) তে ফাইলটি খুলুন ।

  3. একটি লাইনের জন্য দেখুন যা পড়ছে:

    console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"

  4. এই লাইনটি সম্পাদনা করুন যাতে এটি নীচে পড়তে পারে (এই লাইনে কোনও ব্রেক নেই):

    console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow -LoginHook /path/to/script" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"

    উদাহরণস্বরূপ, দ্বিতীয় উদ্ধৃতি ( ) চিহ্নের ঠিক আগে যুক্ত করুন ( কোনও স্ক্রিপ্টের পুরো পথটি যেখানে আপনি ব্যবহার করতে চান কোনও ব্যবহারকারী লগ ইন করতে চান )।-LoginHook /path/to/script/path/to/script"

  5. ফাইলটি সংরক্ষণ করুন।

নিশ্চিত হয়ে নিন যে আপনি এই ফাইলটি সম্পাদনার জন্য যে পাঠ্য সম্পাদকটি ব্যবহার করছেন সেটি উপরের লাইনটি একাধিক লাইনে বিভক্ত হয় না।


বা এখানে পূর্ণ নির্দেশ অনুসরণ করুন:

http://support.apple.com/en-ca/HT2420


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.