Терминал Linux, поддерживающий настройку значка, цвета курсора, а также всех других цветов

Терминал Linux, поддерживающий настройку значка, цвета курсора, а также всех других цветов

Помимо evilvte, есть ли какой-либо эмулятор терминала на Linux, который (без сбоев) позволяет мне для каждого хоста указывать курсор, передний планифоновый цвета такжезначок (то есть значок, отображаемый, когда запущенное приложение свернуто)?

Я подключаюсь по SSH к довольно большому количеству разных хостов, и чтобы мне было проще отслеживать, на каком хосте я вошел, у каждого хоста есть уникальная цветовая схема (то есть уникальная комбинация фона, переднего плана и цвета курсора), которую я использую для его терминальных окон. Чтобы было проще инстинктивно правильно перемещаться между этими терминальными сеансами, я также полагаюсь на настройку эмулятора терминала, так что значок, используемый для него, когда он свёрнут (или при нажатии ALT-TAB на моём рабочем столе XFCE), отражает используемую им цветовую схему.

(У меня есть программа на Perl, которая генерирует графику терминала с цветами фона, переднего плана и курсора, соответствующими цветовой схеме, которую я использую для хоста, поэтому я могу легко создать подходящий значок для каждого хоста, с которым мне предстоит работать)

Проблема этого подхода не в том, что он не работает (он действительно работает просто великолепно!), а в том, что трудно выбрать достаточно хороший эмулятор терминала, который поддерживаетвсеиз следующих:

  • Настраиваемая графика иконок для каждого сеанса (в том смысле, что я могу указать любое изображение на диске).
  • Настраиваемый фон, передний план для каждого сеансаицвет курсора.
  • Желательно также настраивать цвета ANSI для каждого сеанса (включая «яркие» цвета с 8 по 15), просто потому, что если цвет фона красный, я хочу настроить красный ANSI и ярко-красный так, чтобы они немного отличались от цвета фона. (Да, у меня есть скрипт, который автоматизирует и эту настройку)

Сейчас я полагаюсь на evilvte, потому что это единственное терминальное программное обеспечение, которое позволяет мне настраивать как значок, так и все цвета (курсор, передний план, фон, жирный, тусклый и все цвета ANSI). Проблема с evilvte в том, что мне приходится компилировать один отдельный двоичный файл за сеанс (частично автоматизированный и работающий, но, честно говоря, довольно уродливый подход). Кроме того, evilvte не поддерживает уменьшение ширины или высоты окна терминала (то есть уменьшение количества столбцов или строк), несмотря на то, что позволяет увеличивать ширину/высоту. Другая потенциальная проблема с evilvte заключается в том, что я сделал довольно уродливый хак, чтобы настроить все цвета ANSI для него, что может сработать или не сработать в будущих версиях evilvte.

Я пробовал gnome-terminal, но изначально в нем не было возможности настраивать цвет курсора, а когда-то он включал поддержкучтобыло решено убрать возможность настройки значка для каждого сеанса.

Буду признателен за любую ссылку на терминал, который предоставляет все необходимые мне функции, но без головной боли, которую я получаю при использовании evilvte.

Редактировать: Мэтт Дженкинс дал хороший и хорошо написанный ответ, в котором он предложил мне использовать xterm и дал несколько хороших советов по его использованию. К сожалению, у xterm есть некоторые ограничения, которые делают его неподходящим для моих нужд (xterm поддерживает только монохромные черно-белые пиктограммы иконок и имеет жестко закодированные, скомпилированные в цветах ANSI). Поэтому я не принял его ответ (нажав на галочку), но все равно «поднял» его на один пункт.

решение1

Похоже, «konsole» — ваш друг.

После тщательного изучения нескольких терминальных программ я обнаружил:

  • konsoleподдерживает настройку пользовательских цветовых схем:

введите описание изображения здесь

  • konsoleподдерживает пользовательские значки:

введите описание изображения здесь

  • konsoleподдерживает несколько профилей — нет необходимости в скриптах. Просто создайте новый профиль для каждого сервера. Вы даже можете включить команду ssh в профиль для автоматического входа на сервер.

введите описание изображения здесь

О, и konsoleон также имеет вкладки, так что вы можете уменьшить беспорядок и сгруппировать серверы вместе в меньшем количестве окон. (Возможно, все ваши веб-серверы в одном окне, все ваши файловые серверы в другом и т. д.).

Для установки значка в оконном менеджере (это отдельный значок для значка «профиля») необходимо указать флаг --icon в команде konsole:

$ konsole --icon /usr/share/icons/oxygen/16x16/apps/java.png

Который дает:

введите описание изображения здесь

Сочетание этого --profileдолжно дать желаемый результат.

Обратите внимание, что этот значок оконного менеджера не меняется при переключении вкладок, поэтому его можно использовать в качестве значка для обозначения групп вкладок, например, всех ваших веб-серверов, или вообще не использовать вкладки и просто использовать по одному окну на сервер.

решение2

Большинство терминального программного обеспечения Linux предоставляют вам флаги командной строки для настройки поведения — даже самые простые xterm.

Давайте рассмотрим некоторые из ваших требований:

  • Настраиваемая графика иконок для каждого сеанса (в том смысле, что я могу указать любое изображение на диске).

Они не имеют ничего общего с программой терминала. Это значки "ярлыков", которые запускают программу терминала (я думаю, это то, что вам нужно). Вам следует взглянуть на.рабочий столформат файла.

  • Настраиваемые для каждого сеанса цвет фона, переднего плана и курсора.

Вам следует изучить, какие флаги командной строки есть у вашей любимой терминальной программы. Например, у xterm есть -fgи -bg:

$ xterm -fg gold -bg darkblue
  • Желательно также настраивать цвета ANSI для каждого сеанса (включая «яркие» цвета с 8 по 15), просто потому, что если цвет фона красный, я хочу настроить красный ANSI и ярко-красный так, чтобы они немного отличались от цвета фона. (Да, у меня есть скрипт, который автоматизирует и эту настройку)

Цвета ANSI являются предопределенными стандартами. Их не следует менять. Большинство терминальных программ позволяют вам указать передний план и фон «по умолчанию» из большой палитры цветов, которая не ограничивается обычными 16 цветами ANSI. Для полного списка этих цветов взгляните на файл rgb.txt. Он находится где-то в вашем дистрибутиве Linux и содержит «стандартные» цвета X11. В Ubuntu он находится в /usr/share/X11/rgb.txt.

В качестве дополнительной идентификации большинство терминальных программ позволят вам задать заголовок окна. Например, с помощью старого доброго xterm вы можете использовать:

$ xterm -bg darkblue -fg gold -title "My terminal"

И даже добавить команду для выполнения:

$ xterm -bg darkblue -fg gold -title "Web Server" -e "ssh [email protected]"

В итоге у вас получится что-то вроде этого:

введите описание изображения здесь

Поместите эту команду в целевой файл «Web Server.desktop» вместе с указателем на значок веб-сервера, и все готово!

Редактировать:

Я только что прочитал отрывок о том, как вы хотите использовать значки.

Установка значка в строке заголовка представляет собой установку ресурса X "iconPixmap". Это можно сделать с помощью флага, -xrmуказывающего на файл "XBM":

$ xterm -xrm '*iconPixmap: /path/to/icon.xbm'

Связанный контент