Цвета Bash, определенные в .bashrc, ведут себя странно. Я не могу это понять

Убедитесь, что kali-desktop-gnome все еще установлен, это обеспечит доступность среды вашего рабочего стола:

apt-get install kali-desktop-gnome

Если вы хотите полностью восстановить настройки по умолчанию:

apt-get install kali-linux kali-desktop-live kali-desktop-gnome kali-linux-full

обеспечит настройку по умолчанию Установлен "Kali full" набор пакетов.

2
29.06.2016, 22:12
2 ответа

Описание проблемы

Это неправильный способ установки цветов для ls . ls использует цвета терминала так же, как и приглашение. Когда dev окрашен в коричневый цвет ls , это происходит примерно так:

\[\033[0;33\]dev\[\033[0m\]

И цвет терминала снова переключается на обычный цвет ( \ [\ 033 [0m \] ). С этого момента для отображения текста используется обычный цвет, пока Documents не переключится на коричневый, а затем снова на обычный.

По сути, это плохая идея - иметь подсказку, которая оставляет включенным цвет терминала:

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

Вместо этого вы должны всегда переключать цвет обратно на обычный:

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

А затем использовать ] LS_COLORS переменная среды для изменения способа ls печати цветов.


Hack

ls имеет псевдоним:

alias ls='ls --color'

В большинстве современных дистрибутивов Linux. Удаление этого псевдонима - один из способов заставить вашу хакерскую подсказку работать с ls . Но это не лучшее решение, и вы, вероятно, столкнетесь с проблемами с другими программами.


Правильное решение

Если вы действительно хотите изменить цвет текста по умолчанию в терминале, вы должны настроить его в самом эмуляторе терминала. Практически все эмуляторы терминала ( gnome-terminal , xfce-terminal , kterm ) имеют раздел конфигурации, в котором можно установить стандартный (обычный) цвет.

В вариантах xterm и rxvt цвет по умолчанию может быть установлен в ~ / .Xresources .

4
27.01.2020, 21:56

После вывода каждой строки команда ls сбрасывает цвет. Если вы запустите dircolors -p , вы увидите строку

RESET 0 # reset to "normal" color

. Если вы запустите dircolors отдельно (который будет выводиться в формате LS_COLORS ), то вы увидим 'rs = 0'. Поэтому, если вы хотите, чтобы ls сбрасывался на другой цвет, вам необходимо настроить пользовательскую переменную LS_COLORS с rs = 01; 33 в ней и экспортировать эту переменную. Теперь ls будет сброшен на ваш собственный цвет в конце каждой строки.

1
27.01.2020, 21:56

Теги

Похожие вопросы