রঙ থিম পরিবর্তন করতে ওএস এক্স টার্মিনাল কমান্ড


17

ম্যাক ওএস এক্স টার্মিনালের রঙীন স্কিমটি পরিবর্তন করতে কোনও কমান্ড ব্যবহার করা যেতে পারে? আমি চালিত স্ক্রিপ্টগুলির উপর নির্ভর করে রঙ পরিবর্তন করতে সক্ষম হওয়ার ধারণাটি আমার পছন্দ হয়। এখনও অবধি আমি পিএস 1 এর সাথে আমার বাশ প্রম্পটের রঙ পরিবর্তন করছি যা ঠিক আছে তবে আমি চাই ঠিক তেমন লক্ষণীয় নয়।


আমি যা করতে চাই তা হ'ল টার্মিনাল ব্যাকগ্রাউন্ডের রঙটি যেমন পরিবর্তন করা হয় ঠিক তেমনভাবে পরিবর্তিত হবে যেমন Terminal -> Preferences -> Settingsআমি কোনও কমান্ড দিয়ে এটি করতে চাই না। আমি একটি স্ক্রিপ্ট যে এমন দেখাবে তৈরি করতে চান: changeBackgroundTheme; ssh; changeBackgroundTheme। এটি বর্তমানে কোন উইন্ডোতে রয়েছে তা আমাকে স্মরণে রাখতে সহায়তা করবে ssh
ষাট ফুটারসুডে

উত্তর:


18

আপনি ঠিক কী অর্জন করতে চান তার উপর নির্ভর করে আপনার টার্মিনাল স্টাইলগুলি ব্যবহার করে অ্যাপলস্ক্রিপ্টে কয়েকটি ধারণা এখানে রয়েছে। এগুলি এর চেয়ে বেশি দৃ are় tput, কারণ এটি রঙিন প্রম্পটে পুনরায় সেট হয়ে যায়। ইত্যাদি (কমপক্ষে আমার জন্য)

এটি পাইথন চলমান সমস্ত ট্যাব সেট করে (এখনই পরীক্ষার জন্য কোনও এসএসএইচ সার্ভার উপলব্ধ নয়) হোমব্রিউতে, অন্যগুলি মহাসাগরে:

tell application "Terminal"
    repeat with w from 1 to count windows
        repeat with t from 1 to count tabs of window w
            if processes of tab t of window w contains "Python" then
                set current settings of tab t of window w to (first settings set whose name is "Homebrew")
            else
                set current settings of tab t of window w to (first settings set whose name is "Ocean")
            end if
        end repeat
    end repeat
end tell

স্ক্রিপ্ট হিসাবে সংরক্ষণ করুন এবং osascript Name.scptযে কোনও সময় আপনি নিজের শেলগুলি পুনরায় রঙ করতে চান (অবশ্যই আপনি এটি শেল স্ক্রিপ্ট বা অন্য কিছু হিসাবে মোড়ানো করতে পারেন) run

যদি আপনি সমস্ত দীর্ঘ-চলমান প্রক্রিয়াগুলি আলাদাভাবে প্রদর্শন করতে চান তবে নিম্নলিখিত শর্তটি ব্যবহার করুন:

if busy of tab t of window w is true then


অথবা, আপনি নিজেই নির্বাচিত একটি একক ট্যাবের স্টাইলটি সেট করতে পারেন:

on run argv
    tell application "Terminal" to set current settings of tab (item 1 of argv as number) of front window to first settings set whose name is (item 2 of argv)
end run

এটি এইভাবে চালান:

osascript StyleTerm.scpt 3 Homebrew

-> সামনের টার্মিনাল উইন্ডোর তৃতীয় ট্যাব হোমব্রিউ স্টাইল পায়!

যদি আপনি ব্যাকগ্রাউন্ড উইন্ডোগুলি সংশোধন করতে চান তবে "সামনের উইন্ডো "টিকে" ট্যাব "এর ঠিক পরে একটি প্রথম বন্ধনী হিসাবে প্রকাশ করুন। আপনি যদি সর্বদা নির্বাচিত "বর্তমান ট্যাব" পরিবর্তন করতে চান তবে এর selected tabপরিবর্তে ব্যবহার করুন tab (item 1 of argv as number)


.bash_profileপ্রথম সমাধানটি যদি আপনার পক্ষে খুব ম্যানুয়াল শ্রম হয় তবে আপনার নিম্নলিখিতটি যুক্ত করুন :

PROMPT_COMMAND='osascript "/path/to/Name.scpt"'

এখন এটি প্রতিটি প্রম্পটের আগে কার্যকর করা হয় (কেবলমাত্র সমস্যা: কিছু শুরু করার পরে নয়, অর্থাত্ ssh। তবে এই বিষয়টি যাইহোক অভিনব বাশ কৌশল সম্পর্কে নয় This এটি কেবলমাত্র পয়েন্টার))


6

আপনার স্ক্রিপ্টগুলি tputপোর্টেবল পদ্ধতিতে রঙ সেট করতে কমান্ডটি ব্যবহার করতে পারে । নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করে দেখুন এবং আপনি কিছু উজ্জ্বল সায়ান পাঠ্যের সাথে একটি অন্ধকার সায়ান পটভূমিতে টার্মিনালটি পরিষ্কার দেখতে পাবেন।

#!/bin/bash
tput setab 6
tput clear
tput setaf 14
echo Hello World

man 5 terminfo"রঙ হ্যান্ডলিং" নামে বিভাগে আপনি এ সম্পর্কিত আরও তথ্য দেখতে পারেন ।

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

#!/bin/bash
printf "\033[48;5;6m"  # or "\033[46m"
printf "\033[H\033[2J" # your system's clear command does something similar
printf "\033[38;5;14m" # or "\033[96m"
echo Hello World

এক্সটার্ম নিয়ন্ত্রণ সিকোয়েন্স সম্পর্কে আরও তথ্য এখানে রয়েছে


রঙের উপর এটি কিছুটা প্রভাব ফেলেছে বলে মনে হচ্ছে তবে সেটফ আমার পক্ষে মোটেও কিছু করবে বলে মনে হচ্ছে না। আমি যা চাই তা হ'ল ম্যাক ওএস টার্মিনাল থিমটি বদলানোর মতো যা ওয়াইওয়াই সুপারিশ করে তবে প্রোগ্রামগতভাবে এবং জিইউআই ব্যবহার না করে।
satur9nine

থিমের মতো ব্যবহার হচ্ছে এমন কী কোনও পরিবর্তন আছে Terminal -> Preferences -> Settings?
ষাট ফুটারসুডে

@ এসিস্টিফুটারসডুড: সম্ভবত এটি করার একটি উপায় আছে osascriptতবে আমি এর সাথে পরিচিত নই।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1

প্রতিটি নতুন টার্মিনালকে একটি এলোমেলো থিম দিতে আপনি অ্যাপ্লিক্রিপ্ট ব্যবহার করতে পারেন।

আপনার সম্পাদনা করুন .bash_profileএবং এই আদেশ যোগ করুন

osascript -e "tell application \"Terminal\" to set current settings of front window to some settings set"

আপনি যদি একই র্যান্ডম থিম টার্মিনালটি পান তবে আপনি সর্বদা হিট করতে পারেন ⌘I এবং ম্যানুয়ালি সেট ।

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


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