it-swarm.com.de

OS X-Terminalfarben

Ich bin neu in OS X und habe gerade einen Mac bekommen, nachdem ich einige Zeit mit Ubuntu Linux gearbeitet habe. Unter den vielen Dingen, die ich herausfinden möchte, ist das Fehlen von Farben in meinem Terminalfenster - wie die, die (unter Linux) angezeigt werden, wenn ls -la oder git status...

Ich kann einfach nicht herausfinden, wie ich Farben in meiner Shell aktivieren kann.

468
sa125

Ich weiß, dieser Thread ist alt, aber das Problem nicht.

Hier ist eine Lösung, die ich gefunden habe, um das globale Terminalfarben zu aktivieren.

Bearbeiten Sie Ihren .bash_profile (seit OS X 10.8) - oder (ab 10.7): .profile oder .bashrc oder /etc/profile (je nach Verfügbarkeit) - in Ihrem Home-Verzeichnis und füge folgenden Code hinzu:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 aktiviert einfach die Farbgebung Ihres Terminals.

LSCOLORS=... legt fest, wie bestimmte Elemente gefärbt werden.

Starten Sie nach dem Bearbeiten von .bash_profile ein Terminal und erzwingen Sie, dass die Änderungen wirksam werden, indem Sie Folgendes ausführen:

source ~/.bash_profile

Gehen Sie dann zu Terminal > Preferences, klicken Sie auf die Registerkarte Profiles und dann auf die Unterregisterkarte Text und aktivieren Sie Display ANSI Colors.

Verifiziert auf Sierra (Mai 2017).

717

Sie können die Linux-basierte Syntax in einem Ihrer Startskripts verwenden. Habe das gerade auf einer OS X Mountain Lion Box getestet.

z.B. in deinem ~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Dies gibt Ihnen eine schöne farbige Eingabeaufforderung. Um die farbige Ausgabe ls hinzuzufügen, können Sie alias ls="ls -G" hinzufügen.

Führen Sie zum Testen einfach einen source ~/.bash_profile aus, um Ihr aktuelles Terminal zu aktualisieren.

Randnotiz zu den Farben: Vor den Farben steht eine Escape-Sequenz \e, die durch einen Farbwert definiert ist, der aus [style;color+m] besteht und in eine Escape-Sequenz [] eingeschlossen ist. z.B.

  • rot = \[\e[0;31m\]
  • fett rot (Stil 1) = \[\e[1;31m\]
  • klare Färbung = \[\e[0m\]

Ich füge immer ein leicht modifiziertes Farbschema in das .bash_profile des Roots ein, um den Benutzernamen rot zu machen, damit ich immer klar sehe, ob ich als Root angemeldet bin (praktisch, um Fehler zu vermeiden, wenn viele Terminalfenster geöffnet sind).

In /root/.bash_profile:

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Für alle meine Online-SSH-Konten stelle ich sicher, dass der Hostname rot angezeigt wird, um zu unterscheiden, ob ich mich in einem lokalen oder einem Remote-Terminal befinde. Bearbeiten Sie einfach die .bash_profile -Datei in Ihrem Home-Verzeichnis auf dem Server. Befindet sich keine .bash_profile -Datei auf dem Server, können Sie sie erstellen und sie sollte beim Anmelden bezogen werden.

116
4levels

Die Methoden von MartinVonMartinsgrün und 4Levels haben bestätigt, dass sie unter Mac OS X Mountain Lion hervorragend funktionieren.

Die Datei, die ich aktualisieren musste, war ~/.profile.

Ich konnte diese Frage jedoch nicht ohne Empfehlung meiner Lieblingsanwendung iTerm 2 verlassen.

mit iTerm 2 können Sie globale Farbschemata aus einer Datei laden. Es ist wirklich einfach zu experimentieren und eine Reihe von Farbschemata auszuprobieren.

Hier ist ein Screenshot des iTerm 2-Fensters und der Farbeinstellungen. iTerm2 Color Preferences Screenshot Mac

Nachdem ich Folgendes zu meiner ~/.profile-Datei hinzugefügt hatte, konnte iTerm 2 die Farben überschreiben.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Hier ist ein großartiges Repository mit einigen Voreinstellungen von Nice:

iTerm2-Farbschemata auf Github von mbadolato

Bonus: Wählen Sie "iTerm2 mit einem systemweiten Hotkey anzeigen/verbergen" und binden Sie den Schlüssel mit BetterTouchTool , um das Terminal sofort mit einer Mausbewegung ein-/auszublenden.

38
Nick Woodhams

Wenn Sie Ihr ls kolorieren möchten, müssen Sie Ihre ~/.bash_profile-Datei bearbeiten und die folgende Zeile hinzufügen (falls nicht bereits geschrieben):

source .bashrc

Anschließend bearbeiten oder erstellen Sie eine ~/.bashrc-Datei und schreiben einen Alias ​​in den Befehl ls:

alias ls="ls -G"

Jetzt müssen Sie source .bashrc in ein Terminal eingeben, falls es bereits gestartet wurde, oder einfach ein neues Terminal öffnen.

Wenn Sie mehr Optionen in Ihrem ls möchten, lesen Sie das Handbuch (man ls). Die Optionen sind nicht genau die gleichen wie in einem GNU/Linux-System.

15
Marcio

Wenn Sie tcsh verwenden, bearbeiten Sie Ihre ~/.cshrc -Datei so, dass sie die folgenden Zeilen enthält:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

Wo, wie Martin sagt, LSCOLORS das Farbschema angibt, das Sie verwenden möchten.

Checken Sie diese Site aus, um die gewünschten LSCOLORS zu generieren

4
smaccoun

Überprüfen Sie, was $ TERM gibt: meins ist xterm-color und ls -alG gibt dann colorized aus.

4
William Rose

Als ich im Labor unter Mac OS X gearbeitet habe, konnte ich die Terminalfarben mithilfe von Terminal (anstelle von X11) ermitteln und dann das Profil (über die Mac-Menüleiste) bearbeiten. Die Benutzeroberfläche ist etwas seltsam in Bezug auf die Farben, aber Sie müssen das geänderte Design als Standard festlegen.

Weitere Einstellungen wurden durch Bearbeiten von .bashrc vorgenommen.

2
ccook