লগআউট চালানোর জন্য একটি স্ক্রিপ্ট / অ্যাপ্লিকেশন তৈরি করুন


13

আমরা সকলেই জানি যে ম্যাক ওএস এক্সের খুব দরকারী লগইন আইটেমগুলির কার্যকারিতা রয়েছে যা আপনাকে অন্যান্য জিনিসের মধ্যে লগ ইন করার সময় চালানোর জন্য অ্যাপস / স্ক্রিপ্টগুলি সেট আপ করতে দেয়।

আমি সেটআপ একটি উপায় খুঁজছি স্ক্রিপ্ট / চালানোর যে যখন আমি একটি অ্যাপ্লিকেশনের তালিকা থেকে লগ আউট । একটি "লগআউট আইটেম" তালিকা, যদি আপনি চান।
মূলত, আমি নিজের জন্য কয়েকটি ক্লিনআপ স্ক্রিপ্ট লিখতে চাই যা লগ আউট বা বন্ধ হয়ে গেলে স্বয়ংক্রিয়ভাবে চালিত হবে।

সুতরাং, আমি লগ আউট করার পরে একটি স্ক্রিপ্ট (বা আদর্শভাবে সেগুলির তালিকা) স্বয়ংক্রিয়ভাবে ট্রিগার করার একটি উপায় অনুসন্ধান করছি। লগ আউট স্ক্রিপ্টগুলি সমাপ্ত হওয়ার জন্য অপেক্ষা করবে (ঠিক কীভাবে কোনও অ্যাপ্লিকেশন এটির অনুরোধ করে যদি লগআউট আপনার জন্য সংরক্ষণে ক্লিক করুন)

আমি যখন ম্যাক ওএস এক্স থেকে লগ আউট করব তখন স্বয়ংক্রিয়ভাবে (ক) স্ক্রিপ্ট (গুলি) ট্রিগার করার কোনও উপায় আছে?


উত্তর:


7

লগআউট হুকগুলি 10.4 এ অবহেলা করা হয়েছিল , তবে তারা এখনও 10.9 হিসাবে কাজ করে।

sudo defaults write com.apple.loginwindow LogoutHook ~/.logouthook
echo $'#!/bin/bash\nsay a' > ~/.logouthook
chmod +x ~/.logouthook

লগআউটহুক কীটির মান কেবল চালানোযোগ্য শেল কমান্ডের পথ হতে পারে। লগআউট হুক মূল হিসাবে চালিত হয়।

ডিফল্ট কমান্ডটি /var/root/Library/Preferences/com.apple.loginwindow.plist পরিবর্তন করে। / লাইব্রেরি / প্রিফারেন্স / কম.এপল.লগিনউইন্ডো.পালিস্টে একটি লগআউটহুক কী যুক্ত করা কাজ করে না।

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

লঞ্চ আউট দিয়ে নির্ভরযোগ্যভাবে লগআউট এ প্রোগ্রামগুলি চালানোর কোনও উপায় আমি খুঁজে পাইনি। আমি যখন EXIT এর মতো সিগন্যালগুলি আটকে দেওয়ার চেষ্টা করেছি, তখন ফাঁদে কোডটি কেবল তখনই চালিত হত যখন আমি লগইন উইন্ডোতে লগ আউট করি এবং যখন আমি বন্ধ বা পুনরায় আরম্ভ করি না।

<?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>test</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <string>trap 'echo a>/Users/username/Desktop/a;say a' EXIT;while :;do sleep 10;done</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

হুম, এঁরা দুজনই আমার পক্ষে কাজ করেননি। আমি এই স্ক্রিপ্টটি পেয়েছি , যা যদি আমি এটি দিয়ে চালিত করি তবে shএটি কাজ করে (এটি এটি .txt ফাইল তৈরি করে)। আমি স্ক্রিপ্টটি /etc/rc.shutdown.local হিসাবে সংরক্ষণ করেছি এবং defaultsআপনি যেমন বলেছেন তেমনভাবে আমি এটি যুক্ত করেছি । কোনও ফাইলই ইতিমধ্যে ছিল না। আমি কি ভুল কিছু করছি? ধন্যবাদ!
নাথান গ্রিনস্টাইন

আমি নিশ্চিত না যে আমি কিছু ভুল করছি কিনা। আমি 10.6.8 এ আছি এবং লগআউটহুক কাজ করছে না। আপনি যদি এই স্ক্রিনশটটি একবার দেখে নিতে পারেন এবং যদি কিছু ভুল দেখায় তবে আমাকে জানান, আমি প্রশংসা করব । ধন্যবাদ!
নাথান গ্রিনস্টাইন

1
আহ! শেষটি 10.6.8 এ কৌশলটি করেছিল। ধন্যবাদ! যদিও একটি নোট: এটি সিংহের সাথে কাজ করে না :(
নাথান গ্রিনস্টাইন

2
উভয় পদ্ধতিই আমার মাউন্টেন সিংহ (10.8.2) মেশিনে সূক্ষ্মভাবে কাজ করে, এমনকি বন্ধ বা পুনরায় চালনার সময়ও। নোট করুন যে লগইনহুক / লগআউটহুক হুকগুলি মূল ব্যবহারকারীর প্রসঙ্গে চলে এবং সেগুলি একক, সিস্টেম-ব্যাপী হুক এবং লগইন হুকটি সিঙ্ক্রোনসিভভাবে চালিত হয় - প্রতি ব্যবহারকারী লঞ্চ এজেন্টের চেয়ে অনেক আগে; একইভাবে, লগআউট হুকটি প্রতি ব্যবহারকারী ব্যবহারকারীর লঞ্চ এজেন্টের চেয়ে আগে চলে যা EXIT- ট্র্যাপ পদ্ধতি ব্যবহার করে। এমন ঘটনা রয়েছে যেখানে কেবল হুকগুলিই কাজ করে; উদাহরণস্বরূপ, আপনি যদি ম্যাকের প্রারম্ভকালের শব্দটি দমন করতে শাটডাউনে শব্দটি নিঃশব্দ করতে চান তবে কেবল লগআউটহুক নির্ভরযোগ্যভাবে কাজ করে।
mklement0

1

আসলে একটি উপায় আছে:

  1. "স্ক্রিপ্ট সম্পাদক" অ্যাপ্লিকেশনটি খুলুন
  2. আটকে দিন

do shell script "PUT YOUR START SCRIPT PATH HERE"

on quit
    do shell script "PUT YOUR STOP SCRIPT PATH HERE"
    continue quit
end quit
  1. ফাইল> সংরক্ষণ করুন, নির্বাচন অ্যাপ্লিকেশন এবং স্টে রান হ্যান্ডলার পর খোলা এবং সংরক্ষণ
  2. সিস্টেম পছন্দসমূহ> ব্যবহারকারী ও গোষ্ঠী> লগইন আইটেম ট্যাব> + বোতাম
  3. অ্যাপ্লিকেশনটি যুক্ত করুন এবং এটি লুকানো হিসাবে চিহ্নিত করুন

এটি ডক থেকে লুকানোর জন্য:

  1. অ্যাপ্লিকেশনটিতে ডান ক্লিক করুন এবং প্যাকেজ সামগ্রী দেখান
  2. Info.plist খুলুন এবং অ্যাড করুন

<key>NSUIElement</key>
<string>1</string>

এটা খুবই পছন্দ করি. আমার প্রয়োজনের জন্য সহজ এবং পর্যাপ্ত। এবং অবচয়হীন নয়।
ইভান এক্স

0

স্ক্রিপ্ট টাইমার এর জন্য ভাল পছন্দ। এটি লগআউট, লগইন এবং আরও অনেক কিছুতে চলতে পারে। আমি একটি সহজ এবং সহজেই ব্যবহারযোগ্য সমাধানের জন্য এ সাথে যাব। এটির একটি সাধারণ জিইউআই রয়েছে:

ট্রিগারড অ্যাকশন

স্ক্রিপ্ট টাইমার সম্পর্কে আপনার দুটি জিনিস খেয়াল করতে হবে। এক, এটি নিখরচায় নয় । এটির দাম $ 12, তবে আমি ব্যক্তিগতভাবে মনে করি এটি মূল্যবান। দুই, এটি সিংহের সাথে পুরোপুরি সামঞ্জস্যপূর্ণ নয়, তবে তারা এটিকে সামঞ্জস্যপূর্ণ করার সাথে সাথে একটি বিনামূল্যে আপডেটের প্রতিশ্রুতি দিয়েছে।


1
এটি এখন
অবচয়

0

আপনি আপনার স্ক্রিপ্ট থেকে প্লাটিপাসের মতো কিছু ব্যবহার করে একটি ম্যাক অ্যাপ্লিকেশন তৈরি করতে পারেন এবং তারপরে এটিকে অন্য অ্যাপ্লিকেশনের মতো লগইন আইটেমগুলিতে যুক্ত করতে পারেন।


0

পাওয়ার ম্যানেজার যখন কোনও লগ আউট করে তখন স্ক্রিপ্ট চালাতে পারে। এটি একটি বাণিজ্যিক পণ্য এবং এটি সর্বশেষতম ম্যাকোস সমর্থন করে।

পাওয়ার ম্যানেজার লগ আউট শিডিয়ুল সহকারী টাস্কে একটি স্ক্রিপ্ট চালায়

ইভেন্ট সম্পাদকটি ব্যবহার করে পূর্ববর্তী সংস্করণগুলি প্রয়োজন , তবে লগ ইন এবং আউট-এ স্ক্রিপ্টগুলি চালনার জন্য এখন একটি শিডিয়ুল সহকারী কাজ অন্তর্ভুক্ত করা হয়েছে।

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

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