From 18856f96d4c7f5f15ba7e9d83ae211e419b78215 Mon Sep 17 00:00:00 2001 From: yorickdowne <71337066+yorickdowne@users.noreply.github.com> Date: Fri, 7 Mar 2025 14:17:51 +0000 Subject: [PATCH] Use a login shell when launching screen (#2084) --- ethd | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ethd b/ethd index e96349d7..950b2a5e 100755 --- a/ethd +++ b/ethd @@ -1545,6 +1545,12 @@ update() { done <<< "$__old_sessions" echo fi +# Screen should run with login shell so that .profile gets loaded and aliases work + if [[ ! -f "${HOME}/.screenrc" ]] || ! grep -q 'shell' "${HOME}/.screenrc"; then +# Intentional, I want this verbatim +# shellcheck disable=SC2016 + echo 'shell -$SHELL' >>"${HOME}/.screenrc" + fi echo "Starting a new screen session with identifier ${__screen_session}" echo "If you get disconnected, reconnect with \"screen -r ${__screen_session}\"" exec 200<&- @@ -1558,7 +1564,7 @@ update() { # # exec bash replaces bash -c , so that the user is still inside screen at the end # - screen -S "${__screen_session}" -dma bash -c "${BASH_SOURCE[0]} update \"\$@\"; exec bash" dummy "$@" + screen -S "${__screen_session}" -dma bash -c "${BASH_SOURCE[0]} update \"\$@\"; exec bash --login" dummy "$@" screen -RR "${__screen_session}" exit 0 fi