Kitty - современный кроссплатформенный эмулятор терминала с открытым исходным кодом, поддерживающий ускорение с помощью GPU, отображение изображений, размытый фон, вертикальные вкладки и множество других функций, характерных для современных эмуляторов терминала. Всё настраивается с помощью одного конфигурационного файла, при этом параметров очень много и настроить можно практически всё.
Использование аппаратного ускорения делает терминал значительно быстрее при открытии больших файлов или прокрутке большого объёма текста. Кроме того, вместе с терминалом поставляется набор утилит kittens для более удобной настройки. В этой статье мы рассмотрим, как установить и настроить Kitty для более комфортного использования.
Содержание статьи
- Как установить Kitty?
- Первый запуск Kitty
- Полезные сочетания клавиш
- Настройка эмулятора терминала Kitty
- Выводы
Как установить Kitty?
Этот эмулятор терминала довольно популярен и доступен в официальных репозиториях большинства дистрибутивов. Чтобы установить его в Ubuntu, выполните следующую команду:
sudo apt install kitty
Чтобы установить Kitty в Fedora, выполните следующую команду:
sudo dnf install kitty
После установки программы следует проверить её версию, поскольку некоторые функции доступны только в новых версиях. Например, вертикальные вкладки доступны начиная с версии 0.48.2:
kitty --version
Первый запуск Kitty
После установки можно запустить этот эмулятор терминала из главного меню или выполнив следующую команду:
kitty
При первом запуске терминал будет выглядеть довольно примитивно. Здесь он больше похож на Xterm, чем на что-то современное, но сейчас мы очень быстро это исправим.
Все настройки программы находятся в каталоге ~/.config/kitty. Здесь есть один главный конфигурационный файл kitty.conf, в который подключаются все остальные с помощью инструкции include. По умолчанию он может отсутствовать, но вы можете создать его, попробовав выбрать тему. Для этого позже воспользуемся утилитой из набора kitten.
Утилиты kitten полноценно работают только в терминале Kitty, имеют полный доступ к терминалу и используются не только для настройки, но и для выполнения дополнительных действий или обхода проблем. Вот основные утилиты, которые можно использовать:
- themes - выбор темы оформления терминала
- choose-fonts - выбор шрифтов
- icat - отображает изображения в терминале
- dnd - позволяет выполнять операции перетаскивания, даже по SSH
- ssh - передаёт все необходимые данные для корректной работы SSH в Kitty
- clipboard - копирование и вставка из буфера обмена
- @ - удалённое управление терминалом
Есть и другие утилиты, но это основные, и некоторые из них мы будем использовать в этой статье.
Полезные сочетания клавиш
В большинстве случаев Kitty очень удобно управлять с помощью сочетаний клавиш. Особенно учитывая, что контекстного меню здесь нет. Вот основные из них:
- Ctrl+Shift+T - открыть новую вкладку
- Ctrl+Shift+Q - закрыть текущую вкладку
- Ctrl+Shift+вправо - перейти на вкладку справа
- Ctrl+Shift+влево - перейти на вкладку слева
- Ctrl+Shift+Alt+T - задать название вкладки
- Ctrl+Shift+C - скопировать выделенный текст в буфер обмена
- Ctrl+Shift+V - вставить текст из буфера обмена
- Ctrl+Shift+S - вставить текст из выделения
- Ctrl+Shift+= - увеличить размер шрифта
- Ctrl+Shift+- - уменьшить размер шрифта
- Ctrl+Shift+Delete - перезагрузить терминал
- Ctrl+Shift+F5 - перезагрузить конфигурацию kitty.conf
Настройка эмулятора терминала Kitty
Шаг 1. Эмулятор терминала по умолчанию
Чтобы Kitty использовался в качестве эмулятора терминала по умолчанию в Ubuntu, выполните следующую команду:
sudo update-alternatives --config x-terminal-emulator
После этого выберите цифру, соответствующую терминалу Kitty в списке. Далее система будет автоматически запускать Kitty при нажатии Ctrl+Alt+T.
Шаг 2. Выбор темы
Чтобы изменить тему оформления, выполните в kitty следующую команду:
kitten themes
Выберите тему из списка с помощью стрелок вверх/вниз и нажмите Enter:
После этого нужно выбрать способ изменения темы. Нажмите M, чтобы изменить kitty.conf и сразу применить тему. Программа создаст файл темы current-theme.conf и подключит его в начале kitty.conf:
Далее утилита автоматически перезагрузит конфигурацию Kitty, и терминал будет выглядеть иначе, а в каталоге ~/.config/kitty появятся конфигурационные файлы current-theme.conf и kitty.conf:
Шаг 3. Цветное приглашение ввода
По умолчанию Kitty устанавливает переменной TERM значение xterm-kitty для своих возможностей. В то же время в Bash цвета добавляются только если эта переменная содержит xterm-color или 256-color. Чтобы приглашения для ввода команд отображались в цвете, необходимо изменить следующие строки в ~/.bashrc, добавив после 256-color ещё xterm-kitty:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color|xterm-kitty) color_prompt=yes;;
esac
После этого терминал будет выглядеть так:
Шаг 4. Вертикальные вкладки
Kitty - один из немногих эмуляторов терминала, поддерживающих вертикальные вкладки. Чтобы включить вертикальные вкладки, необходимо найти в kitty.conf параметр tab_bar_edge и указать значение left:
tab_bar_edge left
Теперь можно перезагрузить конфигурацию, открыть несколько вкладок с помощью сочетания клавиш Ctrl+Shift+T и посмотреть, как всё выглядит:
По умолчанию вертикальная панель вкладок выглядит очень просто. Но мы можем это исправить с помощью стилей. Для этого откройте kitty.conf и настройте там следующие параметры:
vi ~/.config/kitty/kitty.conf
tab_bar_margin_width 5.0
tab_bar_show_new_tab_button yes
tab_bar_style powerline
tab_bar_min_tabs 1
tab_powerline_style slanted
tab_bar_background #303030
tab_bar_margin_color #303030
active_tab_foreground #fff
active_tab_background #242424
inactive_tab_foreground #b0afac
inactive_tab_background #474747
Здесь мы делаем фон вкладки серым, полностью отключаем цвет границы вкладки, меняем стиль вкладки на срезанную стрелку и добавляем кнопку для открытия новой вкладки. Вот описание параметров:
- tab_bar_margin_width - отступ от верхней части окна до первой вкладки.
- tab_bar_background - фон панели вкладок.
- tab_bar_margin_color - фон рамки панели вкладок.
- active_tab_foreground - цвет шрифта активной вкладки.
- active_tab_background - фон активной вкладки.
- inactive_tab_foreground - цвет шрифта неактивной вкладки.
- inactive_tab_background - фон неактивной вкладки.
- tab_bar_style - стиль вкладок. Если указать значение powerline, вкладка будет отображаться в виде стрелки.
- tab_powerline_style - стиль стрелки вкладки, если выбран powerline. При значении slanted стрелка будет срезанной.
- tab_bar_min_tabs - минимальное количество вкладок.
- tab_bar_show_new_tab_button - добавляет отображение кнопки новой вкладки.
После всех настроек эмулятор терминала будет выглядеть вот так:
Если вам нужно немного уменьшить ширину панели вкладок, то в версии 0.48 есть проблема: возле заголовка вкладки будут отображаться лишние символы. Эта проблема исправлена в версии 0.50, а пока можно использовать следующие параметры:
tab_title_max_length 15
tab_title_template "{title:.{max_title_length}}"
Здесь tab_title_max_length ограничивает количество символов в названии вкладки и, соответственно, ширину всей панели вкладок. В данном случае 15 - это количество символов заголовка вкладки плюс символы оформления. А с помощью tab_title_template мы обрезаем лишние символы:
Также с помощью tab_title_template можно вывести номер вкладки - для этого добавьте туда переменную {index}:
tab_title_template "{index} {title:.{max_title_length}}"
Шаг 5. Отступы
По умолчанию область ввода команд прилегает к верхней части окна, заголовку и панели вкладок. Мы можем добавить отступ, чтобы вывод команд располагался немного дальше. Для этого измените значение параметра window_padding_width. Он принимает четыре параметра: отступ сверху, справа, снизу и слева. Например, чтобы установить отступ сверху и слева в 10 пикселей, используйте следующие настройки:
window_padding_width 10 0 10 0
Теперь это будет выглядеть так:
Шаг 6. Шрифты
По умолчанию в Kitty используется шрифт Monospace. Но это можно изменить. Например, используем шрифт Hack. Сначала его нужно установить. Для этого выполните следующую команду:
sudo apt install hack-fonts
Затем найдите раздел Fonts в kitty.conf. Здесь с помощью различных параметров можно задать разные настройки для обычного, жирного и курсивного шрифтов. Чтобы указать глобальный шрифт, используйте параметр font-family. Например:
font_family Hack Regular
bold_font auto
italic_font auto
bold_italic_font auto
Для изменения размера шрифта используется параметр font-size. Например, можно установить размер 12.5:
font_size 12.5
Результат:
Проверить, какие шрифты фактически используются в Kitty после внесения всех настроек, можно с помощью следующей команды:
kitty --debug-font-fallback
Шаг 7. Прокрутка и история вывода
Kitty также позволяет настроить размер истории команд. По умолчанию сохраняется лишь 2000 строк. И этого очень мало. Если вы выполняете команды, выводящие много текста, и у вас достаточно оперативной памяти и мощное железо, можно настроить значительно больший буфер. Например, 20 000 строк:
scrollback_lines 20000
Теперь у вас будет больше истории вывода команд.
Шаг 8. Вкладки по умолчанию
Kitty можно настроить так, чтобы при запуске программы открывались заданные вкладки с определёнными именами и рабочими каталогами. Более того, при запуске терминала в этих вкладках можно запускать нужные программы. Для этого можно использовать файлы сессий. В них можно указать команды, которые будут выполнены сразу после запуска Kitty. Вот те, которые мы будем использовать:
- launch - выполнить команду
- title - установить заголовок вкладки
- focus - сделать текущую вкладку активной
- new_tab - открыть новую вкладку
Например, если нужно, чтобы при запуске Kitty было открыто 6 вкладок, создаём файл сеанса ~/.config/kitty/kitty-start со следующим содержимым:
vi ~/.config/kitty/kitty-start
new_tab Home
launch --cwd=/home/serhii
focus
new_tab Projects
launch --cwd=/home/serhii/Projects
new_tab Downloads
launch --cwd=/home/serhii/Downloads
new_tab Rust
launch --cwd=/home/serhii/Rust
Теперь можно запустить эмулятор терминала с этим файлом сеанса:
kitty --session ~/.config/kitty/kitty-start
В более новых версиях уже должна быть возможность сохранять предыдущую сессию, чтобы после перезагрузки компьютера эмулятор терминала восстанавливал всё, что выводили команды до перезагрузки.
Шаг 9. Размытие фона
Если вы используете GNOME 51 или другое графическое окружение с Wayland, поддерживающее протокол ext-background-effect-v1, вы можете настроить размытый фон для окна терминала. Сначала необходимо включить прозрачность фона с помощью параметра background_opacity. Этот параметр может принимать значения от 0 до 1. Например: 0.8:
background_opacity: 0.9
А затем настроить размытие с помощью параметра background_blur. Здесь допустимы значения от 0 до 64:
background_blur: 20
Вот результат:
Проверить, поддерживает ли ваша среда рабочего стола протокол ext-background-effect-v1 для Wayland, можно с помощью следующей команды:
wayland-info | grep ext_background_effect
Шаг 10. Анимация перемещения курсора
В Kitty есть возможность настроить анимацию следа курсора. Когда курсор будет быстро перемещаться с одного места в другое, будет отображаться анимация движения. Для этого найдите параметр cursor_trail и установите для него значение больше нуля:
cursor_trail 1
После этого курсор будет вести себя следующим образом:
Шаг 11. Настройка SSH
Kitty не очень хорошо работает с SSH, потому что терминал устанавливает своё значение для переменной XTERM, в то время как удалённый сервер обычно ничего не знает о Kitty и его параметрах. Поэтому некоторые программы могут выдавать ошибки и предупреждения. Например, vim покажет следующую ошибку:
Чтобы избежать этого, вместо команды ssh следует использовать kitten ssh. Для удобства можно создать alias в ~/.bashrc:
vi ~/.bashrc
alias ssh="kitten ssh"
После этого всё будет работать. Если вы не хотите использовать kitten, можно подменить значение переменной XTERM для SSH-соединения:
[[ "$TERM" == "xterm-kitty" ]] && alias ssh="TERM=xterm-256color ssh"
Шаг 12. Расширение для Nautilus
Также довольно удобно иметь возможность открывать эмулятор терминала в определённом каталоге из файлового менеджера. Рассмотрим, как настроить это для файлового менеджера Nautilus в GNOME. Для этого можно воспользоваться расширением nautilus-open-any-terminal. В Ubuntu для его установки необходимо скачать пакет с официальной страницы GitHub:
sudo apt install ~/Downloads/nautilus-extension-any-terminal_0.8.3-1_all.deb
В Fedora можно использовать репозиторий COPR:
sudo dnf copr enable monkeygold/nautilus-open-any-terminal
sudo dnf install nautilus-open-any-terminal
После установки необходимо выбрать эмулятор терминала, который будет запускать расширение:
gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal kitty
И теперь можно проверить, как это будет работать в Nautilus:
Выводы
В этой статье было рассмотрено, как установить и настроить эмулятор терминала Kitty. Как видите, это современный эмулятор терминала, который имеет множество функций, делающих использование командной строки более удобным. Какие настройки вы используете для Kitty? Делитесь настройками и снимками экрана в комментариях!






















