From 405a29bd5421ebf88aa3ea0c21348e8b7f61b1ed Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Fri, 6 Mar 2026 22:08:51 +0100 Subject: [PATCH] adasd --- public/assets/js/app.js | 13 ++++++++----- tools/pi_control/terminal_entry.sh | 21 +++++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/public/assets/js/app.js b/public/assets/js/app.js index 639872a..8bbf478 100755 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -422,12 +422,15 @@ } const iframe = getActiveIframe(); const ok = trySendToIframe(iframe, commandTextarea.value.trim()); - if (!ok && consoleError) { - consoleError.textContent = 'Konnte den Befehl nicht an die aktive Konsole senden.'; - consoleError.style.display = 'block'; - } else if (consoleError) { - consoleError.style.display = 'none'; + if (!ok) { + if (consoleNotice) { + consoleNotice.textContent = 'Aktive Konsole nicht steuerbar – Befehl wird in neuer Konsole ausgeführt.'; + consoleNotice.style.display = 'block'; + } + submitOpen(); + return; } + if (consoleError) consoleError.style.display = 'none'; }); } } diff --git a/tools/pi_control/terminal_entry.sh b/tools/pi_control/terminal_entry.sh index d543e30..8fde99a 100644 --- a/tools/pi_control/terminal_entry.sh +++ b/tools/pi_control/terminal_entry.sh @@ -54,23 +54,28 @@ fi SSH_TARGET="${USER}@${HOST}" if [[ -n "${COMMAND}" ]]; then - REMOTE_CMD="${COMMAND}; exec /bin/bash -l -i || exec /bin/sh -l -i" + REMOTE_CMD="${COMMAND}; exec /bin/bash -il" REMOTE_CMD="${REMOTE_CMD//\\/\\\\}" REMOTE_CMD="${REMOTE_CMD//\"/\\\"}" if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \ + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \ + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" else - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \ + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" fi else - REMOTE_CMD="exec /bin/bash -l -i || exec /bin/sh -l -i" if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \ + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \ + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il else - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \ + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il fi fi