क्या मैं वर्तमान कमांड दिखाने के लिए गाइक टैब का नाम बदल सकता हूं?


13

मैं किसी भी बिंदु पर 3 से अधिक कंप्यूटरों में बहुत भारी मात्रा में गश का उपयोग करता हूं, और ssh का उपयोग करता हूं। मेरे पास कुछ टैब (टर्मिनलों) पर चलने वाले डेमन भी हैं। जो मैं जानना चाहता हूं, क्या टर्मिनल के नाम के रूप में वर्तमान कमांड का नाम रखना संभव है? टैब राइट करना, और उसका नाम बदलना इसका कारण बनता है: (टर्मिनल 5 के बाद टैब देखें)

टर्मिनल 5 के बाद टैब देखें

धन्यवाद।


टैब शीर्षक के रूप में वर्तमान निर्देशिका का संक्षिप्त प्रतिनिधित्व दिखाने के लिए संबंधित प्रश्न के लिए मेरा उत्तर देखें ।
krlmlr

"वर्तमान कमांड" से आपका क्या तात्पर्य है? क्या प्रत्येक टर्मिनल में हमेशा एक कमांड चलती है? जब कुछ चल नहीं रहा है तो शीर्षक क्या होना चाहिए?
रुबो77

जवाबों:


4

यह एक गुच्छे (0.4.1) बग है। मैं सिर्फ इस बग रिपोर्ट के माध्यम से इस समस्या को देखता हूं और हल करता हूं हालांकि लेखक कहता है कि यह सबसे अच्छा तरीका नहीं है: https://github.com/Guake/guake/issues/205

मुझे पता चला है कि टैब लेबल (लाइन 986) सेट करने वाले कोड के बाद डायलॉग विनाश कोड (guake.py लाइन 983) को नीचे ले जाना वास्तव में समस्या का हल करता है। इसलिए मेरे लिए काम करने वाला कोड इस तरह दिखता है:

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

शायद gtk और संवादों के साथ कुछ समस्या है, लेकिन मुझे 0.4.1 संस्करण में gtk से जुड़े कोई कोड परिवर्तन नहीं मिले हैं।

EDIT : 0.4.2 के लिए निर्देशित करें टैब का नाम सही ढंग से बदल सकते हैं


1
यह प्रश्न का उत्तर नहीं देता है
phil294

3

मुझे यकीन नहीं है कि यह काम करने के लिए है, यह ज्यादातर टर्मिनल एमुलेटर के लिए काम करता है। टर्मिनल शीर्षक बदलने के लिए आप अपनी स्क्रिप्ट पर एक प्रतिध्वनि शामिल कर सकते हैं:

echo -ne "\033]0;your_title_here\007"

जब मैंने इसे टर्मिनल में टाइप किया तो वह काम नहीं किया।
theTuxRacer

1
ऐसा इसलिए है क्योंकि आपके शेल का संकेत आमतौर पर इसे वर्तमान कार्य निर्देशिका में सेट करेगा। PS1 चर की जाँच करें।
ak2

यह मेरे Ubuntu 15.10 पर भी काम नहीं करता है। मैंने जाँच की echo $PS1जो कुछ दिखाता है \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$कि इससे मुझे इसे हल करने में क्या मदद मिलती है?
रूबो77

3

एक हैक के बिट, लेकिन यह आपके लिए ssh'ed के लिए वर्तमान टर्मिनल का नाम बदल देगा।

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

यदि आप अपने PROMPT_COMMAND को अपडेट करते हैं, तो आपके पास हर बार टर्मिनल नाम को अपडेट करने के लिए एक फ़ंक्शन हो सकता है। हालांकि यह आपकी ssh समस्या के लिए काम नहीं करेगा क्योंकि यह केवल कमांड चलाने के बाद नाम बदल देता है।

जैसे

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}

2

जब मैं टैब नाम टैब को बदलना चाहता हूं, तो मैं टैब नाम पर राइट-क्लिक करता हूं और बाएं नाम पर क्लिक करता हूं। नया नाम टाइप करने के लिए एक पॉप-अप बॉक्स खुलता है।


यकीन है, लेकिन आप इसे स्क्रिप्ट में कैसे जोड़ सकते हैं?
रूबो77

1

आप बस टैबनेम को बदल सकते हैं

guake -r newtabname

यदि आप नवीनतम रनिंग कमांड प्राप्त करना चाहते हैं, तो उदाहरण के लिए उपयोग करें

echo "!!" | cut -f 1 -d " "

!!जब आप इसे टाइप करते हैं तो इसे bash द्वारा विस्तारित किया जाता है। यह उर्फ ​​प्रतिस्थापन द्वारा विस्तारित नहीं है। तो आपको historyइसे एक उपनाम में डालने के लिए विस्तार करने के लिए अंतर्निहित उपयोग करना होगा:

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

जब आपका अंतिम आदेश था

echo this is a test

फिर बुला रहा है

setguaketitle

"इको" शीर्षक सेट करेगा।


0

यदि आप अपने शेल को zsh में बदलते हैं, तो आप इसे अपने में जोड़ सकते हैं ~/.zshrc:

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

और यह वर्तमान कमांड और वर्तमान वर्किंग डायरेक्टरी को दिखाएगा। यह सभी टर्मिनल एमुलेटर के लिए काम करता है, न कि केवल गाइक के लिए।

Zsh स्थापित करने के लिए:

sudo apt-get install zsh

इसे कहने की कोशिश करो

zsh

नए टर्मिनलों के लिए इसे अपना डिफ़ॉल्ट बनाने के लिए:

chsh -s /bin/zsh 

1
guake साथ :( सब पर zsh does not काम
theTuxRacer

ओह, ठीक है, मुझे याद है कि समस्या को मारने से पहले। लेकिन इससे संबंधित कम से कम कुछ बग अब तय हो गए हैं, उदाहरण के लिए < guake.org/ticket/49 >।
पूलि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.