Терминал
DR-Terminal предлага собствен VT100/xterm емулатор, написан от нулата на Kotlin — без WebView. Той поддържа xterm-256color, alt буфера (vim/less/nano), OSC 52 клипборд, събития за фокус и проследяване на мишката (mc, htop).
Клавиатура и преки пътища
| Пряк път | Действие |
|---|---|
| Ctrl+C — когато е избран текст | Копира селекцията в клипборда. Без селекция нормалният SIGINT достига отдалечения процес. |
| Enter — когато е избран текст | Алтернативен пряк път за копиране (удобно на клавиатури без Ctrl). |
| Десен бутон / меню Copy | Контекстно меню след селекция — винаги налично. |
| Ctrl+V | Поставяне. Многоредово съдържание на клипборда отваря диалог за потвърждаване на многоредово поставяне. |
| Shift+Insert | Поставяне — класическа мускулна памет от X11/Windows. Обикновеният Insert все още достига shell-а. |
| Shift+Delete | Копира селекцията и я изчиства (в стил изрязване). |
| Ctrl+F | Отваря лентата за търсене (вижте Намиране в изхода). Shell-ът никога не вижда натискането. |
| Ctrl+Shift+S | Отваря избора на снипети (вижте Снипети). Обикновеният Ctrl+S все още достига shell-а. |
| Лента с преки пътища | 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: дълго натискане навсякъде в терминала започва селекция, после влачете, за да я разширите, и отпуснете, за да копирате — текстът попада в системния клипборд. Кратко докосване все още преминава към shell-а; плъзване все още превърта историята, така че обичайните жестове продължават да работят.
- Иконата за поставяне в горната лента на терминала — едно докосване поставя клипборда при курсора. Нищо в клипборда показва неутрален snackbar Nothing to paste.
- Избери текст в менюто на терминала — отметка, която държи режима на селекция включен, докато не го изключите, така че всяко влачене избира вместо да превърта или да преминава към shell-а.
- Дълго натискане върху реда с подкана (редът, на който е курсорът, и само когато не сте превъртели в историята) поставя вместо да започне селекция — естествено, когато просто искате да пуснете клипборда там, където пишете.
OSC 52 позволява на отдалечени програми (tmux, vim, fzf) да копират във вашия системен клипборд чрез escape последователност — двупосочно.
Многоредово поставяне: когато вашият клипборд съдържа нови редове, виждате диалог за преглед на многоредовото поставяне — защитава срещу поставяне на команди, които не сте проверили.
Scrollback и история
Буферът за scrollback съхранява до 1000 реда. Колелцето или плъзгане с докосване превърта; курсорът коректно напуска видимата област (поведение на xterm) и всяка селекция превърта заедно с текста.
Изчисти историята се намира в раздела История на страничната лента и изтрива запазената история на командите за тази връзка — не докосва scrollback на екрана.
Лента за превъртане се появява в десния край на терминала (Desktop) — хванете я с мишката, за да превъртите историята; Android и iOS превъртат с докосване. Скоростта на превъртане с колелцето може да се настрои в Settings → Terminal (редове на едно завъртане на колелцето).
Alt буфер (приложения на цял екран)
Програми като vim, less, nano, htop, mc превключват в alt буфера — отделен екран, който изчезва при изход, без да замърсява основния scrollback.
Намиране в изхода
Натиснете Ctrl+F (Cmd+F на macOS), за да отворите лентата за търсене. Тя търси в scrollback на живо, осветявайки всяко съвпадение и придвижвайки се между тях. Осветяването е наслагване по време на рендиране — то никога не инжектира нищо в SSH потока.
Шрифт, тема, осветяване
- Размер на шрифта — стъпковият регулатор A-/A+ в менюто на терминала или плъзгачът в Settings → Appearance; диапазон 8–32 pt. Шрифтът Custom в раздела Theme на страничната лента допълнително позволява 6–72 pt за всеки псевдоним.
- UI тема — светла / тъмна / системна (цялото приложение, не терминала).
- Тема на терминала — вижте раздела Тема по-долу; темата е за всеки псевдоним.
- Правила за осветяване — Settings → Terminal → Output highlighting. Добавете regex + цвят, напр. оцветете
ERRORв червено.
Снипети
Снипетите са шаблони за команди за многократна употреба, които можете да изпратите в която и да е сесия. Шаблонът може да вгражда типизирани плейсхолдери — ping -c {count:int=4} {host:ip} — и изпълнението на такъв снипет отваря малък диалог, който пита за стойностите (плейсхолдерите int, ip, bool и enum получават съответните полета и валидация). Снипет без плейсхолдери се изпълнява веднага. Изпълни веднага решава дали Enter се изпраща вместо вас, или командата просто попада при подканата за редактиране.
Начини да изпълните снипет:
- Ctrl+Shift+S (Cmd+Shift+S на macOS) — избор с търсене при писане; Enter изпълнява първото съвпадение.
- Снипети в менюто на терминала — същият избор без клавиатура.
- Разделът Снипети в страничната лента на терминала — първо наскоро използваните, едно кликване за изпълнение, плюс пряк път към редактора.
- Закаченият клавиш snip на мобилната лента с преки пътища и на клавиатурата DevOps, чийто докиран режим предлага и слой с плочки за снипети — удобна за докосване мрежа с вашите скорошни снипети най-отгоре.
Всеки снипет има обхват: видим за Всички хостове, една Група или единичен Хост. Незадължителен филтър Системи (Debian, RHEL, Arch, macOS…) го стеснява допълнително, така че apt снипетите се показват само на хостове, разпознати като Debian-семейство — разпознаването идва от проверката при вход (вижте Информация за хоста по-долу). Показвай само ако е налично допълнително скрива снипет, когато е потвърдено, че командата му липсва на хоста. Сесиите без SSH хост (локални, серийни, Telnet) виждат само глобалните снипети.
Управлявайте снипетите в Settings → Terminal → Snippets: добавяне, редактиране, дублиране и изтриване, задаване на обхват, системи и флага за незабавно изпълнение. Вграден каталог с над сто готови снипета — по системи (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) плюс набори за Docker, мрежа, съхранение и инструменти — се зарежда при първото стартиране; редактирайте ги или ги изтривайте като своите собствени.
История на команди и автодовършване
Всяка запазена връзка помни своята история на команди (ако Save history е включено). Стрелка нагоре извиква по-ранни команди, а полето за автодовършване предлага имена на команди, налични на сървъра — живо shell довършване, различно от историята на това, което сте написали.
Информация за хоста (живи показатели)
След вход в SSH сесия приложението тихо проверява хоста — име на ОС, модел на CPU и брой ядра — и започва да следи живи показатели: средно натоварване, памет, swap и използване на диска за всяка точка на монтиране, всяко изчертано с лента за използване, която става кехлибарена над 75% и червена над 90%.
- Разделът Host на страничната лента на терминала (най-левият раздел и този по подразбиране за SSH сесии) показва всичко с един поглед.
- Същите редове се показват в диалога Информация за връзката.
- Settings → Terminal → Resource monitoring (CPU/RAM/disk) включва или изключва следенето глобално и задава интервала на опресняване (5–300 s). Формата за връзка може да пренастрои интервала за всеки хост, а нейното падащо меню Проверка на системата при вход избира колко често се изпълнява пълната проверка: при всяка връзка, веднъж дневно, веднъж седмично или изключено.
Раздели на сесиите
Всяка сесия — SSH, SFTP, локална, серийна, Telnet — живее в раздел. Дълго натискане (мобилни) или десен бутон (desktop) върху раздел, или върху карта в списъка Активни сесии, отваря менюто му: Преименуване, Информация за връзката, Рестартирай сесията и Затваряне на раздел. Рестартирай сесията разрушава връзката и се свързва отначало, като запазва раздела — удобно след рестарт на сървъра. Когато отдалечена сесия прекъсне, менюто на терминала получава и запис Повторно свързване, който възстановява връзката на място (локалните терминали не го предлагат — отворете нов вместо това).
Странична лента (десен панел) — Хост / История / Довършване / Снипети / Тема
Вдясно от терминала (Desktop / таблет) се намира сгъваем панел с пет раздела. Отворете го със стрелката в десния край; преоразмерете го, като влачите левия край. Състоянието е за всеки псевдоним — всяка запазена връзка помни своя раздел и ширина.
- Host — разделът по подразбиране за SSH сесии: разпозната система, CPU и живи показатели. Вижте Информация за хоста по-горе.
- History — наскоро въведени команди. Кликването въвежда командата в терминала; превключвателят до него решава дали автоматично да подаде с Enter. Изчисти историята също се намира тук.
- Complete — живи предложения за имена на команди от shell довършването на сървъра. Може да се заглуши за всеки псевдоним (икона на звънче).
- Снипети — вашите снипети за този хост, първо наскоро използваните. Вижте Снипети по-горе.
- 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-те вградени теми идват от open-source колекцията edcet/terminal-themes (MIT).