
среда рабочего стола часть 1 LJ
среда рабочего стола часть 1 DW
консольная подборка LJ
консольная подборка DW
раскрыть
xfce4-terminal hotwire tilix terminator sakura lilyterm tabby xonsh alacritty ghostty wezterm
https://github.com/kingToolbox/WindTerm
https://github.com/asbru-cm/asbru-cm
https://github.com/totoshko88/RustConn
VTE терминалы
проблема движка VTE
при копировании дают длиннющие пробелы, вместо коротких строк
Причина, по которой Sakura или Terminator копируют длинные пустые хвосты строк, кроется в самом ядре библиотеки VTE.
Исторически VTE считает «пустоту» справа от текста легитимными символами пробела, если строка физически не была прервана символом перевода строки \n.
К сожалению, разработчики VTE принципиально отказываются менять это поведение по умолчанию, считая его стандартом для эмуляции некоторых старых аппаратных терминалов.
xfce4-terminal
В связке xfce4-terminal и Midnight Commander (mc) комбинация Shift + стрелки для выделения текста не работают «из коробки».
Сам эмулятор xfce4-terminal перехватывает эти сочетания (например, Shift+Вверх/Вниз по умолчанию зарезервированы для построчной прокрутки самого окна терминала).
Отключить перехват клавиш в xfce4-terminal
Откройте окно xfce4-terminal.
В верхнем меню выберите Правка -> Параметры -> Общие
Найдите блок Прокрутка.
Снимите галочку с пункта «Построчная прокрутка клавишами Shift+Вверх/Вниз» (в некоторых версиях: «Scroll single line using Shift-Up/Down keys»).
Или
Правка -> Параметры -> Быстрые клавиши
внизу, где Терминал
очистить "Прокрутить Вверх на одну строку" "Прокрутить Вниз на одну строку"
среда gnome
установить
gsettings set org.gnome.desktop.interface terminal-select-words-by-line false
проверить
gsettings get org.gnome.desktop.interface terminal-select-words-by-line
если нет и ошибка
Схема «org.gnome.Desktop.Interface» отсутствует
установить
sudo apt install gsettings-desktop-schemas
перекомпилировать
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
изменения заносятся в бинарную базу данных конфигурации dconf
~/.config/dconf/user
перенести на другой комп
бекап
dconf dump /org/gnome/desktop/interface/ > my_settings.txt
А на другом компьютере восстановить одной командой:
dconf load /org/gnome/desktop/interface/ < my_settings.txt
vim ~/.config/xfce4/terminal/terminalrc
добавьте (или измените) строку:
vim ~/.config/terminator/config
Alacritty
https://github.com/alacritty/alacritty
https://wiki.archlinux.org/title/Alacritty_(Русский)
простой запуск
tabbed -c -f alacritty --embed
Флаг -f приказывает утилите tabbed: «запомни, что твоя родная команда — это alacritty --embed. Если в системе кто-то попросит создать новую вкладку, вызывай её автоматически»
Флаг -n (name / класс окна) заставляет tabbed постоянно слушать весь ваш графический сервер X11.
-p -1 (позиция -1 в tabbed означает «всегда принудительно открывать в самом конце»):
alacritty.sh
useful tabbed hotkeys:
хоткеи tabbed Ctrl + Shift + Return (Enter) — открыть новую вкладку. Ctrl + Shift + j — сместить текущую вкладку влево. Ctrl + Shift + k — сместить текущую вкладку вправо. Ctrl + Shift + l (или Right) — перейти к следующей вкладке. Ctrl + Shift + h (или Left) — перейти к предыдущей вкладке. Ctrl + q хоткеи tabbed.meta Win + Shift + Return — открыть новую вкладку Alacritty. Win + Shift + j — сместить текущую вкладку влево. Win + Shift + k — сместить текущую вкладку вправо. Win + Shift + l — переключиться на следующую вкладку (вправо). Win + Shift + h — переключиться на предыдущую вкладку (влево). Win + Shift + q — закрыть текущую вкладку.
mkdir -p ~/.config/alacritty/themes
git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
вместо {theme} любое из перечисленного
campbell chicago95 gnome_terminal kitty linux konsole_linux msx terminal_app tango_dark ubuntu xterm zenburn
gotham falcon iris monokai_charcoal omni
cyber_punk_neon dark_pride gruvbox_dark rainbow inferno
Полный конфиг
~/.config/alacritty/alacritty.toml
Все аргументы и шеллы, которые идут после двойного дефиса --, Alacritty воспринимает как команду для исполнения внутри новой вкладки:
alacritty --embed "$real_xid" --working-directory . -- zsh >/dev/null 2>&1 &
Если версия Alacritty ниже 0.13
Если у вас используется старый синтаксис файлов .yaml, то классический флаг запуска процесса пишется как --command (вместо короткого -e)
alacritty --embed "$real_xid" --working-directory . --command zsh >/dev/null 2>&1 &
# Открывать новую вкладку с автоматическим входом на определенный сервер по SSH
toml
command = { program = "alacritty", args = ["--embed", "${XEMBED:-$WINDOWID}", "-e", "ssh", "user@your-server-ip"] }
yml
- { key: T, mods: Control, command: { program: "alacritty", args: ["--embed", "${XEMBED:-$WINDOWID}", "-e", "ssh", "user@your-server-ip"] } }
alacritty old version
alacritty.sh
git clone --branch yaml https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
Полный конфиг
~/.config/alacritty/alacritty.yml
проблемы с иксами
Alacritty сильно потребляет лимиты иксов
узнать лимит
grep -i "max clients" /var/log/Xorg.0.log
проверить занятость иксов
sudo ss -x src "*/tmp/.X11-unix/*" | awk '{print $NF}' | cut -d: -f1 | sort | uniq -c | sort -nr | wc -l
sudo lsof -U | grep -E 'X11-unix' | wc -l
увеличить лимит X-сервера до 1024 клиентов
echo -e 'Section "ServerFlags"\n Option "MaxClients" "1024"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/99-maxclients.conf
завершить зомби и убрать лимиты
pkill -9 alacritty && pkill -9 tabbed
проблемы при ssh сессии
При подключении к удалённой системе из Alacritty, например с помощью SSH, в ней может не быть записи для Alacritty в базе данных terminfo
(/usr/share/terminfo/a/alacritty*)
На локальном устройстве, используя Alacritty:
$ infocmp > alacritty.terminfo # Экспорт информации об Alacritty
$ scp alacritty.terminfo user@remote-host:~/ # Можно использовать любой способ копирования на удалённое устройство
На удалённом устройстве, в папке, куда был скопирован alacritty.terminfo:
$ tic -x alacritty.terminfo # импорт для текущего пользователя
$ rm alacritty.terminfo # теперь файл можно удалить
В качестве альтернативы, можно изменить значение TERM в конфигурации на xterm-256color вместо установленного по умолчанию alacritty:
env: TERM: xterm-256color
ghostty
https://ghostty.org/
https://github.com/ghostty-org/ghostty
https://github.com/pkgforge-dev/ghostty-appimage
https://github.com/mkasberg/ghostty-ubuntu/releases
https://launchpad.net/~mkasberg/+archive/ubuntu/ghostty-ubuntu
установка на debian 13
настройка
$HOME/.config/ghostty/config.ghostty
или
конфиги
https://ghostty.org/docs/config/reference
темы
ghostty +list-themes
kitty
https://github.com/kovidgoyal/kitty
https://sw.kovidgoyal.net/kitty/conf/
https://www.reddit.com/r/KittyTerminal/
https://wiki.archlinux.org/title/Kitty
https://itsfoss.com/kitty-customization/
настройка
vim ~/.bashrc
# смена папки в названии вкладок kitty
[[ "$TERM" == "xterm-kitty" ]] && source /usr/lib/kitty/shell-integration/bash/kitty.bash
Откройте Kitty нажать CTRL+SHIFT+F2 откроется файл конфигурации Kitty в новом окне, либо vim ~/.config/kitty/kitty.conf
grep -v -E '^[[:space:]]*#|^$' ~/.config/kitty/kitty.conf
темы
kitty +kitten themes
kitty +list-fonts
темы хранятся в ~/.cache/kitty/themes/kitty-themes.zip
который скачивается с https://github.com/kovidgoyal/kitty-themes при первом вызове kitten themes
при выборе темы лучше не заменять ~/.config/kitty/kitty.conf а нажать d (dark)
если при старте белый фон, который исправляется ctrl + shift + f5 то
rm ~/.config/kitty/dark-theme.auto.conf ~/.config/kitty/no-preference-theme.auto.conf ~/.config/kitty/current-theme.conf ~/.config/kitty/theme.conf
Box, Cyberpunk, Homebrew
ANSI 1987, Pro, Default, Wez, Campbell
vim ~/.config/kitty/chicago95-theme.conf
Чтобы отображение (цвета, шрифты, сочетания клавиш) работало корректно при подключении по SSH с терминала kitty, на удаленном сервере должен быть установлен файл конфигурации терминала (terminfo для xterm-kitty)
sudo apt install kitty-terminfo
если невозможна установка, то
kitty +kitten ssh пользователь@хост
или добавить в ~/.config/kitty/kitty.conf
term xterm-256color
хоткеи
Управление окнами (Внутренние панели / Сплиты)
Ctrl + Shift + Enter — Открыть новое окно (разделить экран).
Ctrl + Shift + W — Закрыть текущее окно.
Ctrl + Shift + [ — Переключиться на предыдущее окно.
Ctrl + Shift + ] — Переключиться на следующее окно.
Ctrl + Shift + R — Начать изменение размера активного окна.
Управление вкладками (Tabs)
Ctrl + Shift + T — Создать новую вкладку.
Ctrl + Shift + Q — Закрыть текущую вкладку.
Ctrl + Shift + Left — Перейти на левую вкладку.
Ctrl + Shift + Right — Перейти на правую вкладку.
Ctrl + Shift + Alt + T — Переименовать текущую вкладку.
Прокрутка и буфер (Scrollback)
Ctrl + Shift + Up — Прокрутить вверх на одну строку.
Ctrl + Shift + Down — Прокрутить вниз на одну строку.
Ctrl + Shift + PageUp — Прокрутить вверх на страницу.
Ctrl + Shift + PageDown — Прокрутить вниз на страницу.
Ctrl + Shift + H — Открыть весь буфер вывода в текстовом редакторе (например, в vim).
Работа с текстом и экраном
Ctrl + Shift + C — Скопировать выделенный текст в буфер.
Ctrl + Shift + V — Вставить текст из буфера.
Ctrl + Shift + Backspace — Сбросить терминал (очистить экран).
Ctrl + Shift + Equal (=) — Увеличить размер шрифта.
Ctrl + Shift + Minus (-) — Уменьшить размер шрифта.
Перезагрузка конфигурации
Ctrl + Shift + F5 — Применить изменения из kitty.conf без перезапуска терминала.
сдвинуть вкладки
Ctrl+Shift+,
Ctrl+Shift+.
Левый клик: переключение на выбранную вкладку.
Клик колесиком (middle click): закрыть вкладку.
wezterm
https://wezterm.org/
установка
темы
https://wezterm.org/colorschemes/t/index.html
темы берёт из
https://github.com/mbadolato/iterm2-color-schemes
дополнительно
https://github.com/michaelbrusegard/awesome-wezterm
установка тем
создание конфига
вставить
В WezTerm встроен мощный экран отладки.
Откройте WezTerm.Нажмите комбинацию клавиш Ctrl + Shift + L.
Перед вами откроется консоль отладки (Debug Overlay).
Наберите там (или скопируйте) команду и нажмите Enter
wezterm.config_file
разное
по сочетаниям клавиш
Отключаем ВСЕ стандартные комбинации WezTerm (включая Alt+Enter)
config.disable_default_key_bindings = true
если вы хотите вернуть копирование/вставку, раскомментируйте строки ниже:
-- { key = 'C', mods = 'CTRL|SHIFT', action = wezterm.action.CopyTo 'Clipboard' },
-- { key = 'V', mods = 'CTRL|SHIFT', action = wezterm.action.PasteFrom 'Clipboard' },
консольная подборка
консоль python в роли командной строки
разница между DE и WM, а также работа в голых иксах