स्क्रीन सेशन शुरू करते समय तुरंत रंगों को हटा दें


11

जब मैं उबंटू ल्यूसिड बॉक्स में एसएचएस करता हूं, तो सभी रंगों के साथ संकेत देते हैं। सब कुछ डिफ़ॉल्ट है, जहाँ तक मुझे पता है। यहाँ मेरी स्क्रीन के बाहर $ PS1 है:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@dev\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

स्क्रीन से जुड़ने से पहले

लेकिन फिर एक बार जब मैं स्क्रीन शुरू करता हूं तो रंग चले जाते हैं। बाकी सब कुछ ठीक है, और मेरे स्क्रीन रंग (सूचना है कि समर्थन कर सकते हैं .और ..इस में ls -alनीले हैं), लेकिन शीघ्र नहीं है। सिद्धांत रूप में सब कुछ बिल्कुल समान होना चाहिए। स्क्रीन के अंदर $ PS1:

${debian_chroot:+($debian_chroot)}\u@dev:\w\$

में स्क्रीनिंग के बाद

EDIT: यह सिर्फ प्लेन वेनिला स्क्रीन है।


क्या यह प्लेन वेनिला स्क्रीन है, या क्या आपके पास बायोबू स्थापित है? (हालांकि यह मामला कोई मायने नहीं रखता।)
बेलाक्वा

2
क्या echo $PS1स्क्रीन और बाहरी स्क्रीन के अंदर एक ही चीज़ प्रिंट होती है?
मिकेल

$ PS1 वास्तव में अलग है। इसमें शामिल करने के लिए संपादित प्रश्न।
16

जवाबों:


16

आप अपने .bashrc में निम्न पंक्ति को संपादित कर सकते हैं (यह मेरे .bashrc में # 39 है):

#force_color_prompt=yes

में बदलो:

force_color_prompt=yes

यह संभवतः कष्टप्रद हो सकता है यदि आप कहीं से लॉग इन करते हैं जहां रंग समर्थित नहीं है, लेकिन मुझे यह अत्यधिक संभावना नहीं है।


बिल्कुल सही, यह मेरे लिए किया था। अगर मैं बिना रंग के कहीं से लॉगिन करने के लिए होता हूं, तो मैं इसे समस्याग्रस्त देख सकता हूं, लेकिन यह बहुत दुर्लभ होने वाला है। धन्यवाद!
चुल्लिग 16

परिवर्तन को सर्वर मशीन पर किया जाना चाहिए, न कि क्लाइंट पर।
एडम रिक्ज़ोस्की

3

.screenrcफ़ाइल मेरे लिए एक रहस्य है। मेरा gobbledygook है कि मैं internets से copypasta'd। हालाँकि, मुझे कुछ पंक्तियाँ दिखाई देती हैं जो आपकी समस्या के लिए प्रासंगिक लगती हैं:

# terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
attrcolor b ".I" 
# tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'

मुझे लगता है कि यदि आप उपरोक्त पंक्तियों को अपने साथ जोड़ते हैं, तो आपको रंग मिल जाएगा। यहाँ .screenrcसंदर्भ के लिए मेरा पूरा है:

jake@daedalus:~$ cat .screenrc 
startup_message off # skip splash screen
vbell off # Kill the annoying dog

# Voodoo
hardstatus alwayslastline
hardstatus string '%{= wk}%-Lw%{= KW}%50>%n%f* %t%{= dK}%+Lw%<'

# terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
attrcolor b ".I" 
# tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
# erase background with current bg color 
defbce "on"

2

आपकी PS1सेटिंग को रखा जाना चाहिए .bashrc, नहीं .bash_profile

यदि वह समस्या नहीं है, तो कृपया अपने प्रश्न को संपादित करें, जो आपके द्वारा निर्धारित लाइन को शामिल करने के PS1लिए है।

आप इन्हें चलाने का भी प्रयास कर सकते हैं:

echo "$TERM"                                 # will probably print "screen"
tput setaf 2 | cat -vte                      # should print "^[[32m"
echo "$(tput setaf 2)"green"$(tput sgr0)"    # should print "green" in green

2

स्क्रीन आम तौर पर एक विशेष टर्मिनल प्रकार का उपयोग करता है, जैसे "स्क्रीन", या यदि आप इसे अपने स्क्रीनस्क्रीन में सेट करते हैं, तो "स्क्रीन -255 कैलोर"।

रंग पहचान केस स्टेटमेंट के लिए बस अपने .bashrc में देखें और सूची में स्क्रीन जोड़ें।

उदाहरण के लिए, कुछ इस तरह:

case "$TERM" in
    xterm)
        color_prompt=yes
        ;;
    screen)
        color_prompt=yes
        ;;
    *256*) 
        color_prompt=yes
        ;;
esac

मैं 256-रंग के टर्मिनल प्रकारों का उपयोग करता हूं, इसलिए मुझे केवल 256 केस स्टेटमेंट की आवश्यकता है , क्योंकि यह xterm-256color, gnome-256color, और स्क्रीन -255color को पकड़ता है। आपकी माइलेज भिन्न हो सकती है। 🙂


1

इसे अपने ~ / .rcrc में जोड़ें

shell -$SHELL

+1। यह मिल गया मुझे OS X पर शीघ्र मेरी अच्छी लग रही बैश वापस
funroll

0

-T xtermमेरे लिए काम करता है, तो बस स्क्रीन के साथ आमंत्रित :

screen -T xterm

किसी भी फाइल को संशोधित करने की आवश्यकता नहीं है।

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