Термінал
DR-Terminal постачається з власним емулятором VT100/xterm, написаним з нуля на Kotlin — без WebView. Він підтримує xterm-256color, альтернативний буфер (vim/less/nano), буфер обміну OSC 52, події фокуса та відстеження миші (mc, htop).
Клавіатура та гарячі клавіші
| Гаряча клавіша | Дія |
|---|---|
| Ctrl+C — коли виділено текст | Копіювати виділення в буфер обміну. Без виділення звичайний SIGINT досягає віддаленого процесу. |
| Enter — коли виділено текст | Альтернативне сполучення для копіювання (зручно на клавіатурах без Ctrl). |
| Правий клік / меню Copy | Контекстне меню після виділення — доступне завжди. |
| Ctrl+V | Вставити. Багаторядковий вміст буфера відкриває діалог підтвердження багаторядкової вставки. |
| Shift+Insert | Вставити — класична м'язова пам'ять X11/Windows. Звичайний Insert усе одно доходить до оболонки. |
| Shift+Delete | Скопіювати виділення та очистити його (у стилі вирізання). |
| Ctrl+F | Відкрити панель пошуку (див. Пошук у виводі). Оболонка ніколи не бачить це натискання. |
| Ctrl+Shift+S | Відкрити вибір сніпетів (див. Сніпети). Звичайний Ctrl+S усе одно доходить до оболонки. |
| Панель скорочень | esc, ctrl, tab, стрілки, поширені shell-символи, клавіша snip та перемикач ⌨ — корисно на мобільних. Функціональні та навігаційні клавіші розташовані на шарі fn клавіатури DevOps і в необов'язковому ряду F-клавіш. |
| Розмір шрифту | Регулятор A- / A+ у меню термінала; діапазон 8–32 pt. |
На macOS Cmd працює скрізь, де вище зазначено Ctrl: Cmd+C, Cmd+V, Cmd+F та Cmd+Shift+S поводяться як їхні відповідники з Ctrl.
Клавіатура DevOps (Android та iOS)
Системні клавіатури заважають працювати в терміналі: автовиправлення калічить sudo -rf, shell-символи сховані на два шари глибше, а нелатинські розкладки часто взагалі не мають ASCII. DR-Terminal має власну завжди-ASCII клавіатуру DevOps: її малює застосунок, а клавіші йдуть прямо в термінал — системний IME їх узагалі не бачить.
- Портрет — класична панель унизу екрана.
- Ландшафт — режим split: два кластери під великі пальці біля лівого та правого країв, намальовані як напівпрозоре скло поверх термінала, тож сесія лишається видимою на всю ширину.
Шари: малі літери, великі (Shift), цифри, shell-символи (| ~ $ & ' " \ …`) та шар fn/nav (F1–F12, стрілки, Home/End, PgUp/PgDn). Ctrl/Alt/Shift «липкі»: один дотик зводить їх на наступну клавішу, подвійний — фіксує. Утримуйте ⌫, стрілки або пробіл для автоповтору; довге натискання на клавішах з позначкою в куті дає альтернативний символ.
- Грабер (пігулка) зверху перемикає FULL ↔ MINI — MINI лишає тільки необхідне (Esc, Tab, Ctrl, стрілки, ⌫, ↵) для сесій з htop/логами. Ландшафт пам'ятає власний стан і стартує в MINI.
- Перетягніть грабер, щоб посунути кластер; він примагнічується до найближчого краю. Відпустіть один кластер на іншому, щоб злити їх в одну плавучу клавіатуру; пігулка розділення знову їх розводить.
- Свайп донизу по клавішах ховає клавіатуру; плавуча кнопка ⌨ повертає її. Клавіша ⌨ перемикає на системну клавіатуру, коли потрібні діакритики чи емодзі.
Налаштування → Клавіатура (мобільні): Типова клавіатура — Auto обирає клавіатуру DevOps, якщо системна локаль нелатинська (арабська, іврит, CJK…), інакше системний IME; Розкладка — Auto/QWERTY/QWERTZ/AZERTY; повзунки Непрозорість і Розмір клавіш; Показувати F-клавіші — завжди видимий ряд F1–F10 над клавіатурою, зручний для сценаріїв із mc/htop. Усі налаштування клавіатури переносяться в зашифрованій резервній копії конфігурації, експортованій з телефона або планшета.
Виділити, копіювати, вставити
Desktop: перетягуйте мишею для виділення. Подвійний клік виділяє слово, потрійний — рядок. Відпускання копіює через сполучення вище; правий клік відкриває меню.
Android та iOS: довге натискання будь-де в терміналі починає виділення, далі перетягуйте, щоб розширити, і відпустіть для копіювання — текст потрапляє в системний буфер обміну. Коротке торкання все одно проходить до оболонки; свайп так само прокручує історію, тож звичні жести продовжують працювати.
- Іконка вставки у верхній панелі термінала — одне торкання вставляє буфер обміну в позиції курсора. Якщо в буфері нічого немає, з'являється нейтральний снекбар Nothing to paste.
- Виділити текст у меню термінала — прапорець, який тримає режим виділення ввімкненим, доки ви його не вимкнете, тож кожне перетягування виділяє, а не прокручує чи проходить до оболонки.
- Довге натискання на рядку запрошення (рядок, де знаходиться курсор, і лише коли ви не прокрутили в історію) вставляє замість початку виділення — природно, коли ви просто хочете покласти буфер обміну туди, де набираєте.
OSC 52 дає змогу віддаленим програмам (tmux, vim, fzf) копіювати у ваш системний буфер обміну через escape-послідовність — двостороннє.
Багаторядкова вставка: коли ваш буфер обміну містить переноси рядків, ви бачите діалог попереднього перегляду багаторядкової вставки — захист від вставлення команд, яких ви не перевірили.
Прокрутка та історія
Буфер прокрутки вміщує до 1000 рядків. Колесо або перетягування пальцем прокручує; курсор коректно залишає область перегляду (поведінка xterm), і будь-яке виділення прокручується разом із текстом.
Дія Очистити історію розташована на вкладці History бічної панелі й стирає збережену історію команд для цього з'єднання — вона не чіпає буфер прокрутки на екрані.
Смуга прокрутки з'являється біля правого краю термінала (Desktop) — захопіть її мишею, щоб прокручувати історію; на Android та iOS прокрутка виконується дотиком. Швидкість прокрутки колесом налаштовується в Settings → Terminal (рядків на один клік колеса).
Альтернативний буфер (повноекранні застосунки)
Програми на кшталт vim, less, nano, htop, mc перемикаються в альтернативний буфер — окремий екран, який зникає під час виходу, не засмічуючи основну прокрутку.
Пошук у виводі
Натисніть Ctrl+F (Cmd+F на macOS), щоб відкрити панель пошуку. Вона шукає в буфері прокрутки наживо, підсвічуючи кожен збіг і переходячи між ними. Підсвічування — це накладання під час рендерингу, воно ніколи нічого не вставляє в потік SSH.
Шрифт, тема, підсвічування
- Розмір шрифту — регулятор A-/A+ у меню термінала або повзунок у Settings → Appearance; діапазон 8–32 pt. Шрифт Custom на вкладці Theme бічної панелі додатково дозволяє 6–72 pt для окремого псевдоніма.
- Тема інтерфейсу — світла / темна / системна (увесь застосунок, не термінал).
- Тема термінала — див. розділ Тема нижче; тема задається для кожного псевдоніма.
- Правила підсвічування — Settings → Terminal → Output highlighting. Додайте regex + колір, наприклад, фарбуйте
ERRORчервоним.
Сніпети
Сніпети — це багаторазові шаблони команд, які можна запустити в будь-якій сесії. Шаблон може містити типізовані заповнювачі — ping -c {count:int=4} {host:ip} — і запуск такого сніпета відкриває невеликий діалог із запитом значень (заповнювачі int, ip, bool та enum отримують відповідні поля введення та перевірку). Сніпет без заповнювачів виконується одразу. Виконати одразу (надіслати Enter) вирішує, чи Enter буде надіслано за вас, чи команда просто потрапить у запрошення для редагування.
Способи запуску:
- Ctrl+Shift+S (Cmd+Shift+S на macOS) — вибір із пошуком під час введення; Enter виконує перший збіг.
- Сніпети в меню термінала — той самий вибір без клавіатури.
- Вкладка Snippets на бічній панелі термінала — нещодавно використані спочатку, один клік для запуску, плюс перехід до редактора.
- Закріплена клавіша snip на мобільній панелі скорочень і на клавіатурі DevOps, пристикований режим якої також пропонує шар плиток зі сніпетами — зручну для дотику сітку з нещодавніми сніпетами на видноті.
Кожен сніпет має область видимості: видимий для Усіх хостів, однієї Групи або окремого Хоста. Необов'язковий фільтр Системи (Debian, RHEL, Arch, macOS…) звужує її ще більше, тож сніпети apt з'являються лише на хостах, визначених як сімейство Debian — визначення надходить із перевірки під час входу (див. Огляд хоста нижче). Показувати лише за наявності додатково ховає сніпет, коли його команда точно відсутня на хості. Сесії без SSH-хоста (локальні, serial, Telnet) бачать лише глобальні сніпети.
Керуйте сніпетами в Settings → Terminal → Сніпети: додавайте, редагуйте, дублюйте та видаляйте, задавайте область видимості, системи й прапорець негайного виконання. Понад сотня готових сніпетів — для кожної системи (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) плюс набори Docker, мережі, сховища та інструментів — додається під час першого запуску; редагуйте чи видаляйте їх, як власні.
Історія команд та автодоповнення
Кожне збережене з'єднання пам'ятає свою історію команд (якщо ввімкнено Save history). Стрілка вгору повертає попередні команди, а поле автодоповнення підказує назви команд, доступних на сервері — живе доповнення оболонки, відмінне від історії того, що ви набирали.
Огляд хоста (живі показники)
Після входу в SSH-сесію застосунок непомітно перевіряє хост — назву ОС, модель процесора та кількість ядер — і починає опитувати живі показники: середнє навантаження, пам'ять, swap та використання диска для кожної точки монтування — кожен показник має власну смужку, яка стає бурштиновою вище 75% і червоною вище 90%.
- Вкладка Host бічної панелі термінала (крайня ліва вкладка й типова для SSH-сесій) показує все з першого погляду.
- Ті самі рядки з'являються в діалозі Інформація про з'єднання.
- Settings → Terminal → Моніторинг ресурсів (CPU/RAM/диск) вмикає чи вимикає опитування глобально та задає інтервал оновлення (5–300 с). Форма з'єднання може перевизначити інтервал для окремого хоста, а її випадне меню Перевірка системи під час входу обирає, як часто виконується повна перевірка: кожне з'єднання, раз на день, раз на тиждень або вимкнено.
Вкладки сесій
Кожна сесія — SSH, SFTP, локальна, serial, Telnet — живе у вкладці. Довге натискання (мобільні) або правий клік (desktop) на вкладці чи на картці у списку активних сесій відкриває її меню: Перейменувати, Інформація про з'єднання, Перезапустити сесію та Закрити вкладку. Перезапустити сесію розриває з'єднання й підключається наново, зберігаючи вкладку — зручно після перезавантаження сервера. Коли віддалена сесія обривається, у меню термінала також з'являється пункт Перепідключитися, який відновлює з'єднання на місці (локальні термінали його не пропонують — просто відкрийте новий).
Бічна панель (права панель) — Host / History / Complete / Snippets / Theme
Праворуч від термінала (Desktop / планшет) розташована згортувана панель із п'ятьма вкладками. Відкрийте її стрілкою біля правого краю; змініть розмір, перетягуючи лівий край. Стан задається для кожного псевдоніма — кожне збережене з'єднання пам'ятає свою вкладку та ширину.
- Host — типова вкладка для SSH-сесій: визначена система, процесор та живі показники. Див. Огляд хоста вище.
- History — нещодавно набрані команди. Клік набирає команду в терміналі; перемикач поруч вирішує, чи надсилати автоматично з Enter. Тут же є дія Очистити історію.
- Complete — живі підказки назв команд із доповнення оболонки на боці сервера. Можна вимкнути для окремого псевдоніма (іконка дзвіночка).
- Snippets — ваші сніпети для цього хоста, нещодавно використані спочатку. Див. Сніпети вище.
- Theme — вигляд термінала. Див. розділ нижче.
Тема — теми термінала (435 схем)
Тема задається для кожного псевдоніма — кожне з'єднання має власні фон, колір тексту та 16-кольорову палітру ANSI (ті самі індекси, що використовує ls --color: стандартні 0–7 + яскраві 8–15).
- Вбудований каталог із 435 тем — поле Search… фільтрує за назвою. Кожен рядок показує фон, колір тексту та смужку з 16 зразків. Клік застосовує тему миттєво.
- Custom (this alias) — на desktop бічна панель також пропонує ручне редагування шрифту, фону, кольору тексту та 16 слотів ANSI. Кожен слот має власне скидання (⟲); уся палітра має окреме скидання.
- Сині каталоги в
ls --color— це ANSI 4 (BLUE) або 12 (BRIGHT_BLUE) — щоб змінити їх, виберіть іншу тему або відредагуйте ці два зразки.
Android та iOS: уся бічна панель desktop замінена єдиною іконкою палітри у верхній панелі термінала. Торкніться її, щоб відкрити нижню панель із тим самим каталогом із 435 тем, з пошуком та живими попередніми переглядами зразків. Торкання рядка застосовує тему й закриває панель, тож ви одразу бачите результат; кнопка Reset угорі скидає будь-які перевизначення, і псевдонім повертається до своїх типових значень.
435 вбудованих тем походять із відкритої колекції edcet/terminal-themes (MIT).