Изменить тему oh-my-zsh при запуске ssh

У меня установлен Oh-my-zsh на iterm2. Как я могу заставить мой терминал менять тему всякий раз, когда запускается ssh? Было бы неплохо, если бы скрипт также менял фон на один из импортированных пресетов.

Я полный баш нуб. Пожалуйста, объясните на языке новичка.


person user3534472    schedule 10.07.2014    source источник


Ответы (2)


Первое, что вам нужно знать, это то, что .zshrc — это скрипт, который запускается непосредственно перед тем, как вы открываете новый сеанс на zsh. Итак, при условии, что zsh является вашей оболочкой по умолчанию, когда вы открываете терминал на локальном компьютере, он запускает .zshrc. Когда вы открываете сеанс ssh на этом компьютере, он также запускает .zshrc!

Внутри .zshrc вы можете найти фрагмент кода с комментариями:

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

Вы можете использовать этот пример для достижения своей цели, вот так:

if [[ -n $SSH_CONNECTION ]]; then
  ZSH_THEME="robbyrussell"
else
  ZSH_THEME="agnoster"
fi

Где robbyrussell будет использоваться в сеансах ssh, а agnoster — для остальных. Поэтому просто замените строку, в которой вы устанавливаете свою тему, на оператор if/else выше и настройте ее.

person Paolo Raez    schedule 21.06.2017

Вы можете добавить имя хоста к своему приглашению.

Следуя этому суть

Просто вставьте содержимое этого файла в:

~/.oh-my-zsh/themes/robbyrussell.zsh-theme

Затем в основном на вашей локальной машине:

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

И на вашей удаленной машине:

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

В моем случае ded12 — это имя хоста моего пульта, и я только изменил файлы темы на своем пульте, если бы я изменил его локально, мое локальное имя хоста также было бы добавлено к приглашению.

person Magus    schedule 15.05.2018