1

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

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

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

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

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

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

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

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

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

2 ответа2

2

Казалось бы, "консоль" - твой друг.

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

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

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

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

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

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

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

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

Соединение этого с --profile должно дать результат, к которому вы стремитесь .

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

2

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

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

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

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

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

Вы должны выяснить, какие флаги командной строки есть в вашей любимой терминальной программе. Например, 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 -bg darkblue -fg gold -title "My terminal"

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

$ xterm -bg darkblue -fg gold -title "Web Server" -e "ssh myuser@webserver.mycompany.com"

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .