Включить цветовую схему в bash [duplicate]

Оли совершенно прав, но в качестве альтернативы, если вы перейдете в Edit-> Preferences с Banshee, на вкладке General появится опция «Write ratings and play counts to files».

Это означает, что вам не нужно беспокоиться о переходе файлов конфигурации Banshee - Banshee может считывать счет игры непосредственно из mp3 / аудиофайла - в зависимости от того, какую установку Ubuntu вы используете.

(Примечание: ваш MP3-плеер и другие программы, кроме Banshee, вероятно, не будут смотреть на это.)

43
задан 6 December 2010 в 00:55

9 ответов

Hm. поскольку это был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 7 October 2018 в 13:07
  • 1
    Это очень помогло бы этому ответу, если бы вы сказали where , который вы положили --color = auto. .bashrc на сервере? Какие команды? – rfay 25 August 2013 в 00:37
  • 2
    Поскольку это старый вопрос, который по-прежнему имеет значение, я просто хотел добавить, что в системах Ubuntu по умолчанию .bashrc имеет оператор case, который определяет, какие условия разрешены цветом. Если вы найдете «case» $ TERM $ & quot; в & Quot; строка в вашем .bashrc, добавление & quot; xterm) color_prompt = yes ;; & quot; также будет включать цвет. Также вы можете раскомментировать «force_color_prompt = yes & quot; чтобы глобально включить его всегда. – Mike E 6 July 2015 в 20:58
  • 3
    это был комментарий Майка Е, который исправил это для меня, – Frank Schrijver 25 September 2016 в 00:10
  • 4
    Я не совсем понимаю. Что значит «изменить все, чтобы просто - цвет»? Могу ли я увидеть пример? – still_dreaming_1 11 August 2017 в 00:11
  • 5
    Вы, ребята, говорите о локальном хосте, удаленном хосте или обоим? – Adam 10 January 2018 в 13:47

В моем случае отсутствующая часть должна была иметь цветные ls, grep и т. д., которые могут быть добавлены путем добавления псевдонимов в файл .bashrc:

alias ls='ls --color=auto'
alias grep='grep --color=auto'

и т. д.

0
ответ дан 7 October 2018 в 13:07

Какова информация о вашей переменной XTERM env на сервере при ее подключении?

~ > export | grep -i term
TERM=xterm
5
ответ дан 7 October 2018 в 13:07

Это сработало для меня:

ssh -t my_host my_command

-t был ключом. Разъяснения .

8
ответ дан 7 October 2018 в 13:07
  • 1
    Это прекрасно работает и очень удобно для одной задачи. Спасибо! – XtraSimplicity 4 January 2017 в 07:17
  • 2
    Это все, что мне тоже нужно. Отлично спасибо! – Søren Mortensen 11 February 2018 в 06:37

Кажется, что цвета уже установлены в ~/.bashrc для меня, и проблема в том, что ssh не использует файл bashrc. Вы можете использовать bashrc в своей сессии ssh, добавив следующее к ~/.bash_profile:

if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi
9
ответ дан 7 October 2018 в 13:07
  • 1
    Это сработало для меня, и это был простой и эффективный способ сделать это! – flith 26 May 2017 в 11:24

Существует комментарий от «Майк Е» выше, в котором содержится ответ для меня, но его читать не только трудно, но сложно понять, что он имеет в виду, если вы не используете .bashrc a

После небольшого закручивания я получил желаемые результаты, изменив следующие строки в ~/.bashrc на машине, с которой я входил в систему с помощью ssh:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

to:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
    xterm) color_prompt=yes;;
esac

Я думаю, что мог бы просто добавить «| xterm» после «color» в первой строке или выкопать и выяснить, почему ssh использовал «xterm «вместо« xterm-color »и измените это, но это работает, и теперь у меня есть другие дела.

0
ответ дан 7 October 2018 в 13:07

Я терял свой цвет при подключении через прокси-сервер, потому что TERM=dumb, поэтому я исправил его:

ssh myproxy "ssh pi@localhost -p 5000 -tt 'TERM=xterm bash'"
0
ответ дан 7 October 2018 в 13:07
  • 1
    Вы также должны назначить терминал в первом соединении, если вы это сделаете. – muru 28 August 2018 в 07:02

Я попытался изменить настройки ~./bashrc (как на локальном, так и на удаленном сервере), но он не работал.

Тогда я заметил, что ~/.bashrc удаленного сервера даже не выполняется, если Я подключаюсь к нему через ssh. Поэтому я сделал ~/.bashrc удаленного сервера для выполнения puttinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi в удаленном сервере ~/.bash_profile. (на основе https://stackoverflow.com/questions/820517/bashrc-at-ssh-login ).

Таким образом, это решение не требовало изменения каких-либо файлов ~/bashrc но это потребовало изменения файла ~/bash_profile удаленного сервера, чтобы файл ~/bashrc удаленного сервера был выполнен.

1
ответ дан 7 October 2018 в 13:07
  • 1
  • 2
    Это правильно. Но выполняется ли .profile по умолчанию при входе через ssh? – chris544 8 March 2016 в 02:43
  • 3
    Да. Если вы не переопределили его с помощью .bash_profile, bash запускает .profile при запуске в качестве оболочки входа. И SSH запускает bash в качестве оболочки входа. – muru 8 March 2016 в 02:44
  • 4
    Правильно, что ~/.profile не читается, если существует ~/.bash_profile. Но по умолчанию Ubuntu не существует ~/.bash_profile? – chris544 8 March 2016 в 02:51
  • 5
    См. Мой первый комментарий еще раз. Нет, нет. Ubuntu использует .profile. – muru 8 March 2016 в 02:52

В моей ситуации я недавно установил chef-local, и он попросил меня добавить строку к .bash_profile. Когда я вхожу, .bashrc больше никогда не загружается, потому что он видел .bash_profile.

Я сделал, чтобы добавить строку в .bash_profile:

source .bashrc
export PATH="/opt/chefdk/embedded/bin:$PATH"

I вышел из системы и вернулся и сразу получил мой цветной терминал.

1
ответ дан 18 October 2018 в 02:47

Другие вопросы по тегам:

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