Архив метки: tmux

Автозапуск tmux и автоподключение к нему

Сделал себе автоподключение к сессии tmux (или автозапуск tmux-сервера с новой сессией, если её ещё нет) при заходе в локальную консоль или при подключении по ssh к удалённым машинам (пользоваться бесплатным шеллом bshellz стало удобней).

# Autostart tmux on login
 __autostart_tmux() {
     # $( type -p ) - built-in in sh or bash only?
     #TMUX_BIN="$( whereis tmux | cut -d " " -f 2 )"
     # which versions different output format
     TMUX_BIN="$( which tmux 2> /dev/null )"
     if [ -z "${TMUX_BIN}" ]; then
         echo "Tmux not found"
         return 0
     fi

     TMUX_AS_SESS_NAME="$(echo "${USER}" | cut -c '1-3')"
     # return empty line if specified session exist or return 1
     TMUX_AS_SESS_RUN="$( tmux has-session -t "${TMUX_AS_SESS_NAME}" &> /dev/null || echo "$?" )"
     #TMUX_AS_DAEMON_MODE="$1" # $1 == "-d" or " "
     #TMUX_AS_EXIT="$2" # "return 0" or "exit 0"
    
     # do not attach automatically to tmux session if login on local XTerm
     if [ -z "${TMUX_AS_SESS_RUN}" ] && [ -z "${SSH_TTY}" ] && [ "${TERM}" = "xterm" ]; then
         echo "Tmux: running, not attached on local XTerm"
         return 0
     # do not run tmux automatically in another tmux (or screen)
     # in exists tmux session shell be started on non-login mode and .profile not used
     # (see set -g default-command "${SHELL}" in tmux.conf)
     elif [ -n "${TMUX}" ] || [ "${TERM}" = "screen" -o "${TERM}" = "screen-256color" ]; then
         echo 'Tmux: not be running in another terminal multiplexer "'${TERM}'"'
         return 0
     # attach to existed tmux session or create it and exit login-shell; or print error message
     else
         ((tmux has-session -t "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}") || (tmux new-session -d -s "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}")) && exit 0;
         echo "Tmux: autostart failed: $?"
     fi
 }
Читать далее Автозапуск tmux и автоподключение к нему

Бесплатный Linux-shell с Tmux на борту

Возникла у меня как-то нужда в получении linux-shell на стороннем сервере с постоянным доступом в сеть (тот же парсер ТИЦ запустить например). При этом шелл должен был удовлетворять двум условиям: быть бесплатным и иметь возможность оставить запущенное приложение работать “в фоне”, без поддержания постоянного соединения удаленной машиной. Помимо этого, хотелось несколько большего, чем возможность использовать простые dtach или nohup, а значит – нужно наличие на удаленной машине терминального мультиплексора (Screen или Tmux). Мой выбор пал на bshellz, удовлетворяющий всем условиям, включая наличие Tmux. Вот что они предлагают после прохождения бесплатной регистрации:

– Возможность разместить свой сайт на домене http://имя_пользователя.bshellz.net
– 50 Мб дискового пространства
– Электронный адрес вида: имя_пользователя@bshellz.net
– Возможность использовать одну базу MySQL, наличие phpmyadmin: https://services.bshellz.net/phpmyadmin/

Читать далее Бесплатный Linux-shell с Tmux на борту