Как настроить подсказку на использование двух цветов?

15

Одна вещь, которая мне понравилась в Mint, заключалась в том, что терминал обычно отображал два цвета: все слева направо $было бы одного цвета, а все, что раньше $, было другим.

Есть ли способ иметь эту настройку с Ubuntu?

TSJNachos117
источник
К вашему сведению, я нашел файл /etc/bash.bashrc из Mint 14 на pastebin . Самые первые и самые последние строки должны быть удалены, иначе вы получите ошибку. Кроме того, было бы неплохо, если бы файл ~ / .bash_aliases был загружен, предполагая, что такой файл существует.
TSJNachos117

Ответы:

21

Запустите следующую команду в терминале:

gedit ~/.bashrc

Когда .bashrcоткроется, найдите и раскомментируйте force_color_prompt=yes(то есть удалите хеш, чтобы он больше не выглядел как:) #force_color_prompt=yes.

Сохраните файл и откройте новое окно терминала, и вы уже должны увидеть изменение (приглашение должно быть светло-зеленым , что определяется значением 1; 32 ). Затем вы можете изменить любое значение цвета, которое вам нравится; например: 0; 35 = фиолетовый .

Чтобы отредактировать значения цвета, найдите следующий раздел и измените значения по умолчанию, используя некоторые примеры, перечисленные ниже:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;31m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Вы можете проверить эту цветовую диаграмму Bash для полного диапазона значений цвета, но вот несколько основных, с которыми вы можете поиграть (обратите внимание, что «Light» - это не то, что вы могли бы подумать - на самом деле это означает «жирный»): Черный 0; 30 - темно-серый 1; 30 - синий 0; 34 - светло-синий 1; 34 - зеленый 0; 32 - светло-зеленый 1; 32 - голубой 0; 36 - светло-голубой 1; 36 - красный 0; 31 - светлый Красный 1; 31 - фиолетовый 0; 35 - светло-фиолетовый 1; 35 - коричневый 0; 33 - желтый 1; 33 - светло-серый 0; 37 - белый 1; 37

Например, вот строка, которую я использую:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

или, моя подруга, используйте:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[01;31m\]@\[\033[01;36m\]\h\[\033[01;33m\]:\[\033[01;31m\]\w\[\033[01;33m\]\# '

Не стесняйтесь экспериментировать, настраивая подсказку, изменяя значение переменной среды PS1 в Терминале, как показано ниже:

export PS1="...your values..."

или просто

PS1="...your values..."

Вот как выглядит мой терминал:

Терминал

Источник: http://ubuntugenius.wordpress.com/2011/07/11/how-to-change-the-command-line-prompt-colour-in-the-ubuntulinux-terminal/

Раду Рэдяну
источник
1
откуда взялась цветочная фотография?
NHDaly
3

Просто измените $PS1в загрузочных файлах оболочки соответствующие вызовы tput, чтобы установить и очистить текстовые атрибуты. Смотрите tput(1)и terminfo(5)справочные страницы для деталей.

export PS1="\[$(tput setaf 2)\][\u@\h \W]\$ \[$(tput sgr0)\]"
Игнасио Васкес-Абрамс
источник
@ RaduRădeanu: «в файлах запуска оболочки»
Игнасио Васкес-Абрамс
Лучшие файлы инициализации оболочки
Раду Радеану
1
Вместо $(tput setaf 2)и $(tput sgr0)я бы рекомендовал использовать escape-последовательности ANSI напрямую: \033[32mи \033[m. Результат тот же, но не требует звонка.
wjandrea
1

Эта вещь, о которой вы говорите, называется быстрой . Существует множество опций и сценариев для изменения вашего приглашения, используя разные цвета и отображая любую дополнительную информацию. Хорошее начало с некоторыми примерами можно найти в коллекции Джейми, и у IBM есть несколько хороших объяснений для начинающих. Если вы хотите углубиться в детали, взгляните на это всеобъемлющее руководство

binfalse
источник
0

Вы можете попробовать это:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

(попробуйте сначала в терминале). Затем, если вам это нравится, вы можете поместить его где-нибудь в вашем .bashrcфайле.

gniourf_gniourf
источник