Alacritty (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Alacritty
. Дата последней синхронизации: 23 июня 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Alacritty
— простой, аппаратно-ускоренный эмулятор терминала, написанный на
Rust
. Он поддерживает прокрутку, 24-битные цвета (
TrueColor
), копирование/вставку текста, переход по гиперссылкам и пользовательские сочетания клавиш.
Установка
Установите пакет
alacritty
или версию для разработчиков —
alacritty-git
AUR
.
Настройка
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
.
Разные размеры шрифтов на нескольких мониторах
По умолчанию, Alacritty пытается масштабировать шрифты до подходящих размеров на каждом мониторе на основании
Device pixel ratio
. При некоторых конфигурациях с несколькими мониторами, это может приводить к сильно различающимся физическим размерам
[2]
,
[3]
.
Чтобы просмотреть текущее соотношение пикселей на каждом мониторе, выполните
alacritty -v
, перемещайте по очереди дочернее окно на каждый монитор и обращайте внимание на значение
Device pixel ratio
, отображающееся в родительском окне.
Задание постоянного соотношения пикселей с помощью переменной окружения
WINIT_X11_SCALE_FACTOR
может исправить проблему с разными размерами шрифтов:
$ WINIT_X11_SCALE_FACTOR=1.66 alacritty