Android Studio에서 Zsh 테마 변경

Android Studio에서 Zsh 테마 변경

나는 최근에 뛰어 들어 zsh사용하고 있습니다오 마이 Zsh!주제 blinks. OSX 터미널에서는 정말 좋아 보이지만 Android Studio 터미널에서는 형편없어 보입니다.

그래서 내 질문은이 세션이 OSX 터미널 대신 Android Studio에서 열려 있는지 확인하고 zsh이에 따라 테마를 변경하는 방법이 있습니까?

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

답변1

아무도 당신에게 답할 수 없기 때문에 완전히 다른 소프트웨어를 가지고 있음에도 불구하고 여전히 시도해 보고 있습니다. 이 작업을 수행하는 방법에 대한 일반적인 답변은 다음과 같습니다.어느소프트웨어. 저는 두 가지 방법을 생각했습니다.

1. 다양한 환경

터미널을 열고 을 실행합니다 env > env.terminal. Android Studio를 열고 실행합니다 env > env.studio. 이제 두 터미널 중 하나에서 실행할 수 있습니다 diff -dby --suppress-common-lines env.terminal env.studio(Mac OS X diff에 해당 옵션이 있는 경우, -U1제대로 작동하지 않는 경우).

예를 들어, 내 Linux 컴퓨터와 Linux 컴퓨터의 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           <

이 중 일부는 두 개의 서로 다른 터미널을 시작할 때 발생하는 소음인 것 같습니다. 그러나 다른 사람들은 그렇지 않습니다. XTerm에서 뭔가를 원한다면 그것은 if [ -n "$XTERM_VERSION" ]좋은 접근 방식인 것 같습니다. 다시 말하지만, 이것은 Konsole(및 아마도 다른 몇몇 제품)에 $KONSOLE_PROFILE_NAME좋은 선택이 될 것입니다 .

2. 상위 프로세스가 다릅니다.

쉘은 자체 프로세스 ID를 알고 있으며 $$POSIX는 $PPID상위 PID를 직접 가져와야 하므로 zsh에도 이 ID가 있는 것으로 생각됩니다. 그렇지 않은 경우 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부모의 부모 가져오기 등을 사용할 수 있습니다.

관련 정보