diff --git a/modules/pi_control/assets/console.js b/modules/pi_control/assets/console.js index 17fb75c..a02ef7e 100644 --- a/modules/pi_control/assets/console.js +++ b/modules/pi_control/assets/console.js @@ -291,17 +291,11 @@ } return; } - const iframe = getActiveIframe(); - const ok = trySendToIframe(iframe, commandTextarea.value.trim()); - if (!ok) { - if (consoleNotice) { - consoleNotice.textContent = 'Aktive Konsole nicht steuerbar – Befehl wird in neuer Konsole ausgeführt.'; - consoleNotice.style.display = 'block'; - } - submitOpen(); - return; + if (consoleNotice) { + consoleNotice.textContent = 'Aktive Konsole kann nicht direkt gesteuert werden – Befehl wird in neuer Konsole ausgeführt.'; + consoleNotice.style.display = 'block'; } - if (consoleError) consoleError.style.display = 'none'; + submitOpen(); }); } } diff --git a/modules/pi_control/pages/console.php b/modules/pi_control/pages/console.php index 559e800..5fdf440 100644 --- a/modules/pi_control/pages/console.php +++ b/modules/pi_control/pages/console.php @@ -282,7 +282,7 @@ $runs = $pdo->query(
- +
diff --git a/tools/pi_control/terminal_entry.sh b/tools/pi_control/terminal_entry.sh index 04481ba..f467970 100644 --- a/tools/pi_control/terminal_entry.sh +++ b/tools/pi_control/terminal_entry.sh @@ -57,14 +57,14 @@ if [[ -n "${COMMAND}" ]]; then COMMAND_B64="$(printf '%s' "${COMMAND}" | base64)" REMOTE_CMD='CMD_B64="$0"; CMD="$(printf "%s" "${CMD_B64}" | base64 -d)"; eval "${CMD}"; exec /bin/bash -il' if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" || \ - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" "${COMMAND_B64}" || \ + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" "${COMMAND_B64}" elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" || \ - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" "${COMMAND_B64}" || \ + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" "${COMMAND_B64}" else - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" || \ - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" -- "${COMMAND_B64}" + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" "${COMMAND_B64}" || \ + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}" "${COMMAND_B64}" fi else if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then