Я могу выбрать терминальные цвета своей локальной машины для использования тех из машины I ssh в?

Прежде чем я переместился в KDE, я был жестким пользователем Fluxbox. Это имеет интерфейс команды fbrun, который может использоваться для запуска программ наряду с щелчком правой кнопкой настраиваемое меню. Это также имеет вкладки окна, я полагаю, что это - один из первого WM's, который будет иметь это. IIRC Fluxbox является WM, который использует Чертовски Маленький Linux.

7
16.01.2011, 02:03
2 ответа

Раскрашивает терминалы, определяются на двух шагах:

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

Xterm имеет escape-последовательность для изменения значения цвета, связанного с номером цвета. Я не помню, поддерживает ли PuTTY эту последовательность; я знаю, что Mintty делает.

set_color_value () {
  printf "\\e]4;$1;$2\\a"
}
set_color_value 4 '#6495ed'  # set color 4 (blue) to CornflowerBlue

Эти настройки не переживут терминальный сброс. Можно преодолеть эту трудность путем добавления конфигурации курсора, изменяющей последовательность на строку сброса терминала.

  • В находящейся в terminfo системе с помощью ncurses, сохраните terminfo настройки терминала в файл с infocmp >>~/etc/terminfo.txt. Отредактируйте описание для изменения rs1 (основной сброс) последовательность, например, замена rs1=\Ec rs1=\Ec\E]4;4;#6495ed\E\\. С некоторыми программами и настройками, Вы, возможно, должны измениться rs2 (полный сброс) также. Затем скомпилируйте terminfo описание с tic ~/etc/terminfo.txt (это пишет в соответствии с каталогом $TERMINFO, или ~/.terminfo если сброшено).
  • В находящейся в termcap системе захватите termcap настройки от своей termcap базы данных (обычно /etc/termcap). Изменитесь is (основной сброс) и rs (полный сброс), упорядочивает для добавления настроек, например. :is=\Ec\Ec\E]4;4;#6495ed\E\\:. Установите TERMCAP переменная среды к отредактированному значению (начало и окончание :).

Теперь можно вставить что-то вроде этого Ваш ~/.profile:

if [ "$(ps -p $PPID -o comm=)" = sshd ] &&
   [ "$TERM" = "xterm" ]; then
  set_color_value … # set color scheme
  TERMCAP=…  # if necessary
fi
9
27.01.2020, 20:17
  • 1
    , если я не неправильно понимаю его вопрос.... Я думаю, что это имеет сверхсложные вещи пути. –  xenoterracide 16.01.2011, 04:28
  • 2
    @xeno: Я думаю, что Вы неправильно понимаете вопрос. Я полагаю, что Gilles разобрался в нем. –  sepp2k 16.01.2011, 04:44
  • 3
    @sepp2k мог быть –  xenoterracide 16.01.2011, 04:56
  • 4
    Это немногим выше моей головы; я все еще довольно плохо знаком с Linux. Я должен поместить код для set_color_value () в мой .bashrc? И как я знаю, использую ли я terminfo или termcap? –  Glacials 16.01.2011, 22:55
  • 5
    @skoh-fley: Запустите с помещения set_color_value материал в Вашем .bashrc. Если Вы не уверены в .bashrc по сравнению с .profile по сравнению с .bash_profile, поиск на этом сайте, Суперпользователе и Спрашивает человечность, где тема была обсуждена подробно. Можно найти, что цветовая схема уходит, когда Вы запускаете полноэкранное приложение; только затем должны Вы волноваться о бите о терминальном сбросе. Если Вы не знаете, у Вас, вероятно, есть terminfo. –  Gilles 'SO- stop being evil' 17.01.2011, 01:38

Вы ssh- луг во всего одно право поля? почему не просто устанавливает PS1 переменная на том поле для использования системы цветов Вы хотите? Если Вы сохраняете его к 16 цветам, у Вас не должно быть проблемы ни на ком современном TERM, большинство должно поддерживать 256 цветов, но большинство не устанавливает TERM=xterm-256color из поля и некоторых дураков (кашель мой кашель работодателя) санируют TERM быть алфавитно-цифровым только. К сожалению, что вставить Ваш PS Вар, очень зависит от оболочки, которую Вы используете.

0
27.01.2020, 20:17
  • 1
    Извините, но если я понимаю правильно, что PS1 только для подсказки, правильно? Я хочу изменить все - фон, текст, энергия, и т.д. –  Glacials 16.01.2011, 22:53
  • 2
    @xenoterracide Поддержки ATI при установке той переменной на удаленном поле, и затем ssh в от поля без цветов Вы получите цветной вывод? –  Startec 19.07.2015, 04:52
  • 3
    Если эмулятор терминала поддерживает его да –  xenoterracide 19.07.2015, 04:56

Теги

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