Мои настройки screen

Все администраторы систем на базе UNIX, в том числе и Linux, для работы в удаленных терминальных сессиях, используют программу screen. Потому, что это очень удобно. Но при минимальных настройках, можно сделать ее использование еще удобнее.

Предположим, что мы хотим следующего:

  • Чтобы при входе по ssh сразу запускалась сессия screen
  • Чтобы запускались сразу несколько окон.
  • Чтобы сессии в окнах запускались в нужных директориях.
  • Чтобы был красивый бар.

Запуск при входе

Это делаем очень просто, пишем скрипт, который будет запускать на удаленном хосте другой скрипт, который в свою очередь запустит screen.

1 #! /bin/sh
2 SSH="/usr/bin/ssh -t "
3 REMOTE_HOST="our.host.ru"
4 REMOTE_CMD="/home/evgeny/bin/_scr"
5 XTERM="xterm -geometry 130x42+5+5 -fa xft:Bitst -T SSH::SLON "
6 $XTERM -e $SSH $REMOTE_HOST $REMOTE_CMD

Как легко видеть, скрипт запустит на удаленном хосте команду /home/evgeny/bin/_scr

Она очень простая:

1 #!/bin/sh
2 screen -RD

С этими ключиками screen если нет работающего экземпляра, запустит новый, а если есть, подключится к работающему.

Запуск нескольких окон в нужных директориях и красивый бар

Это сделаем при помощи конфига и простенького скриптика.

Конфиг который для screen в файле ~/.screenrc:

hardstatus alwayslastline "%?%{yk}%-Lw%?%{wb}%n*%f %t%?(%u)%?%?%{yk}%+Lw%?"
screen -t www     $HOME/bin/_goto-dir $HOME/www
screen -t server  $HOME/bin/_goto-dir $HOME/www
screen -t bin     $HOME/bin/_goto-dir $HOME/bin
screen -t git/lib $HOME/bin/_goto-dir $HOME/lib
screen -t mysql   $HOME/bin/_goto-dir $HOME/www

Комментарии к конфигу:

  • Первая строчка - красивости.
  • Остальные строчки имя экрана и запуск скрипта смены директория.

Скрипт смены директория тоже прост до невозможности:

1 #!/bin/bash
2 cd $1
3 /bin/bash

Ну вот и все. Экономит несколько минут ежедневно, а при частом переключении и ежечасно.

Опубликовано: May 27, 2011

Комментарии:


Имя: adw0rd

Спасибо!



Комментировать:

Имя:

Комментарий: