Ubuntu i.de 2.3.7

Sorry about that. Stray quote. Run this command instead:

APPARMOR_POLICY_PATH="/etc/apparmor.d/arduino-ide" \
&& \
printf \
'# AppArmor policy for Arduino IDE
# Source: https://github.com/arduino/arduino-ide/issues/2429#issuecomment-2099775010
# See: https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference

abi <abi/4.0>,

@{ARDUINO_IDE_EXECUTABLE_PATH}="'"$ARDUINO_IDE_EXECUTABLE_PATH"'"

include <tunables/global>

# Re: `flags=(unconfined)`, see:
# - https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference#profile-flags
# - https://gitlab.com/apparmor/apparmor/-/wikis/unprivileged_userns_restriction#special-unconfined-profiles-and-user-namespace-mediation
profile "@{ARDUINO_IDE_EXECUTABLE_PATH}" flags=(unconfined) {
  # See:
  # https://gitlab.com/apparmor/apparmor/-/wikis/unprivileged_userns_restriction#allowing-user-namespaces-creation-in-policy
  userns,
}
' | \
  sudo \
    tee \
      "$APPARMOR_POLICY_PATH" \
&& \
sudo \
  apparmor_parser \
    --replace \
    "$APPARMOR_POLICY_PATH"