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

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

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

вот некоторые скриншоты:

enter image description here

enter image description here

кто-нибудь знает, что происходит? Я даже пытался DEFAULT_USER="$USER@$HOST" не повезло.

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

enter image description here

8 ответов


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

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

# redefine prompt_context for hiding user@hostname
prompt_context () { }

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

  1. Шаг 1. Открой свой .zshrc file by vim .zshrc

  2. Шаг 2. перейдите в конец файла.

  3. вставить этот код:

осторожно отступ снова ваш код

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

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

надеюсь, что это поможет :)


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

редактировать agnoster.zsh-theme и $user@%m и удалить @%m.

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

enter image description here


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

для получения [user name], тип id -un в вашем терминале, и он выведет [user name] значение.


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

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

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


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

2. открытый./~ oh-my-zsh/темы/агностер.ЗШ-файлы темы.

найти # # главная подсказка добавить # для строки prompt_context.


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

DEFAULT_USER=drewr

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

надеюсь, что это помогает.


нам не нужно редактировать 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' чтобы показать, что мы хотим.