Ненормальное программирование → Удалённое парное программирование с использованием GNU Screen
Перевод этой статьи может послужить хорошей пошаговой инструкцией для тех, кто регулярно пользуется парным программированием, или хотя бы совместным просмотром кода, и при этом знаком и готов использовать текстовые редакторы, работающие в текстовом режиме (Emacs, vi и т.п.). В статье дано много интересных ссылок, советую по ним пробежать глазами, а первый комментарий содержит ссылку на аналогичный опыт, но с более чистым аналогом GNU Screen — tmux.
У нас в Siyelo две распределённых команды, одна в Кейптауне, вторая в Скопье. Нам приходится придумывать, как заниматься удалённым парным программированием между офисами. Существует много возможностей (отличный обобщающий пост здесь).
Раньше мы постоянно пользовались Skype'ом для разделения экрана, но у нас при этом возникали следующие проблемы:
— нет контроля над экраном другого пользователя (странно, у меня такая возможность есть, возможно с помощью какого-то плагина)
— невозможно одновременно разделять экран и использовать видеоконференцию (о том, зачем это нужно подробнее есть в заметке по ссылке, данной несколькими строками выше)
— пропускная способность сети иногда может стать проблемой
— это не инструмент для парного программирования
У нас в Siyelo две распределённых команды, одна в Кейптауне, вторая в Скопье. Нам приходится придумывать, как заниматься удалённым парным программированием между офисами. Существует много возможностей (отличный обобщающий пост здесь).
Раньше мы постоянно пользовались Skype'ом для разделения экрана, но у нас при этом возникали следующие проблемы:
— нет контроля над экраном другого пользователя (странно, у меня такая возможность есть, возможно с помощью какого-то плагина)
— невозможно одновременно разделять экран и использовать видеоконференцию (о том, зачем это нужно подробнее есть в заметке по ссылке, данной несколькими строками выше)
— пропускная способность сети иногда может стать проблемой
— это не инструмент для парного программирования
Linux для всех → Поддержка мышки в Midnight Commander запущенного из под tmux/screen
в топике про tmux был поднят вопрос о неработоспособность мыши в случае когда mc запущен в сессии tmux либо screen.
После небольшого исследования функции init_xterm_support, выяснилось что включить поддержку мыши, не прибегая к пересборке mc, можно прямо сейчас, достаточно «правильно» (как того ожидает mc) установить переменную COLORTERM.

Таким образом, если вам необходимо чтобы мышь работала в обычном режиме, поместите следующие строки в файл ~/.profile
Так же отследить решение проблемы можно будет в соответствующем тикете вот тут www.midnight-commander.org/ticket/2479
PS: Буду рад если кому то данная информация пригодится…
UPD: забыл добавить что желательно добавить в ~/.tmux.conf
следующую строку.
если этого не сделать то сочетание shift-стрелки, shift-Fx работать не будут…
После небольшого исследования функции init_xterm_support, выяснилось что включить поддержку мыши, не прибегая к пересборке mc, можно прямо сейчас, достаточно «правильно» (как того ожидает mc) установить переменную COLORTERM.

Таким образом, если вам необходимо чтобы мышь работала в обычном режиме, поместите следующие строки в файл ~/.profile
if [ $TERM = "screen" ]; then
export TERM=xterm
fi
if [ -n "$TMUX" ]; then
export COLORTERM=rxvt
fi
Так же отследить решение проблемы можно будет в соответствующем тикете вот тут www.midnight-commander.org/ticket/2479
PS: Буду рад если кому то данная информация пригодится…
UPD: забыл добавить что желательно добавить в ~/.tmux.conf
следующую строку.
setw -g xterm-keys on
если этого не сделать то сочетание shift-стрелки, shift-Fx работать не будут…
Linux для всех → Синхронизация профилей между linux-системами
Когда количество машин, на которые я постоянно заходил по ssh достигло 3х, я понял, что просто быстрой авторизации мне мало, и пора перетащить bash-алиасы, конфиги к редактору и прочие элементы окружения на удаленные системы. С другой стороны, нужен был способ не путаться в многочисленных вкладочках с терминалами. В итоге я пришел к связке из scp, screen и цветовой дифференциации хостов :)
Скриншоты результатов:
Домашняя система:

Одна из удаленных машин:

Команда для синхронизации профиля:
Подробности под катом.
Скриншоты результатов:
Домашняя система:

Одна из удаленных машин:

Команда для синхронизации профиля:
$ profsyncПодробности под катом.
Персональные блоги → Удобная и безопасная работа с серверами по ssh
Так как по работе приходится много удалённо работать с unix серверами, то пришлось разобраться как это делать комфортно и безопасно и со временем возникло желание поделиться. Данная заметка не претендует на новизну информации, но мне показалось что нигде нет цельного руководства, нечто похожее есть только на английском.
Описание тестировалось под Debian GNU/Linux с KDE, но должно подходить под основную массу unix систем/дистрибутивов/оконных менеджеров и графических сред.
Описание тестировалось под Debian GNU/Linux с KDE, но должно подходить под основную массу unix систем/дистрибутивов/оконных менеджеров и графических сред.
Linux для всех → Скратчпад с mcabber в awesome WM
В этом топике я расскажу, как с помощью модуля scratch я настроил удобный вызов и скрытие консольного джаббер-клиента mcabber в оконном менеджере awesome по хоткею. Это позволило мне освободить целый тэг, который раньше был занят под чат-клиент, плюс не нужно убирать фокус с текущего тега, с которым сейчас работаешь. Yeahconsole для этой задачи мне не подошла, т.к. у нее нет поддержки true-transparency(alpha channel), и она иногда криво отображает ncurses приложения.
Софт, используемый в данной схеме: awesome, screen, urxvt, mcabber, модуль scratch.
Софт, используемый в данной схеме: awesome, screen, urxvt, mcabber, модуль scratch.
Google → Вкусные скриншоты будущего интерфейса Chrome OS
Совсем недавно мы представляли вашему вниманию весеннюю сборку Chrome OS, а уже сейчас можно посмотреть как же должно это выглядеть в идеале.
Когда Chrome OS наконец будет готова для выхода на рынок, очевидно, что она будет сопровождаться широким спектром услуг гугловских сервисов по умолчанию. Для удобства использования разработчики постараются учесть все капризы будущего пользователя, чтобы интерфейс был интуитивно понятным. В этом призван помочь сам дизайн Chrome OS.
Панели
Когда Chrome OS наконец будет готова для выхода на рынок, очевидно, что она будет сопровождаться широким спектром услуг гугловских сервисов по умолчанию. Для удобства использования разработчики постараются учесть все капризы будущего пользователя, чтобы интерфейс был интуитивно понятным. В этом призван помочь сам дизайн Chrome OS.
Панели
Linux для всех → DIY SSH/SUDO Monitoring script

Итак, родилась у меня как-то давным давно идея сделать свой собственный мониторинг
Необходимо было мониторить успешные входы по ssh(и использование sudo) и сообщать мне об этом. Для оповещений был выбран мессенджер centerim (в дебиан и подобных пакет называется centericq-utf8). Так же понадобится пакет screen.
aptitude install screen centericq-utf8
Персональные блоги → У кого какой PS1 в .bashrc и caption в .screenrc
Пока Gui'шники спорят у кого круче настроен KDE/Gnome/Fvwm/Fluxbox, решил спросить у тех, кто большую часть времени работает в command line interface. Как разукрашиваете или делаете удобнее/веселее command promt и screen.
У меня export PS1="\[\e[31;1m\]\u@\[\e[32;1m\]\h \e[33;1m\]# \e[33;0m\]" в .bashrc и
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{wk} %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" в .screenrc
Виглядит так:
У меня export PS1="\[\e[31;1m\]\u@\[\e[32;1m\]\h \e[33;1m\]# \e[33;0m\]" в .bashrc и
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{wk} %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" в .screenrc
Виглядит так:
Персональные блоги → Screen — текстовый оконный менеджер
Людям, которые в Линуксе часто работают с консолью приходилось сталкиваться с проблемой необходимости нескольких терминалов, например в одном из них пользователь правит текстовый файл, а в другом идет компиляция программы. Существует много способов решения данной проблемы, например открыть несколько псевдо-терминалов или открыть несколько вкладок. В данной статье я хотел бы рассмотреть способ, не связанный с каким-то конкретным терминалом: использовать консольный оконный менеджер Screen.
Итак, что же представляет из себя Screen?
Итак, что же представляет из себя Screen?