не розумію, чому я раніше не користувався gnu screen'ом… можливо, тому що не міг второпати, що воно таке за диво, багатоекранний термінальний мультиплексор і куди його притуляти?

виявилося, що все просто, і screen, в найпростішому розумінні — це приблизний аналог закладок у веб-оглядачі, тільки з преферансом і поетесами.

як це працює: відкриваю свій улюблений термінал (для мене це terminator в режимі консолі quake, відкривається за super+q), запускаю screen (насправді воно стартує автоматом, terminator має таку опцію) і працюю собі як зазвичай…

…аж поки не знадобиться нова закладка в терміналі. замість користуватися вікнами terminator'а (завжди забуваю гарячі клавіші!) — тисну ctrl+a, c і отримую чисте вікно терміналу; при цьому якщо в попередньому вікні щось виконувалося (приміром, wget тяг щось велике з тенет, або htop слідкував за відкритими процесами) — воно продовжуватиме виконуватися. і навіть якщо я закрию вікно terminator'а (не згорну, а саме закрию) — «закладки» screen «від'єднаються» від терміналу і продовжать жити своїм життям, аж поки я не «підключуся» до них знову.

якщо створити файл ~/.screenrc і додати туди щось таке, то можна отримати зручний статусний рядок з переліком відкритих закладок:

hardstatus alwayslastline "%H | %c | %-w%{=}%n-%t%{-}%+w"

підказок з використання screen та налаштування статусного рядка в тенетах не бракує, та й man screen є дуже детальний. занотую основне собі на згадку:

загальне
screen -list — перелік всіх вікон (закладок, сесій) screen
ctrl+a, ? — підказка, перелік гарячих клавіш

віртуальні вікна
ctrl+a, c — створити нове віртуальне вікно screen
ctrl+a, k — закрити поточне віруальне вікно screen
ctrl+a, w — простий перелік відкритих вікон screen в поточному терміналі
ctrl+a, n — перескочити до наступного відкритого вікна
ctrl+a, p — перейти до попереднього відкритого вікна
ctrl+a, 0..9 — перейти до відкритого вікна за його номером
ctrl+a, " — перейти до відкритого вікна зі списку

мультиплексування (області в терміналі)
ctrl+a, S — розбити поточне вікно на дві області по вертикалі
ctrl+a, | — розбити поточне вікно на дві області по горизонталі
ctrl+a, tab — перейти до наступної області
ctrl+a, X — закрити поточну область

поетеси
ctrl+a, M — сигнал про активність у поточному вікні (вкл/викл)
ctrl+a, _ — сигнал про неактивність («тишу») в поточному вікні (вкл/викл)

screen має ще цікаві сюрпризи, але це те, чим я досить швидко навчився користуватися, і воно виявилося дуже зручне.



2 коментар(ів):

piktor сказав...

а що ти таке робиш в консолі, що треба саме screen, а не емулятор терміналу із вкладками?

івась тарасик сказав...

@piktor пробував користуватися вкладками terminator'а, але не зміг звикнути: а) ніяк не тримаються в голові гарячі клавіші, б) та й щоби користуватися ними, потрібно знімати пальці з основного положення — а отже, дивитися на клавіатуру, в) немає (чи я не знайшов?) зручної сигналізації про активність/неактивність (звісно, частину задач можна вирішити чимось на кшалт «wget -c file.torrent ; notify-send "Wget закінчив!"», але то не так зручно) тощо. нічого «такого» я, звісно, не роблю (поки що) в консолі, але навіть «не таке» я полюбляю робити з комфортом. і поетесами =)

Дописати коментар

увага!
коментарі не модерую, проте спам видаляю нещадно. посилання на інші сайти/блоги за темою допису вітаю.

додаткові можливості розмітки (кутики набрати з клавіатури):
  ‹b›жирний шрифт‹/b›
  ‹i›похилий шрифт‹/i›
  ‹a href="http://tivasyk.info"›посилання‹/a›