एंड्रॉइड स्टूडियो में Zsh थीम बदलें


14

मैं हाल ही में जहाज कूद गया zshहूं और मैं ओह माई ज़िश का उपयोग कर रहा हूं ! विषय blinks। यह OSX टर्मिनल में बहुत अच्छा लगता है, लेकिन एंड्रॉइड स्टूडियो के टर्मिनल में यह बहुत बुरा लगता है।

तो मेरा प्रश्न यह जांचने का एक तरीका है कि यह सत्र एंड्रॉइड स्टूडियो में खोला गया है न कि ओएसएक्स टर्मिनल में और उसके zshअनुसार थीम बदलनी है?

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


1
मेरे पास कोई जवाब नहीं है, लेकिन मुझे लगता है कि यह सामान्य रूप से इंटेलीज के साथ एक मुद्दा है। मैंने कुछ समय पहले उनके मंचों पर यह पोस्ट किया था। जवाब खुद जानना पसंद करेंगे।
१२:३१ बजे

मुझे यकीन नहीं है कि मैं समस्या को समझता हूं, लेकिन जो कुछ भी हो उससे 'PS1' को बदलने के लिए बस थोड़ी सी स्क्रिप्ट को चलाना काफी आसान है। ऐसा लगता है कि आप पृष्ठभूमि का रंग बदलना चाहते हैं।
रे एंड्रयूज

2
एक प्रकार के कीचड़ के रूप में, आप अपनी मूल प्रक्रिया ($ PPID) से शुरू होने वाले PID पेड़ को बहुत PID तक ट्रेस करने का प्रयास कर सकते हैं। 1. यदि आप वहां देखते हैं java, तो थीम को स्विच करें।
ड्रगमैन

जवाबों:


2

चूंकि किसी और ने आपको जवाब नहीं दिया है, मैं पूरी तरह से अलग सॉफ्टवेयर होने के बावजूद कोशिश कर रहा हूं। तो यह किसी भी सॉफ्टवेयर के साथ यह करने के लिए एक सामान्य जवाब है । दो दृष्टिकोण हैं जो मन में आते हैं:

1. विभिन्न वातावरण

टर्मिनल खोलें, और चलाएं env > env.terminal। Android Studio खोलें, और चलाएं env > env.studio। अब, या तो टर्मिनल में, आप चला सकते हैं diff -dby --suppress-common-lines env.terminal env.studio(यदि मैक ओएस एक्स के पास वे विकल्प हैं; यदि -U1अच्छी तरह से काम नहीं करता है)।

एक उदाहरण के रूप में, यहाँ xtermऔर konsoleमेरे लिनक्स बॉक्स के बीच का अंतर है (नोट: पृष्ठ पर फिट होने के लिए संशोधित रिक्ति):

                                   > PROFILEHOME=
                                   > SHELL_SESSION_ID=1e8d5ab2d16641668485f991a1beffe3
                                   > QSG_RENDER_LOOP=
                                   > COLORTERM=truecolor
XTERM_SHELL=/bin/bash              <
                                   > KONSOLE_DBUS_SESSION=/Sessions/1
XTERM_VERSION=XTerm(327)           | KONSOLE_DBUS_WINDOW=/Windows/1
TERM=xterm                         <
                                   > TERM=xterm-256color
                                   > KONSOLE_DBUS_SERVICE=:1.1514
                                   > QMLSCENE_DEVICE=
                                   > KONSOLE_PROFILE_NAME=Default
                                   > COLORFGBG=15;0
WINDOWID=83886094                  | WINDOWID=115343366
XAUTHORITY=/tmp/xauth-1000-_0      | XAUTHORITY=/home/anthony/.Xauthority
KDED_STARTED_BY_KDEINIT=1          <
XTERM_LOCALE=en_US.UTF-8           <

उस सामान में से कुछ स्पष्ट रूप से शोर है कि मैंने दो अलग-अलग टर्मिनलों को कैसे लॉन्च किया। लेकिन अन्य नहीं हैं। अगर मैं केवल एक्सटर्म में कुछ चाहता था, तो if [ -n "$XTERM_VERSION" ]ऐसा करने के लिए एक बहुत अच्छा तरीका प्रतीत होगा। इसी तरह, कोनो कंसोल के लिए, $KONSOLE_PROFILE_NAMEयह एक अच्छा (और शायद कुछ अन्य लोगों का भी) होगा।

2. विभिन्न माता-पिता की प्रक्रिया

एक शेल को अपनी प्रक्रिया आईडी पता है, इसके माध्यम से पहुँचा जा सकता है $$। POSIX को भी $PPIDसीधे माता-पिता PID प्राप्त करना है, इसलिए मुझे संदेह है कि आपके पास zsh में भी है। यदि नहीं, psतो यह आपके लिए प्राप्त कर सकता है ppid=$(ps -o ppid= $$):। इसके बाद आप ps के साथ कमांड रन कर सकते हैं:

xterm:~$ ps -o args= $PPID
/usr/bin/xterm

konsole:~$ ps -o args= $PPID
/usr/bin/konsole

(आप भी कोशिश कर सकते हैं -o comm=)।

एक शेल स्क्रिप्ट में, यह कुछ इस तरह दिखेगा:

ppid=$(ps -o ppid= $$)   # if you don't have PPID for some reason
if [ "$(ps -o args= $ppid)" = "/usr/bin/xterm" ]; then
  echo "do xterm stuff"
fi

यदि आपको प्रक्रिया पेड़ को और ऊपर जाने की आवश्यकता है, तो आप psमाता-पिता के माता-पिता आदि को प्राप्त करने के लिए उपयोग कर सकते हैं ।

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