ওএস এক্সে একটি স্ক্রিপ্ট চালানোর জন্য একটি শর্টকাট বরাদ্দ করুন


33

ওএস এক্স কি কমান্ড লাইনে সাধারণত চালিত কমান্ডগুলিতে কী সংমিশ্রনের বাঁধনের সহজ উপায় সরবরাহ করে?

উদাহরণস্বরূপ , সম্ভবত আমার স্ক্রিনটি লক করার জন্য বিশ্বব্যাপী শর্টকাট হিসাবে ⌘ Cmd+ নিযুক্ত করার কোনও উপায় আছে L, সম্ভবত ব্যবহার করছেন /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine?

উত্তর:


21

হ্যাঁ, আপনি Applescript বা এটা করতে পারেন Automator

আমি এর মতো জিনিসগুলি যেভাবে করেছি তা হ'ল সমস্ত অ্যাপ্লিকেশনগুলিতে উপলব্ধ একটি পরিষেবা তৈরি করতে অটোমেটার ব্যবহার করা। ব্যাশ / zsh / রুবি / যে কোনও স্ক্রিপ্ট চালানোর জন্য একটি পরিষেবা তৈরি করা যেতে পারে। তারপরে আপনি সিস্টেমের পছন্দগুলির কী-বোর্ড প্যানে পরিষেবাদির সাথে একটি কী সংমিশ্রণ বাঁধতে পারেন।

এই ম্যাকব্রেইক পডকাস্টের শেষের কাছে এই পদ্ধতিটি বিস্তারিতভাবে দেখানো হয়েছে।

সম্পাদনা: আমি কেবল লক্ষ্য করেছি আপনি স্নো চিতা ব্যবহার করছেন না। আমি মনে করি না 10.5.8 দিয়ে একটি সিস্টেম-প্রশস্ত পরিষেবা তৈরি করা এত সহজ is আমার ধারণা আপনি একটি পাওয়ারবুক হওয়ায় আপনি আপগ্রেড করতে পারবেন না। আপনি ফাস্টস্ক্রিপ্টগুলি সন্ধান করতে চাইতে পারেন যা আপনাকে অ্যাপ্লিক্রিপ্টগুলিতে কীবোর্ড শর্টকাটগুলি নির্ধারণ করতে দেয় (10 টির বেশি কিবোর্ড শর্টকাট ব্যবহারের জন্য নিখরচায়) এবং নিম্নলিখিত অ্যাপ্লাস্ক্রিপ্টটি ব্যবহার করতে পারে:

do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine"

36

আমি বর্তমানে ফাস্টস্ক্রিপ্ট ব্যবহার করি । এটিতে সমস্ত স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে ~/Library/Scripts/, সুতরাং আপনাকে নিজে স্ক্রিপ্টগুলি যুক্ত করতে হবে না। এটি অ্যাপ্লিকেশন-নির্দিষ্ট স্ক্রিপ্টগুলিকেও সমর্থন করে এবং এতে কয়েকটি বৈশিষ্ট্য রয়েছে যা অ্যাপলস স্ক্রিপ্টগুলির সাথে দরকারী, যেমন এটি কোনও স্ক্রিপ্ট থামিয়ে দেয় keystrokeঅথবা কোনও key codeকমান্ডের আগে স্ক্রিপ্ট থামিয়ে দেয় যতক্ষণ না মোডিফায়ার কী প্রকাশিত হয়।

আপনি যদি আলফ্রেড 2 এর জন্য পাওয়ারপ্যাকটি কিনে থাকেন তবে আপনি এই জাতীয় ওয়ার্কফ্লো তৈরি করতে পারেন:

হটকিজগুলির ডিফল্টরূপে একটি স্বল্প বিলম্ব হয় তবে আপনি ট্রিগার আচরণটি পরিবর্তন করে এটি হ্রাস করতে পারেন:

কীআরমা এমপিবুক এছাড়াও চালিত শেল স্ক্রিপ্টগুলি সমর্থন করে:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_say_a</name>
    <url type="shell">say a</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::A, KeyCode::VK_OPEN_URL_SHELL_say_a</autogen>
  </item>
</root>

অন্যান্য অ্যাপ্লিকেশনগুলি যা স্ক্রিপ্টগুলিতে শর্টকাট বরাদ্দ করতে সহায়তা করে:

আরেকটি বিকল্প হ'ল একটি স্বয়ংক্রিয় পরিষেবা তৈরি করা:

  1. অটোমেটারটি খুলুন এবং পরিষেবা টেম্পলেটটি চয়ন করুন।
  2. ইনপুট প্রকার এবং অ্যাপ্লিকেশন সুযোগটি সঠিক কিনা তা পরীক্ষা করুন বা পরিষেবা কোনও ইনপুট না এলে "নির্বাচিত পাঠ্য "টিকে" কোনও ইনপুট নয় "এ পরিবর্তন করুন।
  3. স্ক্রিপ্টের জন্য একটি রান শেল স্ক্রিপ্ট যুক্ত করুন বা অ্যাপলস্ক্রিপ্ট ক্রিয়া চালান।
  4. পরিষেবাটি সংরক্ষণ করুন এবং এটিকে সিস্টেম পছন্দগুলি থেকে একটি শর্টকাট দিন।

10.7 সাল থেকে একটি বাগ রয়েছে যেখানে আপনি মেনু বার থেকে পরিষেবাদি মেনুটিতে না যাওয়া পর্যন্ত পরিষেবার শর্টকাটগুলি সর্বদা কাজ করে না। পরিষেবাগুলির শর্টকাটগুলি কার্যকর হয় না যখন কোনও অ্যাপ্লিকেশনটিতে পরিষেবার মেনু নেই (টাওয়ারের মতো) সামনের দিকে থাকে। পরিষেবাগুলি চালুর আগে একটি লক্ষণীয় বিলম্বও রয়েছে।


open -a ScreenSaverEngineএমনকি একটি বাচ্চা খাটো।
জারি কেইনেনেন


ফাস্টস্ক্রিপ্টগুলি 10 ডলার শেয়ারওয়্যার তবে এটি মূল্যবান।
একটি অর্থ প্রদান ভ্রষ্ট

আপনার কাছে কি বেসিক ফাস্টস্ক্রিপ্ট রয়েছে যা টার্মিনাল খোলার জন্য F1 বেঁধে দেওয়ার মতো কিছু করে বা যা কিছু?
নিক টি

1
দয়া করে তালিকায় হামারস্পুন যুক্ত করুন :)
ভল্ট

1

আপনি যদি বেটারটচটুল ব্যবহার করছেন তবে নীচের ক্রিয়াটি নির্বাচন করে শেল কমান্ডের জন্য একটি শর্টকাট বরাদ্দ করতে পারেন: অন্যান্য অ্যাপ্লিকেশনগুলি নিয়ন্ত্রণ করে> টার্মিনাল কমান্ড কার্যকর করুন


0

এখানে আমি তৈরি একটি KeePass.sh স্ক্রিপ্ট উদাহরণ। আমি স্রেফ এটিতে তথ্য পেয়েছি এবং এটি টার্মিনালের সাথে চালানোর জন্য সেট করেছি। এর পরে, আমি আমার ডেস্কটপে এটির জন্য একটি উপনাম তৈরি করেছি। এটি কোনও টার্মিনালের ভিতরে কীপ্যাস.শ স্ক্রিপ্টটি চালায় এবং তারপরে আপনি অ্যাপ্লিকেশনটি প্রস্থান করার পরে এটি কোনও উন্মুক্ত টার্মিনাল উইন্ডোজকে হত্যা করে। আপনি শেষ লাইনটি টুইট করতে পারেন :-)

cd ~/Documents/KeePass
/Library/Frameworks/Mono.framework/Versions/current/bin/mono KeePass.exe 1>/dev/null 2>/dev/null
cd ~
killall Terminal

এখানে প্রত্যেকের উত্তরের মতো বিশেষ কিছু ব্যবহার করার দরকার নেই।

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