вторник, 12 мая 2009 г.

Screen

Заметка из серии "маленькие хитрости". ;)

Все наверное знают чудесную утилиту screen (кто не знает - срочно читать про нее и использовать!!!). Утилита запускается в терминале и дает запустить под собой нужное количество терминалов с запущенными в них приложениями. Прикол в том, что от нее можно отключится, а потом подключится обратно. Приложения при этом остаются работать как ни в чем не бывало делая ввод/вывод в screen. В общем очень удобно и полезно. :) Есть только один нюанс: запустил ты screen, в нем чего-то крутится, отрубился. Позже зашел на машину и... забыл, что скрин уже запущен. :) Запустил еще один. Потом опять забыл. ;) Ну бывает. Что же делать, что бы такого не было? Ну мы ж не в винде! ;) Тут все просто: делаем следующий алиас для нужно вам шела, у меня это bash и zsh.

alias screen="screen -rD || screen"

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