Kolory terminali OS X [zamknięte]

Jestem nowy w OS X, właśnie dostałem Maca po pracy z Ubuntu Linux przez jakiś czas. Jedną z wielu rzeczy, które próbuję rozgryźć, jest brak kolorów w moim oknie terminala - takich jak te, które są wyświetlane (na Linuksie) podczas uruchamiania ls -la lub git status...

Nie wiem, jak aktywować kolory w mojej powłoce.
Author: Ronan Boiteau, 2009-10-11

7 answers

Wiem, ten wątek jest stary, ale problem nie.

Oto rozwiązanie, które znalazłem, aby umożliwić globalne kolory terminali.

Edytuj swoje .bash_profile (od OS X 10.8) - lub (dla wersji 10.7 i wcześniejszych): .profile lub .bashrc lub /etc/profile (w zależności od dostępności) - w katalogu domowym i dodaj następujący kod:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 po prostu umożliwia kolorowanie terminala.

LSCOLORS=... określa sposób kolorowania określonych elementów.

Po edycji .bash_profile Uruchom Terminala i wymusić zmiany wykonując:

source ~/.bash_profile

Następnie przejdź do Terminal > Preferences, Kliknij na zakładkę Profiles, a następnie Text i sprawdź Display ANSI Colors.

zweryfikowany w Sierra (Maj 2017).

 684
Author: MartinVonMartinsgrün,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-24 13:03:21

Możesz użyć składni opartej na Linuksie w jednym ze skryptów startowych. Właśnie przetestowałem to na OS X Mountain Lion box.

Np. w Twoim ~/.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\]\$ '

To daje ładny kolorowy znak zachęty. Aby dodać kolorowe wyjście ls, możesz dodać alias ls="ls -G".

Aby przetestować, po prostu uruchom source ~/.bash_profile, Aby zaktualizować swój obecny terminal.

Uwaga na temat kolorów: Kolory są poprzedzone sekwencją specjalną \e i zdefiniowane przez wartość koloru, składającą się z [style;color+m] i owiniętą w sekwencja ucieczki {[7] }. np.

  • red = \[\e[0;31m\]
  • bold red (style 1) = \[\e[1;31m\]
  • jasne zabarwienie = \[\e[0m\]

Zawsze dodaję nieco zmodyfikowany schemat kolorów w korzeniu .bash_profile, aby nazwa użytkownika była czerwona, więc zawsze widzę wyraźnie, czy jestem zalogowany jako root (przydatne, aby uniknąć błędów, jeśli mam wiele otwartych okien terminala).

W /root/.bash_profile:

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

Dla wszystkich moich kont SSH online upewniam się, że nazwa hosta jest na Czerwono, aby odróżnić, czy jestem w lokalnym lub zdalnym terminalu. Po prostu edytuj plik .bash_profile w katalogu domowym na serwerze.. Jeśli na serwerze nie ma pliku .bash_profile, możesz go utworzyć i powinien być pozyskiwany po zalogowaniu.

 114
Author: 4levels,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-03 14:12:04

Metody MartinVonMartinsgrün i 4levels potwierdziły, że działają świetnie na Mac OS X Mountain Lion.

Plik, który musiałem zaktualizować, to ~/.profil.

Nie mogłem jednak zostawić tego pytania bez rekomendacji mojej ulubionej aplikacji, iTerm 2 .

ITerm 2 umożliwia ładowanie globalnych schematów kolorów z pliku. Naprawdę łatwo eksperymentować i wypróbować kilka schematów kolorów.

Oto zrzut ekranu okna iTerm 2 i kolor preferencje. Iterm2 preferencje kolorów zrzut ekranu Mac

Kiedyś dodałem następujące do mojego~/.plik profilu iTerm 2 był w stanie nadpisać kolory.

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

Oto świetne repozytorium z ładnymi presetami:

Iterm2 schematy kolorów na Github by mbadolato

Bonus: wybierz "Pokaż/Ukryj iTerm2 za pomocą systemowego skrótu klawiszowego" i zwiąż klucz za pomocą BetterTouchTool aby natychmiast ukryć / pokazać terminal gestem myszy.

 37
Author: Nick Woodhams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-07 20:49:27

Jeśli chcesz mieć kolor ls musisz edytować~/.plik bash_profile i dodaj następujący wiersz (jeśli nie jest już napisany):

source .bashrc

Następnie edytujesz lub tworzysz ~/.plik bashrc i zapisanie aliasu do polecenia ls:

alias ls="ls -G"

Teraz musisz wpisać source .bashrc w terminalu, jeśli już uruchomiony, lub po prostu otworzyć nowy terminal.

Jeśli chcesz mieć więcej opcji w swoim ls po prostu przeczytaj instrukcję (man ls). Opcje nie sÄ ... dokĹ ' adnie takie same jak w systemie GNU/Linux.

 15
Author: Marcio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-11 12:19:29

Sprawdź, co daje $TERM: mine to xterm-color, a ls-alG robi wtedy kolorowe wyjście.

 4
Author: William Rose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-11 09:55:23

Jeśli używasz tcsh, Edytuj swój plik ~/.cshrc, aby zawierał wiersze:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

Gdzie, jak mówi Martin, LSCOLORS określa schemat kolorów, którego chcesz użyć.

Aby wygenerować LSCOLORS, których chcesz użyć, sprawdź tę stronę

 3
Author: smaccoun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-07 00:23:07

Kiedy pracowałem nad Mac OS X w laboratorium, udało mi się uzyskać kolory terminala za pomocą terminala (zamiast X11), a następnie edytować profil (z paska menu Mac). Interfejs jest trochę dziwny w kolorach, ale musisz ustawić zmodyfikowany motyw jako domyślny.

Dalsze ustawienia działały poprzez edycję .bashrc.

 2
Author: ccook,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-02 18:50:32