2009-10-11 4 views
420

Я новичок в OS X, только что получил Mac после работы с Ubuntu Linux в течение некоторого времени. Среди многих вещей, которые я пытаюсь выяснить, является отсутствие цветов в моем терминальном окне - например, те, которые показаны (в Linux) при запуске ls -la или git status ...OS X Terminal Colors

Я просто не могу понять как активировать цвета в моей оболочке.

+9

Возможный дубликат [Как настроить терминал Mac для вывода цвета ls] (http://stackoverflow.com/questions/973899/how-to-configure-mac-terminal-to-have-color-ls-output) – 2010-05-24 00:31:40

+22

Закрыто как «вне темы», но посмотрите на теги: osx, shell, terminal, colors ... мне кажется, что это полностью по теме. Обложки OSX, это о оболочке, использующей терминал, и хочет добавить цвета. Нужно отредактировать профиль bash, так что да, я бы сказал, что это по теме. –

+7

Понятно, что речь идет о сценариях bash. – superluminary

ответ

650

Я знаю, эта тема старая, но проблема не.

Вот решение, которое я нашел, чтобы включить глобальный terminal colors.

редактировать свои .bash_profile (с OS X 10.8) - или (для 10.7 и выше): .profile или .bashrc или /etc/profile (в зависимости от наличия) - в вашем домашнем каталоге и добавьте следующий код:

export CLICOLOR=1 
export LSCOLORS=GxFxCxDxBxegedabagaced 

CLICOLOR=1 просто позволяет раскрашивать ваш терминал.

LSCOLORS=... указывает, как окрасить определенные предметы.

.bash_profile После редактирования, запустите терминал и заставить изменения происходят путем выполнения:

source ~/.bash_profile

Затем перейдите к Terminal > Preferences, нажмите на вкладке Profiles, а затем в Text вложенного и проверить Display ANSI Colors.

Проверено на Сьерра (май 2017 года).

+19

просто сделал это, добавив его в .bash_profile, и он работает. не работал, когда я добавил его в .profile. Благодаря! – Morten

+0

просто сделал это на снежном барсе, и вам нужно внести изменения в свой .bashrc – longda

+10

Я только что редактировал свой '/ etc/profile', и он работает как шарм. – Cyclonecode

4

Проверьте, что дает $ TERM: my - xterm-color, а ls -alG - цветной вывод.

+0

ну, на capitan с 'xterm-256color', я не получаю цветов. 'CLICOLOR' и' LSCOLORS' не меняют это): – drevicko

15

Если вы хотите, чтобы ваши Ls раскрашены вы должны изменить ~/.bash_profile файл и добавьте следующую строку (если уже не написано):

source .bashrc 

Затем отредактировать или создать файл ~/.bashrc файл и записать псевдоним команды LS:

alias ls="ls -G" 

Теперь вы должны ввести source .bashrc в терминале, если уже запущен, или просто открыть новый терминал.

Если вы хотите больше опций в своем ls juste, прочитайте руководство (man ls). Параметры не совсем то же самое, что и в системе GNU/Linux.

+6

Несколько лучше заменить слово 'alias' на 'export CLICOLOR = ""'. Это имеет то преимущество, что обычно продолжает работать, даже если вы переключаете оболочки во время сеанса терминала (при условии, что переменные среды унаследованы, алиасы - нет). –

2

Когда я работал в Mac OS X в лаборатории, мне удалось получить цвета терминалов с помощью терминала (а не X11), а затем отредактировать профиль (из строки меню Mac). Интерфейс немного нечетен в цветах, но вы должны установить измененную тему по умолчанию.

Другие настройки, выполненные путем редактирования .bashrc.

107

Синтаксис на основе Linux можно использовать в одном из сценариев запуска. Просто протестировал это на коробке OS X Mountain Lion.

например. в вашем ~/.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\]\$ ' 

Это дает хороший цветной запрос. Чтобы добавить цветной вывод ls, вы можете добавить alias ls="ls -G".

Чтобы проверить, просто запустите source ~/.bash_profile, чтобы обновить текущий терминал.

Примечание стороны о цветах: Цвет предшествует управляющую последовательностью \e и определяемое значением цвета, состоящие из [style;color+m] и обернутых в беглом [] последовательности. например.

  • красный = \[\e[0;31m\]
  • красным жирным шрифтом (стиль 1) = \[\e[1;31m\]
  • ясно окраска = \[\e[0m\]

Я всегда добавить немного измененную цветовую схему в .bash_profile корневой, чтобы сделать имя пользователя красное, поэтому я всегда четко вижу, что я зарегистрирован как root (рекомендуется избегать ошибок, если у меня открыто много окон терминала).

В /root/.bash_profile:

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

Для всех моих SSH счетов онлайн убедитесь, поставить имя хоста в красный цвет, чтобы отличить, если я нахожусь в локальном или удаленном терминале. Просто отредактируйте файл .bash_profile в своем домашнем каталоге на сервере. Если на сервере нет файла .bash_profile, его можно создать, и он должен быть отправлен при входе в систему.

+2

как вы редактируете bash_profile для учетных записей ssh ​​онлайн? –

+1

Мне нравится 'PS1' лучше с' $ PWD' вместо '\ u', как таковой:' PS1 = \ [\ e [0; 31m \] $ PWD \ [\ e [0m \] @ \ [\ e [0; 32m \] \ h \ [\ e [0m \]: \ [\ e [0; 34m \] \ w \ [\ e [0m \] \ $ ' – cregox

+1

Вот еще несколько пояснений кодов для prompt: https://wiki.archlinux.org/index.php/Color_Bash_Prompt#Step_by_step. – JohnK

3

Если вы используете Tcsh, а затем отредактировать файл ~/.cshrc включать следующие строки:

setenv CLICOLOR 1 
setenv LSCOLORS dxfxcxdxbxegedabagacad 

Где, как говорит Мартин, LSCOLORS определяет цветовую схему вы хотите использовать.

Для генерации LSCOLORS вы хотите использовать, проверка этого site

+3

'bash' был по умолчанию в OS X с октября 2003 года. – crazysim

+0

Я думаю, что вы правы. Я только что получил новый Mac, и у него был bash по умолчанию. Я предполагаю, что IT продолжал настраивать мои маки на работе, чтобы по умолчанию было tcsh. – smaccoun

+1

Ссылка просто потрясающая! – Sankalp

34

MartinVonMartinsgrün и 4Levels методы работы подтвержденное большой на Mac OS X Mountain Lion.

Файл, который мне нужно обновить, был ~/.profile.

Однако я не мог оставить этот вопрос, не рекомендуя мое любимое приложение, iTerm 2.

iTerm 2 позволяет загружать глобальные цветовые схемы из файла. Действительно легко экспериментировать и попробовать кучу цветовых схем.

Вот скриншот окна iTerm 2 и цветовых предпочтений. iTerm2 Color Preferences Screenshot Mac

После того, как я добавил следующее в файл ~/.profile, iTerm 2 смог переопределить цвета.

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

Здесь большое хранилище с некоторыми хорошими настройками:

iTerm2 Color Schemes on Github by mbadolato

Bonus: Выберите «Показать/скрыть iTerm2 с общесистемного горячих клавиш» и связать ключ с BetterTouchTool в течение мгновенно скрыть/показать терминал жестом мыши.

+1

iTerm2 часто разбивался на моей системе, поэтому я перешел на oh-my-zsh https://github.com/robbyrussell/oh-my-zsh. Есть еще темы –

+0

Эй! Пожалуйста, измените ссылку 'baskerville' на правильную. Кажется, неправильная копия. –

+0

@NickWoodhams, какова цветовая тема, которую вы используете на скриншоте? –

Смежные вопросы