it-swarm.com.de

ZSH Agnoster Theme mit dem Namen der Maschine

Ich habe einen Entwicklungsserver, der auf Digital Ocean gehostet wird und Ubuntu 14.04 verwendet. Ich habe meine Shell auf ZSH umgestellt und entschied mich für das Agnoster - Thema. Damit [email protected] nicht mehr angezeigt wird, stelle ich den DEFAULT_USER in meiner .zshrc-Datei ein.

Aus irgendeinem Grund auf dem Ubuntu-Server funktioniert das nicht. Der Hostname wird immer noch angezeigt und geht nicht weg. Ich mache auf meinem Mac OSX genau dasselbe und es funktioniert gut.

Hier sind einige Screenshots:

enter image description here

enter image description here

Weiß jemand was los ist? Ich habe sogar DEFAULT_USER="[email protected]$Host" ohne Glück versucht.

Wenn ich zum Standard-Thema Robby Russell gehe, funktioniert es einwandfrei.

enter image description here

29
Drew

Es ist das Merkmal nach dies ; Wenn wir sshing sind, wird der Hostname angezeigt.

Durch Überschreiben der Funktion Prompt_context oder build_Prompt in Agnoster wird das gerettet. B. am Ende von ~/.zshrc unterhalb von Ausschnitten.

# redefine Prompt_context for hiding [email protected]
Prompt_context () { }
60
hchbaw

Hier ist meine Version aus den ersten beiden Antworten. Sie erklären sehr deutlich. Ich werde wieder zusammenführen.

  1. schritt 1. Öffnen Sie Ihre .zshrc-Datei mit vim .zshrc

  2. schritt 2. Gehen Sie zum Ende Ihrer Datei.

  3. Fügen Sie diesen Code ein:

Vorsicht deinen Code erneut einrücken

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

Referenzlink: Code des Motivcodes

Ich hoffe das hilft :)

37
hqt

Ich verwende auch ein Agnoster-Thema.

Bearbeiten Sie agnoster.zsh-theme und suchen Sie [email protected]%m und löschen Sie @%m.

Bildbeispiel: 

enter image description here

19

Sie können DEFAULT_USER="[user name]" in Ihrer .zshrc-Datei festlegen, und der [email protected] wird in Ihrem Terminal nicht mehr angezeigt.

Um den [user name] zu erhalten, geben Sie id -un in Ihr Terminal ein und geben den [user name]-Wert aus.

10
Munshi Wahid

Wenn Sie macOS verwenden, genügt die Hinzufügung einer einzelnen Zeile zu Ihrer ~/.zshrc-Datei, um den Computernamen im Terminal auszublenden:

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

Dadurch wird "$user" != "$DEFAULT_USER" check here negiert, wodurch der Computername lokal verborgen wird, während er weiterhin für SSH-Verbindungen angezeigt wird.

2
IAmKale

Meine Konfiguration in ~/.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]} "
}

1 . Open ~/.zshrc Zeile hinzufügen: DEFAULT_USER = whoami oder Export DEFAULT_USER = myusername (mac os x)

2 . Öffnen Sie die Dateien ~/.oh-my-zsh/themes/agnoster.zsh-theme.

find ## Main Prompt add # für Prompt_context-Zeile.

1
David Pan

Bezogen auf den Kontext: Manchmal funktioniert die Beschaffung der zshrc nach "source ~/.zshrc" möglicherweise nicht. Starten Sie ein neues Terminal, um die aktualisierten Änderungen anzuzeigen. 

1
Vigneshwar

Fügen Sie dies in Ihre .zshrc-Datei vor dem 'source $ ZSH/oh-my-zsh.sh' ein.

DEFAULT_USER=drewr

Ich benutze auch Agnoster und dies ist, was ich sage, um den Benutzernamen von der Anzeige zu nehmen.

Hoffe das hilft.

0
William Leiby

Wir müssen agnoster.zsh-theme nicht bearbeiten, sondern den unten stehenden Code am Ende von .zshrc anhängen:

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

wir können export USER='' wie export USER='john' ändern, um zu zeigen, was wir wollen.

0
Joe Zhow