আমি যখন সার্ভারটি ssh করব তখন আমি কীভাবে স্বয়ংক্রিয়ভাবে টার্মিনালের রঙ পরিবর্তন করতে পারি?


14

আমি প্রায়শই আমার ওএস এক্স টার্মিনাল উইন্ডো থেকে বিভিন্ন সার্ভারগুলিতে লগ ইন করি।

আমি বিভিন্ন হোস্টের জন্য একটি রঙিন স্কিম বরাদ্দ করতে চাই যাতে আমার টার্মিনাল উইন্ডোজগুলি আলাদা করে বলা সহজ হয়। এটি কি স্বয়ংক্রিয়ভাবে করা যায়?

উত্তর:


11

এখানে একটি সম্পূর্ণ সমাধান। আপনার সার্ভার আইপি ঠিকানা এবং / অথবা ডোমেন এবং আপনি যে রঙগুলির জন্য চান তা want / .server_colors এ রাখুন:

192.168.122.102, রেড স্যান্ডস
192.168.122.103, মহাসাগর
www.foo.com, ঘাস
foo.com, ঘাস

তারপরে ssh কমান্ড হাইজ্যাক করার জন্য এই লাইনটি ~ /। প্রোফাইল এ যুক্ত করুন:

ওরফে এসএস = "~ / বিন / নিরাপদ_এসএস $ 1"

তারপরে @ ssh টার্গেটে @ এর পরে যা কিছু আছে তা আপনার তালিকার সাথে তুলনা করুন। কোনও মিল থাকলে স্ক্রিনটিকে সংশ্লিষ্ট রঙে পরিবর্তন করতে একটি অ্যাপলস্ক্রিপ্ট চালান। এখানে ~ / বিন / নিরাপদ_এসএস:

#! / বিন / ব্যাশ
ip = `প্রতিধ্বনি $ 1 | কাটা-ডি "@" -f2`
ম্যাচ = `বিড়াল ~ /। সার্ভার_কালার্স | grep ip ip wc -l`
যদি [$ ম্যাচ -gt 0]
তারপর
    color = `cat ~ / .server_colors | grep ip ip কাট -f2 -d "," `
    ওসাস্ক্রিপ্ট bin / বিন / চেঞ্জ_টার্মিনাল_কালার.সিএসসিপি "$ রঙ" 2> / দেব / নাল
ফাই
/ usr / বিন / ssh $ 1

এবং সর্বশেষে, এখানে ~ / বিন / চেঞ্জ_টার্মিনাল_কালার.এসসিপি

চলমান আরগভিতে
    উইন্ডো 1-র নির্বাচিত ট্যাবের বর্তমান সেটিংস সেট করতে অ্যাপ্লিকেশনকে "টার্মিনাল" বলুন (যার নামটি প্রথম সেটিংস সেট করে (আর্গভের আইটেম 1))
শেষ রান

আমি এই ব্লগ পোস্ট থেকে এই কোডটির বেশিরভাগ অংশ নিয়েছি ।


1
খুব সুন্দর. নিরাপদ_এসএস স্ক্রিপ্টে, এসএসএইচকে অতিরিক্ত পরামিতিগুলি দিয়ে যাওয়ার জন্য $ 1 হওয়া উচিত। @ টার্মিনালটি ডিফল্টরূপে ফিরিয়ে আনার জন্য সম্ভবত ssh এর পরেও একটি কল। একটি শেষ সম্পাদনা এটিকে বেশ নিখুঁত করে তুলবে: এসএসএইচ কমান্ডগুলির জন্য সমর্থন '@' নেই।
nOw2

2

হ্যাঁ.

হয় আপনি উদাহরণস্বরূপ "স্ক্রিন" ব্যবহার করুন এবং এটি কাস্টমাইজ করুন: http://www.slac.stanford.edu/comp/unix/package/epics/extensions/iocConsole/screen.1.html

অথবা আপনি যদি সম্ভব হন তবে এটি আপনার এসএসএইচ ক্লায়েন্টে পরিচালনা করুন।

আপনি এটি ব্যবহার করে দেখতেও পারেন : http://www.cyberciti.biz/faq/bash-shell- بدل-the-color-of-my-shell-prompt-und-linux-or-unix/


2

@ মাইরবোটের সমাধানটি আমার পক্ষে সত্যই ভাল কাজ করে। আমি এতে কিছুটা উন্নতি করেছি। আমার যথেষ্ট খ্যাতি পেলে আমি এটিকে তার পোস্টের নীচে যুক্ত করব।

লাইনটি প্রতিস্থাপন করুন

আইপি =echo $1 | cut -d"@" -f2
সঙ্গে
আইপি =echo $@ | grep -Eio [[:alnum:]_.-]+@[[:alnum:]_.-]+ | cut -d@ -f2

এই পরিবর্তনটি আপনার ssh কমান্ডকে "ssh -p 1111 ব্যবহারকারীর নাম @ হোস্ট" এর মতো অতিরিক্ত যুক্তি দেওয়ার অনুমতি দেয়

নিয়মিত প্রকাশটি সহজ আইপিভি 4 ঠিকানা এবং ডোমেন নামগুলির জন্য অনুমতি দেয়।

আরও সমর্থন করার জন্য একাধিক যুক্তি শেষ লাইনে পরিবর্তন করে

/ usr / বিন / ssh $ @


0

আমি কেবল একই জিনিসটির সন্ধান করছি এবং এই নিবন্ধটি পেয়েছি:

http://akrabat.com/php/osx-terminal-colours/

এটি অ্যাপ্লিক্রিপ্ট দ্বারা টার্মিনাল রঙ পরিবর্তন করতে একটি পিএইচপি স্ক্রিপ্ট ব্যবহার করে। আপনি প্রতিটি সার্ভারের জন্য বিভিন্ন রঙের ম্যাপিং সেট আপ করতে পারেন। আমার জন্য দুর্দান্ত কাজ করে, যদিও পিএইচপি স্টাফকে রুবিতে আবার লেখার তাগিদ অনুভব করে :)

FK


0

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

স্ক্রিপ্টটি রুবিতে লেখা হয়েছে: https://github.com/mickeyil/ssx


0

আপনি যদি আইটার্ম 2 ব্যবহার ~/bin/ssh-host-color.shকরছেন তবে https://gist.github.com/jbochi/31f118b8ae2882a2c90fa46c46509b57 থেকে বিষয়বস্তু সহ একটি ফাইল তৈরি করুন :

set_term_bgcolor(){
  local R=$1
  local G=$2
  local B=$3
  /usr/bin/osascript <<EOF
tell application "iTerm"
  tell the current window
    tell the current session
      set background color to {$(($R*65535/255)), $(($G*65535/255)), $(($B*65535/255))}
    end tell
  end tell
end tell
EOF
}

if [[ "$@" =~ "production.example.com" ]]; then
  set_term_bgcolor 40 0 0
elif [[ "$@" =~ "qa.example.com" ]]; then
  set_term_bgcolor 0 40 0
fi

trap "set_term_bgcolor 0 0 0" EXIT

ssh $@

এবং আপনার ~/.aliases.shফাইলে নিম্নলিখিত লাইনটি যুক্ত করুন:

alias ssh="~/bin/ssh-host-color.sh $@"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.