जवाबों:
मैं निम्नलिखित का उपयोग कर रहा हूँ।
एक शेल कमांड है, जिसे myssh
सामग्री के साथ कहा जाता है:
PROFILE="$1";shift;
DEF="Basic" #the default profile name
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${PROFILE}\""|osascript
ssh $@
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${DEF}\""|osascript
और कनेक्ट के लिए बैश उपनाम का उपयोग करें, जैसे:
alias ssweb='myssh Homebrew user@web.example.com'
alias ssmail='myssh Ocean me@mail.example.com'
जब मैं वेब सर्वर में ssh करना चाहता हूं, मैं बस ssweb
टर्मिनल में लिखता हूं और मुझे "Homebrew" प्रोफाइल मिला। जब ssh सत्र समाप्त होता है, AppleScript वापस "मूल" पर सेट होता है।
उपनामों को आपके $ HOME / .profile या इसी तरह के बैश-स्टार्टअप फ़ाइल में जाना चाहिए।
"होमब्रे", "ओशन" आदि टर्मिनल.एप्प प्राथमिकताओं से सेटिंग प्रोफाइल हैं। आप विभिन्न फोंट, एनकोडिंग आदि भी सेट कर सकते हैं।
बेशक, आप इसे सीधे (बिना उपनाम के) उपयोग कर सकते हैं जैसे:
myssh Pro user@another.machine.example.com
^ ^
| ssh command arguments
terminal profile name
मुझे पता है कि पहले से ही कुछ उत्तर हैं, लेकिन यहां एक विकल्प है:
पृष्ठभूमि का रंग बदलने का कोई सामान्य तरीका नहीं है, लेकिन हम विंडो शीर्षक को बदलने के लिए एक मानक तरीके का उपयोग कर सकते हैं। यदि आप बहुत सारे गैर- "यूनिक्स सर्वर" उपकरणों (जैसे नेटवर्क डिवाइस, राउटर, स्विच, फायरवॉल आदि) के लिए लॉग इन कर रहे हैं, तो आपको उनके गोले का उपयोग करना होगा और अपने स्वयं के शेल वेरिएबल को स्थापित नहीं कर सकते। तो, यहाँ एक और तरीका है:
function ssh() {
H=$(echo $@ | sed -e 's/.*@//g;s/ .*//g')
echo $@ | grep '@' && U=$(echo $@ | sed -e 's/@.*//g;s/.* //g')
echo -ne "\033]0;${U:=$(whoami)}@${H%%.*}\007"
unset H
unset U
/usr/bin/ssh $@
}
इसे अपने में जोड़ें .bashrc
।
असल में, चूंकि फ़ंक्शंस और अलाइज़ को रास्ते में देखना पसंद किया जाता है, यह ssh कमांड लेता है और HOST और USER वैरिएबल सेट करने के लिए "@" से पहले और बाद में टेक्स्ट का उपयोग करता है, जो तब ASCII कोड को इको करने के लिए उपयोग करता है जिसे मान्यता प्राप्त है। टर्मिनल और शीर्षक सेट करने के लिए उपयोग किया जाता है।
आपको इसके लिए "ssh user@host.blah" का उपयोग करना चाहिए न कि "ssh -l उपयोगकर्ता host.blah" का
यदि आप एक उपयोगकर्ता नाम प्रदान नहीं करते हैं तो यह आपके वर्तमान उपयोगकर्ता नाम के रूप में सेट हो जाएगा (जाहिर है यदि आप एक कस्टम .ssh / config (जो मैं बहुत उपयोग करता हूं) का उपयोग कर रहा हूं तो यह सटीक नहीं होगा, लेकिन मुझे लगता है कि यह काफी अच्छा है उपयोगी होना।