vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2020-02-14 05:13 pm

Про screen

На старости лет, наконец, научился запускать screen в detached mode
В смысле чтобы он сразу в бэкграунд уходил а потом можно было подцепиться и посмотреть что он там делает.
screen -d -m команда

Осталось собраться и прикрутить это к какому-нибудь стартап-скрипту.

Теперь бы еще ключиком -x выучиться пользоваться.

И поигтаться с
ssh-agent screen -D -m команда


(потому что -D и -d это разные вещи, равно как -r, -R и -RR).

Вот бродит у меня мысль что кнопка открытия окна терминала по умолчанию должна запускать не просто shell, а

screen -x -p +


Это правда не спасет от того, что по завершению сеанса LXDE накроется агент.
b00_dc: (Default)

[personal profile] b00_dc 2020-02-14 03:54 pm (UTC)(link)
Скрином давно пользоваться перестал, но если он, как tmux, может демоном стартовать - запускать его из .profile, а сеансы tty/эмуляторов потом цеплять (автоматом или вручную) к сессии демона. Типа такого:
# Autostart tmux on login
__autostart_tmux() {
    #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
}

[personal profile] legolegs 2020-02-14 07:34 pm (UTC)(link)
Так профиль любой логин-шелл должен подцеплять, даже если он графический оболочк, а не текстовый.

[personal profile] legolegs 2020-02-15 04:50 pm (UTC)(link)
А откуда ж они PATH берут и как вообще живут? Или /etc/profile они читают, а ~/.profile нет?
filin: (Default)

[personal profile] filin 2020-02-15 06:30 pm (UTC)(link)
Или из ~/.xsession