কোনও কাজ / প্রক্রিয়া শেষ হলে আমি কীভাবে আইটির্ম টার্মিনালটি আমাকে জানাব?


105

একটি বিজ্ঞপ্তি কেন্দ্রের বিজ্ঞপ্তিটি আদর্শ হবে তবে গ্রল, বাউন্স ডক, শব্দ ইত্যাদি খুব ভাল হবে (বা এটি কেবল টার্মিনাল.অ্যাপে করা যেতে পারে তবে আমি ফিরে যেতে চাই)। বিজ্ঞপ্তিগুলি চালু করার জন্য আইটার্মের কোথাও কোনও বিকল্প আছে বা এটি এমন কিছু যা আমি টার্মিনালের একটি কমান্ডের শেষে টাইপ করার কথা? যদি দ্বিতীয়টি হয়, প্রক্রিয়া শুরু হয়ে যাওয়ার পরে কি কোনও সতর্কতা যুক্ত করা সম্ভব (উদাহরণস্বরূপ যদি আমি বুঝতে পারি যে এটি প্রাথমিকভাবে আমার প্রত্যাশার চেয়ে বেশি সময় নিবে, তবে আমি অনুমান করার পক্ষে খারাপ)।

উত্তর:


197

ইতিমধ্যে চলমান প্রক্রিয়া সম্পর্কে অবহিত করুন

শর্টকাট: Aবা:

Edit -> Marks and Annotations -> Alerts -> Alert on next mark

ভুতুড়ে চোখ!: iTermআক্ষরিকভাবে আপনার টার্মিনালের (উপরের ডান দিকের কোণায়) নজর রাখবে। কমান্ডটি শেষ হয়ে গেলে, এটি যোগাযোগ করবে Notification Center

কেন?

আমরা ইতিমধ্যে কমান্ডটি চালু করেছি। আমরা সমাপ্তির জন্য প্রয়োজনীয় সময়টিকে কম মূল্যায়ন করেছি, আমরা এটি বাতিল করতে চাই না, এবং আমরা এটি বসে থাকতে অস্বীকার করি। যেমন একটি brew updateদীর্ঘ সময় পরে!

আবশ্যকতা

আইটার্ম: শেল ইন্টিগ্রেশন:

iTerm2 -> Install Shell Integration

দ্রষ্টব্য যে আইটিার্ম 2 পুনরায় চালু না করা পর্যন্ত ইন্টিগ্রেশন বিজ্ঞপ্তিগুলি প্রদর্শন করবে না।


11
শেল ইন্টিগ্রেশন ইনস্টল করার পরে আপনি আইটির্ম 2 -> পছন্দসমূহ -> প্রোফাইল -> টার্মিনাল এ যেতে চাইতে পারেন, স্ক্রল ডাউন করুন এবং "চিহ্ন সূচকগুলি দেখান" পরীক্ষা করুন, আমি এই শেল ইন্টিগ্রেশন পছন্দ করি না। আপনি যদি সতর্কতা শৈলীর পপআপের পরিবর্তে ওএস বিজ্ঞপ্তিগুলি চান তবে -> চিহ্ন এবং টিকা -> সতর্কতাগুলি -> বিজ্ঞপ্তি পোস্ট করতেও পারেন might
চার্লস এল

@ সিমোনহ্যাম্প আমি সমাহিত অধিবেশনগুলির জন্য ট্রিগার ( iterm2.com/docamentation-triggers.html ) ব্যবহার করার পরামর্শ দিচ্ছি
ফিরসাইবার

3
@ ডোয়ান্ডারসন আপনি কি কখনও এই টিএমাক্সের সাথে কাজ করতে পেরেছেন? এটি এতটা সহায়ক হবে
লুকাস

@ লুকাশ ডক্সে একটি লাইন রয়েছে যা বলে যে শেল ইন্টিগ্রেশন tmux বা স্ক্রিনের সাথে কাজ করে না iterm2.com
রিচ স্টোন

2
এই চোখ আমাকে ভয় দেখায় !! (╯ ‵ □ ′) ╯︵┻━┻
ডাব্লুটিআইএফএস

42

কমান্ড এবং এর মধ্যে একটি অর্ধ-কোলন সহ আপনি যে কোনও কমান্ডের পরে নিম্নলিখিত যে কোনও একটি যুক্ত করতে পারেন:

afplay /System/Library/Sounds/Ping.aiff -v 2

osascript -e 'beep 3'

tput bel

বা, আপনি যদি বিজ্ঞপ্তি কেন্দ্র পছন্দ করেন

osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'

আপনি আপনার প্রোফাইলে একটি উপনাম তৈরি করতে পারেন, ডেকে ডেকে notifyআপনার কমান্ডের শেষে যুক্ত করতে পারেন। সুতরাং, আপনার লগইন প্রোফাইলে

alias notify="tput bel"

তারপর

sleep 10; notify

অথবা, যদি আপনি আপনার কমান্ডটি শুরু করেন এবং এটি "হ্যাঙ্গিং" হয় তবে কেবল টাইপ করুন notifyএবং হিট করুন Enterএবং এটি আপনার notifyএলিফটি শেষের দিকে চালিত হবে , কমান্ডটি শেষ হয়ে গেলে, উদাহরণস্বরূপ

sleep 20

# wait 5 seconds before realising this will take 20 seconds
notify<Enter>

osascript -e 'display notification "Task finished" with title "Terminal"'2015-05-04 12:34:23.227 osascript[30467:1130887] Error loading /Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: dlopen(/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools, 262): no suitable image found. Did find:
হুঁ

ত্রুটির দ্বিতীয় ভাগ/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: no matching architecture in universal wrapper osascript: OpenScripting.framework - scripting addition "/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax" declares no loadable handlers.
সত্যতা 1

আপনি কি ম্যাভারিকস বা ইওসেমাইটের চেয়ে পুরানো সিস্টেমে আছেন?
মার্ক সেটেল 16

নাহ, ইয়োসেমাইট 10.10.3
সত্যতা 1

ওহ, এটা অদ্ভুত। আপনি osascript -e 'display notification "Hello"'এখানে থেকে বিশেষভাবে অনুলিপি এবং আটকানো - এর মতো সহজ কিছু চেষ্টা করতে পারেন ।
মার্ক সেটেল

33

এবং আপনি সর্বদা sayকমান্ডটি ব্যবহার করতে পারেন ।

সাধারণত যখন আপনি টার্মিনাল ভিতরে একটি দীর্ঘ প্রক্রিয়া চলমান এবং আপডেট করতে আপনি কেবল ভালো জিনিস বলতে এই কমান্ড ব্যবহার করতে হয় doneবা errorবা bazinga

mvn clean install; say done 

এই কমান্ডটি জাভা স্প্রিং অ্যাপ তৈরি করে এবং দীর্ঘ সময় নেয় এবং doneপ্রক্রিয়াটি সম্পূর্ণ হওয়ার পরে এটি কথা বলে ।


16

iTerm2Growlবিজ্ঞপ্তি সমর্থন করে । আপনি প্রতিটি প্রোফাইল সেটিংসে এটি চালু করতে পারেন।

Preferences…-> এ একটি প্রোফাইল নির্বাচন করুন Profiles। তারপরে Terminalট্যাবে একটি বিকল্প রয়েছে Enable Growl Notifications

পছন্দগুলিতে iTermবিজ্ঞপ্তি সক্ষম করতেও মনে রাখবেন Growl

আপনি যদি কোনও প্রদত্ত প্রক্রিয়ার জন্য বিজ্ঞপ্তি পেতে চান তবে আপনি পরীক্ষার চেষ্টা করতে পারেন Triggers। আপনি Advancedএকটি প্রোফাইল সেটিংসে ট্যাবগুলিতে ট্রিগারগুলি সংজ্ঞায়িত করেন । এইভাবে আপনি আপনার প্রক্রিয়াটির একটি নির্দিষ্ট আউটপুটে (রিজেপেক্স) একটি গ্রোল বিজ্ঞপ্তি বরাদ্দ করতে পারেন।

আপনি উদাহরণস্বরূপ করতে পারে:

$ mycommand; echo "end-of-my-process"

এবং ট্রিগারটিকে "আমার-প্রক্রিয়ার শেষ" বার্তায় সংযুক্ত করুন।

হালনাগাদ

আইটিার্ম 2 ডটকম-এ ট্রিগারগুলি সম্পর্কে আরও পড়ুন ।


সুতরাং আমি কি ঠিক করেছি যে কোনও সমাপ্ত প্রক্রিয়াটির জন্য সতর্কতা পাওয়ার কোনও বিশ্বব্যাপী উপায় নেই কারণ প্রক্রিয়া শেষে এটি কী লিখেছে তা জানতে একবারে আমার স্ক্রিপ্টটি চালানো দরকার (এবং আমি চালিত প্রতিটি স্ক্রিপ্টের জন্য আমাকে একটি তৈরি করতে হবে) )? উদাহরণস্বরূপ, ইউটিউব-ডিএল প্রক্রিয়াটির শেষ লাইনটি [download] 100% of 40.13MiB in 00:13কিন্তু এটি শেষ করে এমন প্রতিটি ফাইলের জন্য এই লাইনটি পুনরাবৃত্তি করা হয়। আমার 'শেষ-আমার-প্রক্রিয়া' স্ট্রিংয়ের জন্য আমি কী রাখব? আমার ডিফল্ট শেল প্রম্পট ~ >আবার প্রদর্শিত হবে তখন আমি কি ট্রিগার তৈরি করতে পারি ?
1ness 22

@ সত্য1নেস আমি মনে করি না সমাপ্ত প্রক্রিয়া সম্পর্কে অবহিত করার মতো সাধারণ উপায় আছে। iTermটার্মিনাল আউটপুট শেষে, নতুন টার্মিনাল আউটপুট জন্য বিজ্ঞপ্তি প্রেরণ। এটি কিছু প্রক্রিয়াগুলির জন্য কাজ করতে পারে। সমস্ত প্রক্রিয়া জন্য কাজ করার উপায় আমি প্রস্তাবিত। "আমার-প্রক্রিয়ার শেষ" বার্তাটি কোনও অনন্য স্ট্রিং হতে পারে। এটি এমনভাবে অনন্য করুন যাতে এটি আপনার প্রক্রিয়া দ্বারা মুদ্রিত হবে না। আক্ষরিকভাবে "আমার-প্রক্রিয়ার শেষ" পাঠ্য হতে পারে। ট্রিগার সংজ্ঞাতে আপনাকে অবশ্যই একই স্ট্রিংটি প্রবেশ করতে হবে এবং এর সাথে একটি বিজ্ঞপ্তি সংযুক্ত করতে হবে। আমি জানি না এটি শেল প্রম্পট দিয়ে কাজ করবে কিনা। আপনি নিজেই চেষ্টা করে দেখুন
বাফ

আহ, আমি ভুল বুঝেছি, এখন পেয়েছি। প্রতিধ্বনি আউটপুট "আমার-প্রক্রিয়ার শেষ" দিয়ে পপ আপ করার জন্য আমি একটি সতর্কতা পেতে সক্ষম হয়েছি। যাইহোক, প্রক্রিয়া শুরুর আগে আমি যখন ইকো কমান্ডটি সত্যই প্রকাশ করি তখন আমি একটি সতর্কতাও পাই। আমি যখন আইটিআরএমকে আসলে কমান্ডটি প্রকাশ করি এবং কেবল প্রতিধ্বনিত স্ট্রিংটি দেখি তখন স্ট্রিংটিকে উপেক্ষা করতে কীভাবে বলব? সহায়তা ফাইল থেকে আমি ট্রিগার রেজেক্সকে \ 0 দিয়ে প্রিপেন্ড করার চেষ্টা করেছি ("নিয়মিত প্রকাশের সাথে পুরো মানটি মিলেছে।") তবে এটি এখনও ট্রিগারটি দুবার কার্যকর করে exec
সত্য 1

@ সত্য1ness সৃজনশীল হোন, উদাহরণস্বরূপ echo "end-of-""my-process" ভিতরে কোট ব্যবহার করুন । এটি প্রক্রিয়া শেষ হলেই "আমার-প্রক্রিয়ার শেষ" পাঠ্যের সাথে মিলবে।
বাফ

9

সেখানে নামক একটি OSS টুল বিজ্ঞপ্তিগুলি

আপনি সহজেই এটির সাথে ইনস্টল করতে পারেন brew install notiএবং ঠিক আপনার কমান্ডটিকে notiপছন্দ মতো উপস্থাপন করে এটি ব্যবহার শুরু করতে পারেন noti sleep 3


3

আপনি terminal-notifierম্যাক ওএস সিস্টেমের বিজ্ঞপ্তিগুলি ব্যবহার করে তাও ব্যবহার করতে পারেন । কেবল হোম ব্রুয়ের মাধ্যমে এটি ইনস্টল করতে:

$ brew install terminal-notifier

তারপরে আপনি যদি আপনার কাজ / প্রক্রিয়াটি শেষ করেন তখন বিজ্ঞপ্তি প্রদর্শন করতে চান তবে এই জাতীয় কিছু ব্যবহার করুন

$ <your job/process command> && echo 'Completed' | terminal-notifier -sound default

এবং এই মত এই প্রদর্শন:

এখানে চিত্র বর্ণনা লিখুন

আপনি বিজ্ঞপ্তিগুলির শব্দ এবং আইকনও পরিবর্তন করতে পারেন। গিথুব রেপোতে আরও তথ্য: https://github.com/julienXX/terminal-notifier


1

আইটিার্ম 2 শেল ইন্টিগ্রেশন ইনস্টল করুন

curl -L https://iterm2.com/shell_integration/install_shell_integration_and_utilities.sh | bash

আপনার আদেশটি কার্যকর করুন এবং মনোযোগ অ্যাপ্লিকেশনটিকে সংযুক্ত করুন, যেমন eg

./task && ~/.iterm2/it2attention once

কাজটি শেষ হয়ে গেলে এটি আইটেম অ্যাপটিকে আইকনটি বাউন করে দেবে।

আপনার অন্যান্য মনোযোগের বিকল্পও রয়েছে:

$ .iterm2/it2attention -h
Usage:
  it2attention start
    Begin bouncing the dock icon if another app is active
  it2attention stop
    Stop bouncing the dock icon if another app is active
  it2attention once
    Bounce the dock icon once if another app is active
  it2attention fireworks
    Show an explosion animation at the cursor
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.