From 0f5730e16171286dee255d035b10d3537996219d Mon Sep 17 00:00:00 2001 From: Camille Lafitte Date: Mon, 2 Sep 2024 14:35:27 +0200 Subject: [PATCH 1/3] Rename saved file with new pid * After session restoration, rename source file with new pid --- screen-auto-start | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/screen-auto-start b/screen-auto-start index 5004179..58c0d4e 100755 --- a/screen-auto-start +++ b/screen-auto-start @@ -30,5 +30,7 @@ fi for file in "${SAVE_DIR}"* do - /usr/bin/env screen -d -m -c "$file" + /usr/bin/env screen -D -m -c "$file" & + screen_pid=$! + mv "$file" "$DEFAULT_SAVE_DIR$screen_pid" done From f08e0b812c1ce43db074efc702285198cb8df42f Mon Sep 17 00:00:00 2001 From: Camille Lafitte Date: Mon, 2 Sep 2024 14:45:00 +0200 Subject: [PATCH 2/3] Rename saved file only with unnamed session * A named session is constant in the time, then we don't need to renamed it * Only anonymous session must follow new pid --- screen-auto-start | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/screen-auto-start b/screen-auto-start index 58c0d4e..234a942 100755 --- a/screen-auto-start +++ b/screen-auto-start @@ -32,5 +32,7 @@ for file in "${SAVE_DIR}"* do /usr/bin/env screen -D -m -c "$file" & screen_pid=$! - mv "$file" "$DEFAULT_SAVE_DIR$screen_pid" + if [[ $file =~ "-pid-" ]]; then + mv "$file" "$DEFAULT_SAVE_DIR-pid-$screen_pid" + fi done From 87b1223971c003a91f22961c893f0e2ef0a2b2cb Mon Sep 17 00:00:00 2001 From: Camille Lafitte Date: Mon, 2 Sep 2024 17:39:28 +0200 Subject: [PATCH 3/3] Don't be too fast * Provide a pause between each screen session start --- screen-auto-start | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/screen-auto-start b/screen-auto-start index 234a942..10e991b 100755 --- a/screen-auto-start +++ b/screen-auto-start @@ -32,7 +32,8 @@ for file in "${SAVE_DIR}"* do /usr/bin/env screen -D -m -c "$file" & screen_pid=$! + sleep 1 if [[ $file =~ "-pid-" ]]; then - mv "$file" "$DEFAULT_SAVE_DIR-pid-$screen_pid" + mv "$file" "${DEFAULT_SAVE_DIR}pid-${screen_pid}" fi done