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 рядків. І це дуже мало. Якщо ви виконуєте команди, що виводять багато тексту і маєте достатньо оперативної пам'яті та потужне залізо, то можна налаштувати значно більший буфер. Наприклад, 20000 рядків:
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? Діліться налаштуваннями та знімками екрана в коментарях!






















