tmux, ТЕРМИН и 256 поддержки цветов

Одна вещь иметь в виду, привыкли ли Вы к Конфетке, состоит в том, что список доступных пакетов не обновляется автоматически, таким образом, необходимо работать apt-get update каждый раз, когда источники пакета изменяются, и периодически сохранять это актуальным.

apt-get действительно обрабатывает зависимости. (Это - то, где Yellowdog и Red Hat получили идею.)

Я не знаю точно, что вызвало ошибку, которую Вы видели, но существует две частых причины для этого сообщения об ошибке:

  • Вы изменили список источников, но не работали apt-get update, или apt-get update работал частично, но некоторые индексные файлы не могли быть загружены. Средство: выполненный apt-get update.
  • Вы устанавливаете пакеты из поврежденного источника. Нестабильный выпуск (кодовое название sid) всегда содержит последнюю версию пакетов, и если зависимости еще не находятся в, слишком плохо. Средство: используйте выпуск тестирования, который обычно находится позади нестабильного на несколько недель и последователен относительно зависимостей. Или используйте стабильную версию, которая немного похожа на Red Hat к Fedora тестирования (в это время, сжатие является стабильной версией, и хрипящий тестирует).

Относительно Ваших источников я рекомендую запуститься только с источников должностного лица Debian и затем добавить сторонние репозитории, такие как Dotdeb и Debian-multimedia, только если Вам на самом деле нужны они.

apt-get установки пакета дескрипторов. Для запросов базы данных доступных пакетов использовать apt-cache: apt-cache search part_of_package_name_or_description.

Можно предпочесть использовать aptitude, который комбинирует функции apt-get и apt-cache и имеет текстовый режим интерактивный интерфейс также.

Iceweasel является точно Firefox за исключением названия и логотипа. Debian не распределяет Firefox под брендом Firefox, потому что у них нет разрешения. VLC и Gnome 3 находятся в стандартном распределении Debian.

49
13.04.2017, 15:36
3 ответа

В tmux FAQ есть некоторая информация о поддержке 256 цветов.

Определение количества цветов, поддерживаемых терминалом, к сожалению, не является простым, по историческим причинам. Смотрите Проверка количества цветов, поддерживаемых моим эмулятором терминала для объяснения. Это означает, что

  • tmux не может надежно определить, поддерживает ли терминал более 8 цветов;
  • tmux не может надежно сообщить приложению, что оно поддерживает более 8 цветов.

Когда вы находитесь в tmux, терминал, с которым вы взаимодействуете, - это tmux. Он не поддерживает все управляющие последовательности xterm. В частности, он не поддерживает управляющую последовательность OSC 4 ; ... для запроса или установки значений цвета. Вы должны использовать ее при непосредственном запуске в xterm, вне tmux.

Если вы запустите tmux -2, то tmux запустится с поддержкой 256 цветов, даже если он не думает, что ваш терминал поддерживает 256 цветов (что бывает довольно часто).

По умолчанию tmux рекламирует себя как screen без поддержки 256 цветов. Вы можете изменить значение TERM в .tmux.conf, чтобы указать поддержку 256 цветов:

set -g default-terminal "screen-256color"

Вы можете использовать TERM=xterm-256color или TERM=screen-256color на Ubuntu. Эти значения вызовут проблемы, только если вы войдете на удаленную машину, на которой нет записи termcap/terminfo для этих имен. Вы можете скопировать записи в свой домашний каталог на удаленной машине; это работает с большинством современных реализаций terminfo.

# From the Ubuntu machine to a machine that doesn't have *-256color terminfo entries
ssh somewhere.example.com mkdir -p .terminfo/s .terminfo/x
scp -p /lib/terminfo/s/screen-256color somewhere.example.com:.terminfo/s/
scp -p /lib/terminfo/x/xterm-256color somewhere.example.com:.terminfo/x/
33
27.01.2020, 19:34

Я дам дополнительный ответ, который касается только ваших дополнительных экспериментов, поскольку они относятся к соляризованным цветам каталога .

Настройка

У нас такой же цветовой вывод из тестового скрипта. Единственное отличие состоит в том, что я использовал lxterminal на Openbox с slim , xcompmgr и без DM. Поэтому я не могу легко настроить пользовательскую палитру, как вы, поскольку этот эмулятор терминала не предлагает эти настройки в графическом интерфейсе, и для него нет специальной темы (они существуют только для нескольких эмуляторов терминала) . Поэтому я просто использую полупрозрачность, неукрашенные клеммы и этот синий цвет в качестве цвета переднего плана с синим фоном Gentoo . Поскольку я не могу использовать версии цветных файлов ansi , я сосредоточился исключительно на получении результатов с помощью dircolors.256dark , то есть «деградированной» простой версии.

Я использовал следующую соответствующую конфигурацию и средний шрифт inconsolata :

echo $TERM
xterm

.bashrc:
eval `dircolors /path/to/dircolors.256dark`

.vimrc:
set t_Co=256
let g:solarized_termcolors=256
syntax enable
set background=dark
colorscheme solarized

.tmux.conf:
nothing at all related to colors!
start tmux with "tmux -2"

Dircolors

На изображении ниже показано, что происходит внутри и вне tmux с этими настройками. Первая треть слева показывает недекорированные окна lxterminal , расположенные вертикально (3). Справа у вас есть сборка tmux , показывающая те же идентичные программы (3). Я также включил solarized xterm 1 , показывающий nano с использованием включенного файла .Xresources в полном пакете (и его выборка с помощью xrdb -load ~ /.Xresources ):

enter image description here щелкните правой кнопкой мыши / просмотрите изображение для проверки в полном разрешении

Первый терминал в верхнем левом углу демонстрирует цвета каталога по умолчанию. Чуть ниже представлена ​​деградированная соляризованная версия. За исключением розового на синем фоне для файлов .c , которые я добавил, он идентичен тому, что ожидается от этого (см. Изображение ниже для справки). По сравнению со значениями по умолчанию, он основан на расширенных атрибутах, например, жирный / светлый / обратный и т. Д., И цвета явно отличаются. Цвет по умолчанию для файлов .txt во многих дистрибутивах зеленый, но вместо этого он должен быть серым, когда соляризация . Файл ansi , отображающий файл .txt как зеленый, либо отображает некорректно, либо не отображает вообще. Результаты справа, которые вы показали, являются правильными (256dark) по отношению к следующей ссылке:

enter image description here соляризованные "деградированные" dircolors справочная карта

Наблюдения

С конфигурацией, которую я использовал, результаты кажутся идентичными внутри и снаружи tmux (я поменял местами комментарии (#) в vi, но в остальном плагин ведет себя так, как должен, и мультиплексор не влияет на это). Шрифты играют огромную роль в определении соляризованных функций, и для максимального удобства работы требуется хороший шрифт. Цвета соляризованного каталога с использованием файла 256dark соответствуют ссылке и не требуют специальной конфигурации эмулятора терминала.


Заключение

На самом деле рендеринг ansi цветов каталога просто полностью отличается от деградированного соляризованного (256dark). Настолько, что в файлы ansi .txt имеют зеленый цвет. Один не может использоваться для проверки рендеринга другого. Оба решения требуют разной конфигурации и дают совершенно разные результаты.

5
27.01.2020, 19:34

Я впечатлен тем, насколько богато отформатированы и подробны ответы (и вопрос!). Хотя они предоставляют ценную информацию и решения об упомянутых вами инструментах, они дают очень мало информации о , что, черт возьми, происходит , и, что наиболее важно, почему некоторые инструменты (в некоторой степени) работают, когда они предположительно не следует.

Вот некоторые идеи по вашим основным вопросам:

  • Что терминал поддерживает и что он сообщает - разные вещи. Терминал Gnome, например, способен отображать 256 цветов, но он объявляет в среду (через переменную $ TERM ) как xterm ] эмулятор (8 цветов).

  • Такие инструменты, как tput , следуют за тем, что TERM установлено на: tput colors может напечатать 8, а env TERM = xterm-256color tput colors напечатает 256, независимо от того, поддерживает ли ваш терминал такие возможности .

  • vim также следует TERM по умолчанию, но как вы сказали ему использовать 256 цветов (через флаг или установить t_Co = 256 ) будет использовано 256 цветов. И это работает, потому что ваш терминал на самом деле поддерживает это.

  • tmux , как и Gnome Terminal, также по умолчанию сообщает о себе как о 8-цветном терминале.Но, в отличие от Gnome Terminal, он только включает возможность 256 цветов, если вы используете флаг -2 , что также заставляет сообщать о себе как о Эмулятор, совместимый с xterm-256color .

  • xterm , как и в , программное обеспечение эмулятора терминала для X11 , безусловно, поддерживает 256 цветов. Но xterm , как в TERM = xterm , является 8-цветным «стандартом». Это означает возможности оригинального xterm . Когда он был обновлен для поддержки 256 цветов давным-давно, для этого был придуман термин xterm-256color .

Все сводится к следующему:

  • Какие возможности ваш терминал на самом деле поддерживает (и позволяет это делать)

  • Как он сообщает о таких возможностях среде через TERM

  • Как инструменты интерпретируют TERM и настройте себя соответствующим образом.

  • Как видно из вышеизложенного, избегайте использования export TERM = xterm-256color в ваших ~ / .bashrc и подобных сценариях . Поскольку эти файлы выполняются независимо от терминала, который вы фактически используете, он заставит всех ваших терминалов, включая удаленные соединения из Windows с Putty, консольный терминал Linux и т. Д., Сообщать о себе как о совместимости с xterm-256color. Что может быть правдой для некоторых, но, конечно, не для всех. Например, getty , консоль Linux, доступ к которой осуществляется с помощью CTRL + ALT + 1..6 , не работает.

  • Терминалы должны сообщать о себе как о «стандарте», с которым они наиболее совместимы.Если вы знаете, что они могут обрабатывать 256 цветов, настройте их так, чтобы они рекламировались как таковые.

И последнее, но не менее важное: замечательная статья о TERM и 256 цветах:

http://blog.sanctum.geek.nz/term-strings/

http: / /blog.sanctum.geek.nz/256-colour-terminals/

23
27.01.2020, 19:34

Теги

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