Подтвердить что ты не робот

ZSH Agnoster Тема, показывающая название машины

У меня есть сервер разработки, размещенный в Digital Ocean, используя Ubuntu 14.04. Я переключил свою оболочку на ZSH и решил пойти с темой Agnoster. Чтобы перестать показывать [email protected], я устанавливаю DEFAULT_USER в мой .zshrc файл.

По какой-то причине на сервере ubuntu это не работает. Имя хоста все еще отображается и не исчезнет. Я делаю то же самое на своем Mac OSX, и он отлично работает.

Вот несколько скриншотов:

enter image description here

enter image description here

Кто-нибудь знает, что происходит? Я даже не пробовал DEFAULT_USER="[email protected]$HOST".

Если я вернусь к теме по умолчанию, Robby Russell, она работает нормально.

enter image description here

4b9b3361

Ответ 1

Это функция в соответствии с этим; когда мы ssh ing, будет показано имя хоста.

Отмена функции prompt_context или build_prompt в теме Agnoster спасет. Поместите ниже фрагменты в самом конце ~/.zshrc, например.

# redefine prompt_context for hiding [email protected]
prompt_context () { }

Ответ 2

Вот моя версия из первых двух ответов. Они объясняют очень четко. Я снова сольюсь.

  • шаг 1. откройте файл .zshrc vim .zshrc

  • Шаг 2. Перейдите к концу вашего файла.

  • Вставьте этот код:

осторожно отмените свой код

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

Ссылка ссылки: код темы agnoster

Надеюсь, что эта помощь:)

Ответ 3

Я тоже использую тему agnoster.

Измените agnoster.zsh-theme и найдите [email protected]%m и удалите @%m.

Образец изображения:

enter image description here

Ответ 4

Вы можете установить DEFAULT_USER="[user name]" в свой .zshrc файл, и он перестанет показывать [email protected] в вашем терминале.

Чтобы получить [user name], введите id -un в свой терминал и выведет значение [user name].

Ответ 5

Если вы используете macOS, достаточно добавить одну строку в ваш файл ~/.zshrc, чтобы скрыть имя машины в Терминале:

# Where we specify the theme
ZSH_THEME="agnoster"
# Force yourself as the system default user
DEFAULT_USER="$(whoami)"

Это отменяет проверку "$user" != "$DEFAULT_USER" здесь, тем самым скрывая имя машины локально, в то же время отображая его для подключений SSH.

Ответ 6

Мой конфиг в ~/.oh-my-zsh/themes/agnoster.zsh-theme

prompt_context() {
  # Custom (Random emoji)
  emojis=("⚡️" "🔥" "💀" "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🇹🇭" "🚦" "🌙")
  RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
  prompt_segment black default "${emojis[$RAND_EMOJI_N]} "
}

Ответ 7

1. открыть ~/.zshrc добавить строку: DEFAULT_USER = whoami или экспортировать DEFAULT_USER = myusername (mac os x)

2. открыть файлы ~/.oh-my-zsh/themes/agnoster.zsh-theme.

find ## Основная подсказка добавьте # для строки prompt_context.

Ответ 8

Связано с контекстом: Иногда получение zshrc из "source ~/.zshrc" может не работать. Запустите новый терминал, чтобы увидеть обновленные изменения.

Ответ 9

Поместите это в свой файл .zshrc перед 'source $ ZSH/oh-my-zsh.sh'

DEFAULT_USER=drewr

Я также использую Agnoster, и это то, что я хочу, чтобы убрать имя пользователя из списка.

Надеюсь это поможет.

Ответ 10

Нам не нужно редактировать agnoster.zsh-theme, а добавить код ниже в конце .zshrc:

export USER=''
prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

мы можем изменить export USER='' на export USER='john', чтобы показать, что мы хотим.

Ответ 11

Хотя принятый ответ вполне подходит, я предпочитаю как можно меньше модифицировать файл .zshrc, чтобы сохранить его в чистоте.

Таким образом, немного другой подход заключается в переопределении темы (как рекомендовано на https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes).

  1. Перейдите в папку ~/.oh-my-zsh/custom/themes
  2. Создайте файл с именем agnoster.zsh-theme
  3. Добавьте свою настройку и сохраните (например, здесь, переопределите prompt_context(), чтобы он ничего не делал):
prompt_context() {}
  1. Обновите свой терминал, внеся изменения:
source ~/.zshrc