it-roy-ru.com

Цвета терминала OS X

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

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

465
sa125

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

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

Отредактируйте свой .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 г.).

715
MartinVonMartinsgrün

Вы можете использовать синтаксис на основе 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, чтобы обновить свой текущий терминал.

Дополнительное примечание о цветах: цветам предшествует escape-последовательность \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, вы можете создать его, и он должен быть получен при входе в систему.

115
4levels

Методы 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\]\$ '

Вот отличный репозиторий с некоторыми пресетами Nice:

Цветовые схемы iTerm2 на Github от mbadolato

Бонус: выберите "Показать/скрыть iTerm2 с помощью общесистемной горячей клавиши" и связать клавишу с помощью BetterTouchTool для мгновенного скрытия/показа терминала жестом мыши.

38
Nick Woodhams

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

source .bashrc

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

alias ls="ls -G"

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

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

15
Marcio

Если вы используете tcsh, отредактируйте файл ~/.cshrc, добавив в него строки:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

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

Чтобы создать LSCOLORS, которые вы хотите использовать, проверьте это сайт

4
smaccoun

Проверьте, что дает $ TERM: у меня есть xterm-color, а ls -alG затем выводит цвет.

4
William Rose

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

Дальнейшие настройки работали путем редактирования .bashrc.

2
ccook