не розумію, чому я раніше не користувався 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›