Wir gestalten das Linux-Terminal schön und benutzerfreundlich

Alle Linux-Distributionen werden mit einem funktionalen und anpassbaren Terminalemulator ausgeliefert. Im Internet und manchmal sogar im Terminal selbst gibt es viele fertige Themen, damit es ansprechend aussieht. Um jedoch aus einem Standardterminal (in jeder DE, jeder Distribution) etwas Schönes sowie gleichzeitig Benutzerfreundliches und Einfaches zu machen, habe ich viel Zeit investiert. Also, wie macht man das Standardterminal benutzerfreundlich und angenehm in der Nutzung?

Funktionalität hinzufügen

Befehlszeile

Die meisten Distributionen werden mit Bash ausgeliefert. Mit Erweiterungen kann man daraus alles machen, was man möchte, aber es ist viel einfacher, dies mit Zsh. Warum?

  • Erweiterte Autocompletion-Mechanik für Befehle mit der Taste oder . Im Gegensatz zu Bash müssen Sie hier nichts einstellen, alles funktioniert gleich „aus der Verpackung“ auf höchstem Niveau.
  • Eine Vielzahl von fertigen Themen, Modulen, Plugins und mehr. Anpassbarkeit durch Frameworks (oh-my-zsh, prezto usw.), die die Möglichkeiten zur Anpassung und Verbesserung des Terminals erheblich erweitern. Wiederum lässt sich all dies auch in Bash erreichen, aber für Zsh gibt es eine Fülle an bereits fertigen Materialien. Für Bash sind diese deutlich weniger verfügbar, und einige gibt es sogar gar nicht.

Das sind die Hauptgründe, warum ich von Bash auf Zsh gewechselt bin. Darüber hinaus hat Zsh viele weitere „Features“.

Zsh konfigurieren

Um zu beginnen, installieren wir Zsh (falls es bereits installiert ist, z.B. in Manjaro, können Sie diesen Punkt überspringen):

sudo apt install zsh

Wenn Sie gefragt werden, Zsh als Standard-Shell zu installieren, drücken Sie Y, um zu bestätigen.

Oh-My-Zsh ist ein beliebtes und aktiv entwickeltes Zsh-Framework, das eine flexible Anpassung der Terminal-Shell ermöglicht. Lassen Sie uns es installieren:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

zsh: Befehl nicht gefunden: curl
Installieren Sie curl:

sudo apt install curl

Syntaxhervorhebung. Es ist viel einfacher, sich im Inhalt des Terminals zurechtzufinden, wenn verschiedene Teile von Befehlen in unterschiedlichen Farben hervorgehoben sind. Zum Beispiel werden Verzeichnisse unterstrichen, und Befehle heben sich durch eine andere Farbe vom normalen Text ab. Installieren wir das Plugin zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

zsh: Befehl nicht gefunden: git
Installieren Sie git:

sudo apt install git

Damit das Plugin funktioniert, muss es aktiviert werden.

In der Datei ~/.zshrc Ändern Sie die Zeile mit plugins=:

plugins=(git zsh-syntax-highlighting)

Wenn eine solche Zeile nicht vorhanden ist, fügen Sie sie hinzu.

Fertig! Wir erhalten ein bequemes und funktionales Terminal. Jetzt machen wir es visuell ansprechend.

Das äußere Erscheinungsbild anpassen

Thema installieren PowerLevel10K:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Font herunterladen und ins System einfügen JetBrains Mono Nerd (mit Icons):
Wählen Sie eine aus der Liste, im Ordner font/complete Wählen Sie die Schriftart ohne „Windows Compatible“ mit der Endung „Mono“.

Font und Thema anschließen.

Bearbeiten wir ~/.zshrc.

Wenn diese Zeilen bereits in der Datei vorhanden sind, ersetzen Sie sie.

  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"

Farben. Ein wesentlicher Bestandteil der Terminalgestaltung ist das Farbschema. Ich habe viele verschiedene Schemen ausprobiert, sie bearbeitet und mich für Monokai Dark entschieden. Es schont die Augen und ist gleichzeitig angenehm und hell. Farbpalette:

[colors]

# special
foreground      = #e6e6e6
foreground_bold = #e6e6e6
cursor          = #fff
background      = #000

# black
color0  = #75715e
color8  = #272822

# red
color1  = #f92672
color9  = #f92672

# green
color2  = #a6e22e
color10 = #a6e22e

# yellow
color3  = #434648
color11 = #7ea35f

# blue
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# cyan
color6  = #adb3b9
color14 = #62ab9d

# white
color7  = #2AA198
color15 = #2AA198

In verschiedenen Terminals ändert sich das Farbschema unterschiedlich (normalerweise erfolgt dies über die Terminaleinstellungen), aber die Farbfolge bleibt überall gleich. Sie können diese Vorlage im Termite-Format importieren und sie über terminal.sexy für Ihr Terminal exportieren.

Konfiguration des Themas starten: p10k configure.
Passen Sie das Thema an, indem Sie die anzuzeigenden Optionen auswählen, die Ihnen am besten gefallen.

Der letzte Schliff — ändern Sie die Thema-Konfiguration und ersetzen Sie die eingebauten Farben.

Bearbeiten Sie die Datei ~/.p10k.zsh.

Wenn diese Zeilen bereits in der Datei vorhanden sind, ersetzen Sie sie. Farbcode können Sie erhalten mit dem Befehl

for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'n'}; done

  • Anzeige nur des aktuellen Verzeichnisses:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Hintergrundfarbe des Verzeichnisses:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Farbe der Pfeile:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    und

    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1

  • Hintergrundfarbe des Git-Zweigs:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Ergebnis

Wir gestalten das Linux-Terminal schön und benutzerfreundlich
Fehler:
Wir gestalten das Linux-Terminal schön und benutzerfreundlich
GIT:
Wir gestalten das Linux-Terminal schön und benutzerfreundlich

Quellen

PowerLevel10K Dokumentation
Online Designer für Terminal Farbschemata
Unterschiede zwischen Bash und Zsh

Quelle: habr.com

60GB SSD 8Gb DDR4