Alacritty (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Alacritty. Дата последней синхронизации: 30 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Alacritty — простой, аппаратно-ускоренный эмулятор терминала, написанный на Rust. Он поддерживает прокрутку, 24-битные цвета, копирование/вставку текста, переход по гиперссылкам и пользовательские сочетания клавиш.

Установка

Установите пакет alacritty или версию для разработчиков — alacritty-gitAUR.

Настройка

Alacritty ищет конфигурационный файл по следующим путям, в указанном порядке:

  • $XDG_CONFIG_HOME/alacritty/alacritty.yml
  • $XDG_CONFIG_HOME/alacritty.yml
  • $HOME/.config/alacritty/alacritty.yml
  • $HOME/.alacritty.yml

Скопируйте шаблон файла конфигурации из /usr/share/doc/alacritty/example/alacritty.yml в один из приведённых путей и раскомментируйте настройки, которые желаете изменить. Большая часть настроек применится, как только вы сохраните файл.

Цвета

Смотрите вики проекта для получения списка доступных цветовых схем. Если понравившаяся цветовая схема есть в списке, то вставьте приведённый код в ваш конфигурационный файл.

Шрифт

Если вы не хотите использовать шрифт, установленный в системе по умолчанию, то можете указать другой, изменив следующие строки:

font:
  normal:
    family: monospace
    style: Regular

  bold:
    family: monospace
    style: Bold

  italic:
    family: monospace
    style: Italic

  bold_italic:
    family: monospace
    style: Bold Italic

  size: 11

Замените monospace на имя шрифта, полученное в качестве вывода следующей команды:

$ fc-list : family style

Обратите внимание, что некоторые шрифты не предоставляют стиль Italic, а используют вместо этого Oblique.

Советы и рекомендации

Запуск нового экземпляра в том же каталоге

Добавьте следующие строки в ваш файл конфигурации, чтобы запускать новый экземпляр Alacritty в текущей рабочей директории при нажатии Ctrl+Shift+Enter:

key_bindings:
  - { key: Return,   mods: Control|Shift, action: SpawnNewInstance }

"пользователь@хост:каталог" в заголовочной панели окна

Заголовочная панель окна показывает "Alacritty", в отличие от других эмуляторов терминала для Arch, которые по умолчанию показывают "пользователь@хост:каталог"

Чтобы применить поведение Arch по умолчанию ко всем своим пользователям в Alacritty, отредактируйте ваш файл /etc/bash.bashrc.

Найдите выражение "case", которое устанавливает $PROMPT_COMMAND для других терминалов:

case ${TERM} in

  xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
     PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

    ;;
  screen*)
    PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
    ;;
esac

Затем отредактируйте строчку xterm*|rxvt*|Eterm|aterm|kterm|gnome*), добавив в неё alacritty, чтобы получилось xterm*|rxvt*|Eterm|alacritty|aterm|kterm|gnome*).

Режим Vi и копирование/вставка

Режим Vi позволяет перемещаться внутри окна Alacritty и использовать прокрутку при помощи клавиатуры. По умолчанию можно переключить этот режим, нажав Ctrl+Shift+Space. Для копирования можно либо использовать мышку, чтобы выбрать текст, и нажать Ctrl+Shift+c, либо войти в режим Vi, начать выделение с помощью v, перемещать его с помощью hjkl, как в vim, и скопировать выделенный текст с помощью y. Для вставки нажмите Ctrl+Shift+v. Чтобы скопировать/вставить в/из буфер(а) обмена X, можно использовать выделение мышкой для копирования и нажатие средней кнопки мыши для вставки.

Регулярные выражения-подсказки

Регулярные выражения-подсказки можно использовать для нахождения текста в видимой части терминала и передачи его в другие приложения. После активации подходящие фрагменты текста подсвечиваются с помощью "подсказок" согласно настроенному словарю и доступны пользователю для выделения с помощью клавиатуры.

По умолчанию Alacritty предоставляет подсказки для URL с помощью сочетания клавиш Ctrl+Shift+U и открывает их с помощью xdg-open. Подробности по настройке см. в разделе hints: в alacritty.yml.

Решение проблем

Мышь некорректно работает в Vim

Добавьте ttymouse=sgr в .vimrc или перейдите на Neovim. Кроме того, см. эту проблему.

Прозрачные границы в dwm

При использовании dwm границы alacritty становятся прозрачными. Добавление следующей строки в dwm.c в каталоге с исходным кодом dwm и повторная компиляция решают проблему.

if (!XftColorAllocName(...))
    die("error, cannot allocate color '%s'", clrname); /* Найдите эту строку */
dest->pixel |= 0xff << 24; /* Добавьте эту строку */

Функционал терминала недоступен в удалённых сеансах

При подключении к удалённой системе из Alacritty, например с помощью SSH, в ней может не быть записи для Alacritty в базе данных terminfo (/usr/share/terminfo/a/alacritty*). В таком случае, интерактивные функции терминала работать не будут. Это можно исправить, скопировав информацию об Alacritty на удалённый сервер, как описано здесь.

На локальном устройстве, используя Alacritty:

$ infocmp > alacritty.terminfo  # Экспорт информации об Alacritty
$ scp alacritty.terminfo user@remote-host:~/  # Можно использовать любой способ копирования на удалённое устройство

На удалённом устройстве, в папке, куда был скопирован alacritty.terminfo:

$ tic -x alacritty.terminfo  # импорт для текущего пользователя
$ rm alacritty.terminfo  # теперь файл можно удалить
Примечание: После этого необходимо запустить новый сеанс SSH, чтобы удалённая командная оболочка загрузила информацию об Alacritty.

В качестве альтернативы, можно изменить значение TERM в конфигурации на xterm-256color вместо установленного по умолчанию alacritty:

env:
  TERM: xterm-256color

Требует оборудование с поддержкой GLSL 3.30

Можно заставить Alacritty использовать программную отрисовку, если запустить его с переменной окружения LIBGL_ALWAYS_SOFTWARE=1 [1]:

$ LIBGL_ALWAYS_SOFTWARE=1 alacritty

Нет заголовка окна на Wayland GNOME

При использовании Wayland GNOME заголовок окна может быть пустым и содержать странные иконки. Смотрите https://github.com/alacritty/alacritty/issues/4739 для подробностей.

Это можно обойти, если запустить Alacritty через XWayland вместо нативного Wayland, прописав пустую переменную окружения WAYLAND_DISPLAY:

$ WAYLAND_DISPLAY= alacritty

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Файлы в /usr/share не должны редактироваться, они будут перезаписаны при следующем обновлении пакета. (Discuss in Talk:Alacritty (Русский))

Кроме того, возможно заменить две строчки с Exec в /usr/share/applications/Alacritty.desktop на:

Exec=env WAYLAND_DISPLAY= alacritty

Разные размеры шрифтов на нескольких мониторах

По умолчанию, Alacritty пытается масштабировать шрифты до подходящих размеров на каждом мониторе на основании Device pixel ratio. При некоторых конфигурациях с несколькими мониторами, это может приводить к сильно различающимся физическим размерам [2], [3].

Чтобы просмотреть текущее соотношение пикселей на каждом мониторе, выполните alacritty -v, перемещайте по очереди дочернее окно на каждый монитор и обращайте внимание на значение Device pixel ratio, отображающееся в родительском окне.

Задание постоянного соотношения пикселей с помощью переменной окружения WINIT_X11_SCALE_FACTOR может исправить проблему с разными размерами шрифтов:

$ WINIT_X11_SCALE_FACTOR=1.66 alacritty