टर्मिनेटर टाइटल टर्मिनल टाइटल, ZSH को डेबियन पर कैसे बदलें?


14

मुझे नहीं पता कि मुझे इसे यहाँ या unix.stackexchange.com पर पूछना चाहिए, मुझे यह सवाल यहाँ मिला ।

मेरा प्रश्न समान है, मैं एक टर्मिनल का शीर्षक बदलना चाहता हूं, मैं एक डेबियन आधारित डिस्ट्रो, टर्मिनेटर और जेडएसएच का उपयोग कर रहा हूं, ओह-माय-जेडश शीर्षक बैश के साथ ठीक था, लेकिन जब मैं जेडएसएच में चला गया, तो यह इस /bin/zshरूप में दिखाता है शीर्षक।


@ DaniëlW.Crompton वास्तव में? यह एक डुबकी है? यदि ऐसा है तो मैं इसे अभी बंद कर दूंगा, मैं उस प्रश्न से जुड़ा हुआ हूं, इसलिए मुझे पता है कि यह वहां है, लेकिन यह नहीं पता था कि यह एक
डुबकी है

क्या आपने यह कोशिश की थी कि जिस प्रश्न से आप जुड़े थे, उसमें क्या सलाह दी गई थी?
डेनियल डब्ल्यू। क्रॉम्पटन

2
@ DaniëlW.Crompton हाँ, echo -ne "\e]1;this is the title\aऔर echo -ne "\e]1;$PWD\a"न ही त्रुटियां दें , लेकिन काम न करें, मैंने सभी को अनचेक करने की कोशिश की जब तक कि कुछ गायब न हो
Lynob

1
क्या आपने 1 के बजाय एक 0 के साथ $ $ $ PWD \ "की कोशिश की?
डैनियल डब्ल्यू। क्रॉम्पटन

जवाबों:


13

आप अपने खिड़की के शीर्षक को xtem से बच अनुक्रमों के साथ सेट करते हैं, ज्यादातर कार्यान्वयन में सबसे पहले सबसे अच्छा काम करेगा:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

संपादित करें: ऊपर केवल एक बार शीर्षक सेट करता है। Zsh को हमेशा .zprofileअपने होम डाइरेक्टरी में निम्नलिखित शीर्षक जोड़ने के लिए स्टिंग प्रदर्शित करें :

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac

2
मैं पहले कहा echo -ne "\e]0;$PWD\a"काम करता है लेकिन जब मैं खोल से बाहर निकलें, यह बंद हो जाता है काम कर रहे ... मैंने कोशिश की आप जवाब में टाइप और मैं प्राप्त zsh: command not found: stringaऔर zsh: command not found: e]1और इतने पर, उन सभी को
Lynob

1
जवाब अपडेट किया
Daniël W. Crompton

$ PWD के भीतर घर निर्देशिका को बदलने के लिए ~मैंने इस्तेमाल किया precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Z खोल)
मकिस्म गनेंको

13

निम्नलिखित ने मुझे गनोम-टर्मिनल में प्रत्येक टैब का नाम बदलने के लिए काम किया। मैंने अपनी ~ / .zshrc फ़ाइल में निम्न कोड जोड़ा ।

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

यह प्रत्येक टैब का नाम बदलने के लिए एक शीर्षक फ़ंक्शन बनाता है ।

ध्यान दें, यदि आप ओह-माय-ज़श का उपयोग कर रहे हैं, तो आपको इसके ऑटो शीर्षक कमांड को निष्क्रिय करना होगा। आप अपनी ~ / .zshrc फ़ाइल में इस पंक्ति को अनइंस्टॉल करके ऐसा कर सकते हैं :

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE = "सच" ने मेरे लिए चाल चली। धन्यवाद।
राकेश गोपाल

4

उपयोग किए गए शेल की परवाह किए बिना यह काम करना चाहिए:

printf "\033];%s\07\n" "hello world"

2

पहले के जवाब मेरे लिए काफी काम के नहीं थे। कुछ हिचकी के बिना नहीं (हमेशा ताज़ा या कुछ भी नहीं)। यह इस तथ्य के कारण हो सकता है कि मेरे पास ZSH था, बिना oh-my-zsh। सौभाग्य से मुझे पता चला chpwd, इसलिए:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd हर बार निर्देशिका को बदल दिया जाता है।
  2. पहली बार जब आप xterm (या अन्य) लॉन्च करते हैं, तो यह निर्देशिका परिवर्तन के रूप में नहीं गिना जाता है, इसलिए सीधे chpwd कॉल करें .zshrc

जैसा कि मैं ओह-माय-ज़श का उपयोग नहीं करता हूं , मुझे नहीं पता कि यह वहां काम करता है, लेकिन जब तक वे बदल नहीं गए हैं और ओवरराइट किए गए हैं chpwd(जिस स्थिति में आप उनके ओवरराइट को अधिलेखित करेंगे: डी), यह चाहिए।


-1

वैसे आप एक ऐसी संख्या बना सकते हैं जो एक खिड़की लाती है और नाम सेट करती है कि आप क्या चाहते हैं। अपने नाम के साथ विंडो को लाने के लिए स्क्रिप्ट निष्पादित करें। आप विंडो की X, Y स्थिति और आकार भी सेट कर सकते हैं। आप कई बना सकते हैं और हर अवसर के लिए खिड़कियां नाम रख सकते हैं।


//, कुछ और अधिक विशिष्ट समझे?
नाथन बसानी

मुझे उन लिपियों को लिखने में 12 साल से अधिक का समय हो गया है। मैं बुरी जानकारी नहीं देना चाहता, लेकिन मुझे लगता है कि यह सब xterm के विकल्पों का उपयोग करके किया गया था। अधिक जानकारी के लिए xterm के लिए MAN पृष्ठ देखें। मेरे पास स्क्रिप्ट कहीं भी हो सकती है, लेकिन हार्वे ने मेरी सारी पुरानी डिस्क को ढेर में छोड़ दिया है जहाँ उन्हें हार्म्स के रास्ते से बाहर निकालने के लिए डंप किया गया था। जब मरम्मत पूरी हो जाती है तो मैं इसे अपडेट करने में सक्षम हो सकता हूं।
cliff2310
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.