Рекомендую вместо screen — tmux

screen настолько жестого захардгажен, что его уже не поддерживают. А tmux няшен
да, народ хвалит, обязательно заценю, спасибо
Пробовал пересесть на tmux — имхо, коробочный вариант не удобен, а допиливать каждый раз становилось влом, проще перейти обратно на screen :)

Ещё полезная фишка мультиплексеров — это возможность копирования между окнами. В скрине <C-A><C-[> или <C-A><Еsc> для перехода в режим копирования, <Space> для перехода в аналог visual mode, vim'овского, для собственно копирование и <C-A><C-]> для вставки (в tmux это всё тоже есть, но не помню биндинги, плюс там нет из коробки навигации в стиле vim).
Долго пользовался screen, но потом начал упираться в возможности. Переход на tmux был в основном сложен только хоткеем, вместо ctrl + A надо нажимать ctrl + b. Пару дней помучился и привык. Пользую только коробочный вариант без переделок. Tmux у меня штатно на всех машинах, коих больше 2х десятков. Разрабатываю через удаленную консоль, всегда в tmux. Для продакшина пользую в виде дашборда.

Дашборд на LAMP кластере из 10 машин
habrastorage.org/storage3/cdf/ae7/5d4/cdfae75d485bbbcaf671b466464b6b14.png

Разработка
habrastorage.org/storage3/235/a68/3be/235a683be7c196698d20b287ddfbd3ec.png
чистейший хардкор!
awesome прекрасен!
awesome потрясающ!
объясните мне зачем разрабатывать на удалённой машине когда у вас локально есть awesome? я не понимаю :)
Awesome — это для души. А для разработки только хардкор — vim + tmux
По мне так гораздо удобнее организоывать окошки в awesome чем где бы то ни было.

Я предпочитаю awesome + gvim :)
awesome + gvim хорошо работают когда одновременно работаешь над одним проектом. Я же курирую несколько десятков и все идут одновременно. Поэтому держу много изолированных tmux + vim c соответствующими консолями и tail -f логами, поэтому же и работаю в основном на удаленных серверах.
ну разные проекты я раскидываю по разным эээ, воркспейсам? рабстолам?
но вот tail -f, конечно, имеет смысл.

Спасибо.
Извините, а вы не могли бы мне в скайп какой постучаться. Я бы у вас спросил немного разного про организацию вашего рабочего места.
Tmuxinator?
> Когда внезапно мигает свет, все компы уходят в перезагрузку и со всех сторон доносятся популярные непечатные выражения…

Ноутбуки в мейлру не выдают?
выдают, просто многие предпочитают стационарные компы
А бесперебойники?)
У нас один очень большой бесперебойник на всех :)
Windows на локальном компе (любая другая ОС с терминалом тоже подойдет), как требование к среде разработки вызывает восхищение. Хорошо бы, на мой взгляд, раскрыть тему шире и написать еще о переадресации портов (port forwarding) позволяющем например потрогать боевой SQL сервер локально и разделяемом соединении (connection multiplexing) позволяющем обратиться к серверу из разных консолей, программ в рамках одного соединения.
Спасибо, подумаю, надо только выбрать какой-нибудь кейз поконкретней. Вообще за «потрогать боевой SQL сервер» у нас расстреливают уже давным-давно, доступ есть только к read-only реплике, а multiplexing вообще что-то не могу сообразить к чему прикрутить в процессе разработке
Хорошо бы, на мой взгляд, раскрыть тему шире и написать еще о переадресации портов (port forwarding) позволяющем например потрогать боевой SQL сервер локально


Но ведь впн проще и мобильнее :)
спасибо, реализовал — оч. удобно.
всяо-разно лучше, чем держать по пять-восемь открытых патти окон.
чуть допилили ваш автоскрипт, сразу прописали запуск баша на 8 окон
# ну а здесь я создаю 8 скринов AUTO1 – AUTO8

screen -t AUTO1 /bin/bash
screen -t AUTO2 /bin/bash


можно сразу прописывать открытие консольного мускуля с нужной БД (через баш)
а можно как-то подписывать вкладки?
Да, здесь:
screen -t AUTO1 /bin/bash
ты именуешь табы (AUTO1, AUTO2 и т.п, например:

screen -t CONSOLE1 /bin/bash
screen -t MYSQL1 <запуск bash с открытием консоли>
screen -t PERL1 /bin/bash
screen -t PERL2 /bin/bash

а если тебе надо, чтобы в названиях табов было больше всякой полезной инфы(пути может, серваки, и т.п.), возишься вот с этой строкой в .screenrc_<твойпроект>

# эта строка как раз рисует табы внизу, в строке состояния, подсвечивает текущий и т.п.
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{y}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'

для этого читаешь доку по «hardstatus» в screen. Как я сказал, я ленивый и стырил эту строку у отцов
спасибо
/bin/bash нужно указывать только если у вас дефолтовый шелл не bash.
Плюс, не понял чем Ctrl+A Space и Ctrl+A Backspace не устроили в обычном PuTTY? Количеством кнопок?
Угу, именно так. Если писать код, прыгать с шаблона в код и обратно тремя кнопами мне, например, не очень удобно. Субъективно, конечно, но очень хотелось эдакий xterm под Windows
Открытие мускуля у меня сделано алиасом, и реализовано как раз в разделах «if PROJ=='auto'», я не стал приводить их из соображений безопасности. И одна и та же команда открывает в разных проектах разные консоли.

В тегах можно смело добавить «администрирование», screen очень полезен, спасибо за статью. Хотя всегда хватало fg, bg, jobs.
для того, чтобы промотать наверх вывод какого-нить длинного SELECT-а, придется нажать Сtrl+A и затем ESC, после чего можно курсором и PgUp, PgDown ходить по буферу screen-a вверх и вниз

Удобно настроить pager в ~/.my.cnf

[mysql]
pager = less -FSinXR

А можно еще и вывод раскрасить с grcat
Спасибо, ух полезная тема! Чувствую, что почитав комментарии к своей статье, легко сгенерирую новую :)
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.