Как настроить автоматический запуск screen при входе по ssh
Достало постоянно вводить screen -dR при входе на удалённую машину. Погуглив нашёл простое решение. В конце ~/.bashrc дописать:
if [ -z "$STY" ]; then
exec screen -dR
fi
Опубликовано diamon в Пнд, 13/10/2008 - 20:51

Comments :
спасибо, полезный финт
Опубликовано Анонимный в Вс, 19/10/2008 - 23:55.спасибо, полезный финт
а можно просто alias
Опубликовано Анонимный в Вс, 19/10/2008 - 11:30.а можно просто alias сделать:
alias ssh-screen='ssh -t userl@host "screen -dr"'
У меня чуть более продвинутый
Опубликовано Анонимный в Вс, 19/10/2008 - 10:01.У меня чуть более продвинутый вариант :)
В конец .basrc надо добавить
if [ "$SSH_TTY" ]; then if [ ! "$STY" ] ; then CHOICE=`SCREEN/choose` if [ -z "$CHOICE" ] then exec screen else exec screen -dr $CHOICE fi fi fiи создать файл ~/SCREEN/choose:
#!/bin/bash USERNAME=`whoami` i=0 declare -ax SCREENS SOCKETS=`find /var/run/screen/S-$USERNAME -type p` if [ -z "$SOCKETS" ] then exit 0 fi for S in $SOCKETS do ((i=$i+1)) S=`basename $S` SCREENS[$i]=`screen -ls | grep $S | perl -e '$s=<>; $s =~ s/^\\t(.*)\s/$1/; $s =~ s/\s/_/g; print $s'` done MENU="" for ((j=1; j<=$i; j=$j+1)) do MENU="$MENU $j ${SCREENS[$j]}" done WHICH=`dialog --stdout --menu Select: 0 0 0 $MENU` echo ${SCREENS[$WHICH]} | sed -e 's/_(.*)$//'При логине будет предлагаться меню со списком имеющихся сессий screen, можно выбрать нужную либо создать новую. Если запущенных screen'ов нет, автоматически запустится новая сессия.
Единственная (вроде бы) зависимость -- нужно поставить
dialog.Вопрос
Опубликовано Анонимный в Втр, 14/10/2008 - 04:17.Можно, спрсить. А зачем ты каждый раз делаешь скрин?
Я его только недавно освоил, для раздачи торрентов на сервере. Приходится под каждую раздачу делать по 1ой сессии screen. В итоге их получается очень много и фиг поймёшь в какой что раздаётся.
во-первых часто рвётся
Опубликовано diamon в Втр, 14/10/2008 - 13:15.во-первых часто рвётся коннект.
во-вторых удобно когда запускаешь что-то долгоиграющее.
в-третьих просто удобно зайти и вернуться к работе. а не начинать всё заново.
в-четвёртых не обязательно открывать кучу коннектов для нескольких окон терминалов.
а чтобы разобраться, где какое окно скрина - им можно давать имена.
Отправить комментарий