Показаны сообщения с ярлыком screen. Показать все сообщения
Показаны сообщения с ярлыком screen. Показать все сообщения

четверг, 20 января 2011 г.

Screen для "иксов".

Честно говоря давно "открыл" для себя утилиту screen и с тех пор без нее вообще не представляю себе работу на машине удаленно. :) Для тех кто не знает: screen реализует как бы менеджер окон для терминала. Создаем новые окна, переключаемся, переименовываем, делим (что бы видеть сразу несколько) и прочее, прочее, прочее. В общем кто часто сидит через ssh/telnet на удаленных серверах, а так же просто в консоли - тот по настоящему оценит это чудо программерской мысли. ;) Кто еще не пробовал - срочно ставить и юзать! :) В общем это был так сказать пролог...

А недавно я обнаружил то, что давно хотел: так сказать screen, но для графики! И так, те кто так же как и я не знали, встречаем: xpra! Собственно все просто:
  • запуск: xpra start :7 (запускается для примера на 7-ом дисплее)
  • запуск приложения очевиден: export DISPLAY=:7 и далее стартуем все что нам надо. К стати если для кого-то не очевидно: после старта приложения мы ничего не увидим. :) Ибо окно окажется внутри xpra. Когда подключимся к нему - там все и увидим.
  • подключение к запущенной сессии:
    1. xpra attach :7 (для локального подключения)
    2. xpra attach ssh:host_name:7 (для удаленного через ssh)
  • ну и закрытие сессии: xpra stop :7 (либо без номера дисплея)
В общем в двух словах такая вот полезная вещь. :) Остальное можно прочест в мане, хотя это почти и все. ;)

пятница, 30 октября 2009 г.

Хозяйке на заметку: еще раз о screen.

Не знаю как кто, а я часто пользуюсь этой чудесной утилитой: от простого запуска mutt, подключившись удаленно к домашней машине, atpitude update, rotrrent и прочее, прочее, прочее. :) Но очень часто бывало, что запустив screen единыжды и отключившись от него, я забывал о том, что он у меня уже есть. Поклчившись еще раз, запускаю screen снова, потом снова... Через какое-то время это выяснится, но все же как-то неприятно. Не знаю, особо не рылся в дока, может быть там и есть что-то для избежания такой ситуации. Я пошел более простым путем, сделав себе в шелле такой алиас:

screen='screen -rD || screen'

Теперь я просто делаю screen :) Если он уже был запущен, то я к нему подключусь, если же нет, то просто запущу новый скрин. ;)

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

Screen

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

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

alias screen="screen -rD || screen"

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