ম্যাক ওএস এক্সে টার্মিনাল শিরোনাম পরিবর্তন করুন


39

আমি কীভাবে ম্যাক ওএস এক্সের টার্মিনাল উইন্ডোর শিরোনামটি ইচ্ছামত পরিবর্তন করতে পারি? আমি এই প্রশ্নটি এবং এই যাদুঘটিত জিনিসটি দেখেছি , তবে মনে করুন এটি কেবল একটি সাধারণ ম্যাক ওএস এক্স কমান্ড।


উল্লেখ্য যে এটি সম্পর্কে ওএস এক্স নির্দিষ্ট করে নেই - উত্তরটি কোনও টার্মিনালটিতে বেশ কার্যকর হবে।
অ্যান্ড্রু আইলেট

এটি কি তখন বাশ-নির্দিষ্ট?
ড্যান রোজনস্টার্ক

@ অ্যান্ড্রু আইলেট, সুতরাং আমি আমার উত্তরে যে স্ক্রিপ্টটি রেখেছি (নীচে) লিনাক্স ডিস্ট্রোজেও কাজ করবে?
ড্যান রোজনস্টার্ক

হ্যাঁ, এটি ইউনিক্স-ওয়াই টার্মিনাল ব্যবহার করে যে কোনও জায়গায় (একটি sh-derised শেল সহ) কাজ করা উচিত।
অ্যান্ড্রু আইলেট

উত্তর:


48

এই নিবন্ধটি আপনাকে জানায় কীভাবে।

মূলত, আপনি কী শিরোনাম প্রদর্শন করতে হবে তার টার্মিনালটি জানানোর জন্য আপনি পর্দার প্রতিধ্বনিত অক্ষর ক্রমগুলি ব্যবহার করেন।

title='My first title'
echo -n -e "\033]0;$title\007"

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

echo -n -e "\033]0;My first title\007"

তবে প্রথম উপায়টি ব্যবহার এবং / অথবা পরে প্রসারিত করতে কিছুটা সহজ করে তোলে।


চমৎকার। echo -n -e "\033]0;$1\007"আপনার উত্তরে আপনি কি একটি নমুনা স্ক্রিপ্ট (এই জাতীয়? ) অন্তর্ভুক্ত করতে পারেন যাতে আমি এটি সেরা উত্তর চিহ্নিত করতে পারি, দয়া করে?
ড্যান রোজনস্টার্ক

2
printf, অধিক নির্ভরযোগ্য হতে পারে: printf "\033]0;%s\007" "$title_variable"(বিভিন্ন অপশন এবং এর আচরণে প্রতিধ্বনি এছাড়াও, মধ্যে পরিবর্তনশীল বরাদ্দকরণ সব সিস্টেম, শাঁস জুড়ে একই, অথবা এমনকি শেল অপশন না) ব্যাশ স্পেস প্রায় সমান চিহ্ন থাকবে না।
ক্রিস জনসেন

1
আমি * এবং একটি ফাংশনের মধ্যে ব্যবহার করেছি, সুতরাং আমার শিরোনামের স্ট্রিংটি উদ্ধৃত করতে হবে না।
বীপডগ

কোনও সি প্রোগ্রামের মধ্যে থেকে শিরোনাম পরিবর্তন করার কোনও উপায় আছে কি? আমি যে প্রোগ্রামটির কথা ভাবছি সেগুলি এনসিউরএস। H এর উপর ভিত্তি করে অ্যানিমেশন চলছে so সুতরাং টার্মিনালে প্রতিধ্বনিত করার বিষয়ে আমি নিশ্চিত নই :-(
phs

ঠিক আছে: শুধু fprintf (stdout, ..) কাজ করে। আমার জিজ্ঞাসা করার আগে চেষ্টা করা উচিত ছিল।
পিএইচএস

34

আপনার সাথে নিম্নলিখিতগুলি যুক্ত করা ~/.profileএকই প্রভাব অর্জন করবে:

# function for setting terminal titles in OSX
function title {
  printf "\033]0;%s\007" "$1"
}

এবং তারপরে একটি দ্রুত title 'et voila'আপনার সমস্ত ট্যাবগুলি বাছাই করবে।


আপনি যদি প্রোফাইলে অনেকগুলি কাজ করে থাকেন তবে কেন এটি সমস্যা? কোন সীমা আছে?
tgkprog

1
আইডিকে কেন, তবে। প্রোফাইলের পরিবর্তে
.বাশ_ প্রোফাইলে

2
বা: alias title="printf '\033]0;%s\007'"
কেনারব

export alias title="printf '\033]0;%s\007'"
Mwayi

আপনি এটি ব্যবহার করে যুক্ত করতে পারেন sudo nano /etc/bashrc। এটি সমস্ত ব্যবহারকারীর জন্য চালানো উচিত। টার্মিনাল সেশন পুনরায় আরম্ভ করুন বা source /etc/bashrcআপনার পরিবর্তনগুলি প্রয়োগ করতে করুন।
ইউজিন কুলাবোভভ

8

ড্যান এমজিজির উত্তরের রিমিক্স:

echo -n -e "\033]0;$1\007"

এটিকে / ইউএসআর / বিন / শিরোনাম (সুডো ব্যবহার করে!) নামে একটি ফাইলে সংরক্ষণ করুন এবং chmod + x এ করুন। তারপরে যে কোনও জায়গা থেকে আপনি কেবল টাইপ করতে পারেন

title 'Trying to Figure This GIT Thing Out'

এবং আপনি একটি সুন্দর ছোট খেতাব পেতে।

(আপনি যদি ওএসএক্সে না থেকে থাকেন তবে সিনট্যাক্স আলাদা হতে পারে, আমি যদি সঠিকভাবে বুঝতে পারি))


আপনি যদি ওএস এক্স এর নতুন সংস্করণগুলির একটিতে থাকেন তবে /usr/local/bin/titleপরিবর্তে আপনাকে এটি করতে পারে ।
সামি বেঞ্চেরিফ

2

Sh- ভিত্তিক কমান্ড লাইন সমাধানের বিকল্প হিসাবে, ওএস এক্স টার্মিনাল অ্যাপ্লিকেশনটির শিরোনামটি নিম্নরূপে পরিবর্তন করতে অগ্রাধিকার রয়েছে: টার্মিনাল-> শেল মেনুতে একটি "সম্পাদনা শিরোনাম" পছন্দ রয়েছে, এটি নির্বাচন করুন এবং আপনি শিরোনাম পরিবর্তন করতে পারেন সহজে।


1

ওএস এক্স-এ, টার্মিনাল পছন্দগুলি সংরক্ষণ করা হয় ~/Library/Preferences/com.apple.Terminal.plist

টার্মিনালের শিরোনামটি WindowTitleপছন্দগুলিতে সংরক্ষণ করা হয় ।


0

এর জন্য ধন্যবাদ. আমি মাত্র আমার .bashrc এ একটি ফাংশন যুক্ত করেছি:

    function stit() {
    echo -n -e "\033]0;$1\007"
}

আমার মনে "stit" = "set_title" এর জন্য একটি সুবিধাজনক শর্টকাট। এবং এখন যখন আমি উড়োজাহাজে আমার উইন্ডোগুলির শিরোনাম সেট করতে চাই, আমি টাইপ করুন:

stit "[new window title]"

0

সেরা উত্তর হিসাবে চিহ্নিত উত্তরটি ঠিক কাজ করে ... আমি যা করেছি তা ...

tell application "Terminal"
    activate
    do script "echo -n -e \"\\033]0;WorkerTab1\\007\"; cd $HOME/folder1"
end tell

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

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