जब मैं ssh से वापस आ रहा हूं तो मैं OS X को टर्मिनल शीर्षक को मूल शीर्षक पर वापस कैसे सेट करूं?


12

ओएस एक्स पर शुरू, मैं फू (एक लिनक्स बॉक्स) में ssh। मेरा टर्मिनल शीर्षक फू में बदलता है। मैं तो बार (एक और लिनक्स बॉक्स) में ssh। मेरा टर्मिनल शीर्षक बार में बदलता है। मैं बार से लॉग आउट हूं। मेरा टर्मिनल शीर्षक फू में बदलता है। मैं फू से लॉग आउट करता हूं। मेरा टर्मिनल शीर्षक फू (मूल शीर्षक में वापस बदलने के बजाय) रहता है। समस्या स्पष्ट रूप से टर्मिनल के साथ नहीं है, क्योंकि यह एक लिनक्स बॉक्स से लिनक्स बॉक्स से लॉग आउट करते समय सही ढंग से काम करता है। यह शायद ssh नहीं है क्योंकि मुझे विम के साथ भी यही समस्या है। मेरे दिमाग में जो खोल छोड़ता है। मैं BASH का उपयोग कर रहा हूं। वातावरण को देखते हुए मुझे लिनक्स बॉक्स और मेरे ओएस एक्स बॉक्स के बीच बहुत अंतर नहीं दिखता है। दोनों एक शब्द का उपयोग कर रहे हैं।

जवाबों:


14

जोड़ा जा रहा है

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

मेरी .bash_profileसमस्या को ठीक करने के लिए।

ऐसा प्रतीत होता है जैसे कि स्ट्रिंग PROMPT_COMMANDप्रदर्शित होने पर हर बार निष्पादित हो जाती है। मैन पेज से:

PROMPT_COMMAND

यदि सेट किया जाता है, तो मूल्य प्रत्येक प्राथमिक संकेत जारी करने से पहले एक कमांड के रूप में निष्पादित किया जाता है।


3
आप कंसोल के माध्यम से ओएस एक्स में लॉग इन करने की संभावना नहीं है, लेकिन ऐसा हो सकता है। उस घटना में समस्याओं को रोकने के लिए, मैं इस पूरी चीज़ को एक case "$TERM" in xterm*|rxvt*)प्रकार के सौदे में लपेटता हूं । मुझे लगता है कि मुझे मूल रूप से यहां से विचार मिला: tldp.org/HOWTO/Bash-Prompt-HOWTO/…
Telemachus

ओह, इसके अलावा, मुझे टर्मिनल.पे की प्राथमिकताओं (वरीयताएँ -> सेटिंग्स -> खिड़की) में जाना बेहतर लगता है और वह सब कुछ हटा देता है जिसे वह शीर्षक-बार में जोड़ने की कोशिश करता है, लेकिन ymmv।
टेल्मैचस

खैर, मैं उपयोग iTerm.appनहीं करते हैं Terminal.app, और यह काम कर रहा है। आपके पास असली टर्मिनल के बारे में एक बिंदु है। मेरे लिनक्स बॉक्स में सिर्फ इतना चेक है, इसलिए मैं इसे अपने प्रोफाइल में जोड़ूंगा, धन्यवाद।
चास। Owens

0

मैंने इस मुद्दे का बेहतर समाधान ढूंढ लिया है। OSX इस प्रणाली का व्यापक विन्यास का उपयोग करता है:

PROMPT_COMMAND="update_terminal_cwd${PROMPT_COMMAND:+; $PROMPT_COMMAND}"

में फ़ंक्शन update_terminal_cmdघोषित किया गया है /etc/bashrc_Apple_Terminal। इसलिए, यदि आप रीसेट करके अपनी टर्मिनल सेटिंग्स को तोड़ना नहीं चाहते हैं, तो आप PROMPT_COMMANDइन लाइनों को अपने ~/.profileया के अंत में जोड़ सकते हैं ~/.bashrc:

my_update_terminal_cwd() {
    update_terminal_cwd # call system wide function
    printf '\e]0;\a'    # reset additional title after SSH session
}

PROMPT_COMMAND="my_update_terminal_cwd${PROMPT_COMMAND:+; $PROMPT_COMMAND}"

उदाहरण:

SSH सत्र से पहले

SSH सत्र प्रगति पर है - शीर्षक दूरस्थ होस्टनाम पर सेट है

SSH सत्र के बाद - शीर्षक तय किया गया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.