Изменение темы Zsh в Android Studio

Я недавно прыгнул на корабль в zsh и я использую Oh my Zsh! тема blinks . В OSX Terminal очень хорошо выглядит, но в терминале Android Studio это очень плохо.

Поэтому мой вопрос заключается в том, есть ли способ проверить, что этот сеанс был открыт в Android Studio, а не в OSX Terminal, и изменить тему zsh соответствии с этим?

введите описание изображения здесь

введите описание изображения здесь

  • scp, globbing и различные оболочки
  • Переместить zsh-настройки из Arch live в Arch regular
  • Есть что-то вроде закрытия для zsh?
  • Можно ли объявить локальную переменную без переопределения оригинала для дочерних процессов?
  • Связывание вставки текста в zsh
  • tmux резко выходит сразу после загрузки
  • Vim и унифицированные разности
  • Можно ли в реальном времени заменить текст в оболочке?
  • One Solution collect form web for “Изменение темы Zsh в Android Studio”

    Поскольку никто другой не дал вам ответа, я стараюсь, несмотря на совершенно другое программное обеспечение. Итак, это общий ответ о том, как это сделать с любым программным обеспечением. На ум приходят два подхода:

    1. Различные среды

    Откройте терминал и запустите env > env.terminal . Откройте Android Studio и запустите env > env.studio . Теперь в любом из терминалов вы можете запускать diff -dby --suppress-common-lines env.terminal env.studio (если у Mac OS X diff есть эти параметры, а если -U1 работает достаточно хорошо).

    В качестве примера, вот различие между xterm и konsole на моем Linux-поле (обратите внимание: интервал изменен для соответствия на странице):

      > 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. Различные родительские процессы

    Оболочка знает свой собственный идентификатор процесса, к которому можно получить доступ через $$ . 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 для получения родительского родителя и т. Д.

    Interesting Posts

    Как печатать быстрые клавиши в форме для человека?

    Как избавиться от спама `mosh“ last -f / var / log / wtmp`?

    В чем разница в использовании Ctrl + D и Ctrl + C для завершения команды cat?

    Каковы обязанности каждого компонента Pseudo-Terminal (PTY) (программное обеспечение, ведущая сторона, подчиненная сторона)?

    Отображение и обновление счетчика в bash

    Chromebook Crouton Debian xfce4 – Невозможно изменить язык!

    Изменение настроек systemd HandleLidSwitch во время выполнения?

    Будут ли флаги VMX cpu увеличивать скорость программного обеспечения виртуальной машины, например VirtualBox?

    Почему прикосновение может меняться только все время, или ничего, если не владелец

    выполнить команду на хосте из файла с пользователем из другого файла

    Причина запуска скрипта после начала работы сети?

    Как проверить, приостановлена ​​ли система?

    Почему в AIX не работает псевдоним (оболочка Korn, .profile)?

    Отрегулируйте размер шрифта в настройках с несколькими головками с различными разрешениями

    отправлять фальшивые письма с помощью почтовых клиентов

    Linux и Unix - лучшая ОС в мире.