অ্যান্ড্রয়েড স্টুডিওতে Zsh থিম পরিবর্তন করুন


14

আমি সম্প্রতি জাহাজটিতে লাফ zshদিয়েছি এবং আমি ওহ আমার জেড ব্যবহার করছি ! থিম blinks। এটি ওএসএক্স টার্মিনালে দেখতে খুব সুন্দর দেখাচ্ছে তবে অ্যান্ড্রয়েড স্টুডিওর টার্মিনালে এটি দেখতে খুব খারাপ দেখাচ্ছে।

সুতরাং আমার প্রশ্নটি কি এই উপায়টি যাচাই করার উপায় আছে যে এই অধিবেশনটি ওএসএক্স টার্মিনালে নয়, অ্যান্ড্রয়েড স্টুডিওতে খোলা হয়েছে এবং সে zshঅনুযায়ী থিমটি পরিবর্তন করা যায় ?

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


1
আমার কাছে কোনও উত্তর নেই তবে আমি মনে করি এটি সাধারণভাবে ইন্টেলিজের কাছে একটি সমস্যা। আমি পোস্ট এই একটি সময় আগে তাদের ফোরামে। উত্তরটি নিজেই জানতে পছন্দ করবেন।
jktravis

আমি নিশ্চিত যে আমি সমস্যাটি বুঝতে পেরেছি না তবে 'পিএস 1' যা কিছু হোক না কেন পরিবর্তনের জন্য একটি ছোট স্ক্রিপ্ট চালানো যথেষ্ট সহজ। দেখে মনে হচ্ছে আপনি বেশিরভাগ পটভূমির রঙ পরিবর্তন করতে চান।
রে অ্যান্ড্রুজ

2
একধরণের কলডজ হিসাবে, আপনি আপনার পিতামাতার প্রক্রিয়া ($ পিপিআইডি) থেকে শুরু করে খুব পিআইডি 1 পর্যন্ত পিআইডি গাছটি ট্র্যাভার করার চেষ্টা করতে পারেন you যদি আপনি দেখতে পান javaতবে থিমটি স্যুইচ করুন।
drdaeman

উত্তর:


2

যেহেতু অন্য কেউ আপনাকে উত্তর দেয়নি, তাই সম্পূর্ণ ভিন্ন সফ্টওয়্যার থাকা সত্ত্বেও আমি চেষ্টা করছি। সুতরাং এটি কোনও সফ্টওয়্যার দিয়ে কীভাবে করা যায় তার একটি জেনেরিক উত্তর । দুটি পন্থা মাথায় আসে:

1. বিভিন্ন পরিবেশ

টার্মিনাল খুলুন, এবং চালান env > env.terminal। Android স্টুডিও খুলুন, এবং চালান 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এটি ভাল হবে (এবং সম্ভবত অন্যদের মধ্যে কয়েকজনও)।

২. বিভিন্ন পিতামাতার বিভিন্ন প্রক্রিয়া

একটি শেল তার নিজস্ব প্রক্রিয়া ID জানে, এটির মাধ্যমে অ্যাক্সেস করা যায় $$। পসিক্সকেও $PPIDসরাসরি প্যারেন্ট পিআইডি পেতে হয়, তাই আমার সন্দেহ হয় যে zsh এও আপনার এটি ছিল। যদি না হয়, psএটা আপনার জন্য পেতে পারেন: ppid=$(ps -o ppid= $$)। তারপরে আপনি কমান্ডটি চালাতে পারেন, পিএস সহ:

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পিতামাতার পিতা-মাতা ইত্যাদি ব্যবহার করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.