I downloaded the latest Linux IDE file and marked as executable. But whenever I double click the installer file nothing happens. Platform is the latest Ubuntu Linux running on an old Microsoft Surface Book PC. Seems that the installer doesn't work on Ubuntu.
Any suggestions?
Nick
Hi @nick46109.
Are you referring to the file named arduino-ide_2.3.10_Linux_64bit.AppImage?
I'm going to ask you to provide some additional information that might help us to identify the problem.
This procedure is not intended to solve the problem. The purpose is to gather more information.
Please do this:
- Close all Arduino IDE windows if the IDE is already running.
- Open a command line terminal in the folder that contains the AppImage file.
- Type the following command in the terminal window:
(where./arduino-ide_<version>_Linux_64bit.AppImage<version>is the Arduino IDE version number) - Press the Enter key.
Debug output should now be printed to the terminal window as Arduino IDE starts (or fails to start). - Wait for Arduino IDE to finish starting, or failing to start.
- Switch back to the terminal window if the Arduino IDE window took the focus.
- Use the mouse to select all the text in the terminal window. Make sure to scroll all the way up to the top.
- Press the Ctrl+Shift+C keyboard shortcut.
This will copy the selected text to the clipboard. - Open a reply here on this forum topic by clicking the "Reply" button.
- Click the
<CODE/>icon on the post composer toolbar.
This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
- Press the Ctrl+V keyboard shortcut.
This will paste the output into the code block. - Move the cursor outside of the code block markup before you add any additional text to your reply.
- Click the "Reply" button to publish the post.
Please let us know if you have any questions or problems while following those instructions.
start the installer from a terminal and post the error message
When running the installer in a terminal Window on Ubuntu I get the following:
nick@nick-Surface-Book:~/Documents/Arduino$ ./arduino-ide_2.3.10_Linux_64bit.AppImage
[33780:0820/111500.195566:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_arduin3XLkjQ/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped) ./arduino-ide_2.3.10_Linux_64bit.AppImage
nick@nick-Surface-Book:~/Documents/Arduino$
Regards, Nick
OK, great. That makes the situation clear.
This error is caused by the AppArmor security software blocking the Arduino IDE application from starting.
There is some valuable discussion on this subject here:
In that thread, multiple solutions are described by an Arduino community member:
Create AppArmor Policy
You can also create a new AppArmor profile for the Arduino IDE (that allows a non-root user to use the sandboxing in a specific application). If you copy the AppImage file to
/usr/local/bin/arduino(this is the new name of the AppImage file), you can create an AppArmor profile with a configuration file, for example, in/etc/apparmor.d/usr.local.bin.arduino, containing:abi <abi/4.0>, include <tunables/global> profile arduino /usr/local/bin/arduino flags=(unconfined) { userns, include if exists <local/arduino> }and reloading all AppArmor profiles with:
sudo service apparmor reloadNow you can run the Arduino IDE without the sandboxing error.
I have verified that the AppArmor policy approach does fix the problem.
Unfortunately since I am not knowledgeable in this area and the AppArmor documentation is absolutely horrendous. For this reason, despite my best efforts, I was not able to effectively analyze the policy provided by the community member. So I can't officially endorse the installation of that policy. However, I don't have any reason to believe it is flawed or dangerous, and I am using it on my own Ubuntu 24.04 machine.
Start IDE With --no-sandbox Flag
You could also run the Arduino IDE with the
--no-sandboxoption, but that is, in my opinion, a potentially very bad idea.
There is more information on the use of the flag here:
https://www.electronjs.org/docs/latest/tutorial/sandbox#disabling-chromiums-sandbox-testing-only
You can also disable Chromium's sandbox entirely with the
--no-sandboxCLI flag, which will disable the sandbox for all processes (including utility processes). We highly recommend that you only use this flag for testing purposes, and never in production.
(Arduino IDE 2.x is built on the open source Electron application framework, and inherits the --no-sandbox flag from the framework)
Thanks for the pointers. Frankly issues like this make me hate Linux, and people who suggest it's a viable alternative to Windows for normal human beings are are delusional. Lots of distros all behaving differently, poor documentation, so many ways for things to go wrong and software vendors often don't support more than 1 or 2 distros. I guess the answer to the problem is that I won't be using Linux for my Arduino work. I am unwilling to waste time trying to try to understand AppArmour, and I have no feeling for the implications of not using sandboxing. And who knows what other undocumented problems are awaiting me.
Also, I think (to put it politely) it's duplicitous for the Arduino development team to claim it's supported on Linux when it's not possible for someone who's not a Linux geek to install and run it. They could at the least document the fact that the installation instructions are known not to work on some versions of Linux - like Ubuntu - to save us all a lot of pain and frustration.
Thanks for the help, and I'm reluctantly heading back to Windows.
Nick
Why do you use Linux then? Just stay at M$ and be happy. (Just an old unix guy talking)
IDE 2.x never worked for me and a lot of others - you'll find rant threads in this forum when you search. 1.8.19 is still good enough :)
I downloaded the zip file from Arduino, and it installed fine.
arduino-ide_2.3.10_Linux_64bit.zip
To clarify, Arduino IDE 2.x does not have an installer. @nick46109 seems to have drawn the conclusion that arduino-ide_2.3.10_Linux_64bit.AppImage is an installer, when really this is the application itself. So, despite what the title and first post say, this topic is not actually about Arduino IDE not installing. It is instead about the invocation of the Arduino IDE application failing.
The problem of AppArmor blocking the launch of the Arduino IDE application occurs regardless of whether you are using the ZIP package or the AppImage package. So using the ZIP package will not be a workaround.
This problem only occurs on systems using AppImage, as is the case with modern Ubuntu versions.
I have a couple of old but still adequate laptops such as the Surface Book which can't run Windows 11 so are out of security updates. But they still perform well enough to run an Arduino IDE. Plus I am collaborating with someone on an Arduino gadget which will need some in-situ development as the hardware isn't mobile enough to bring to my home where the desktop PC is my primary IDE platform, so I need the IDE on a laptop and I'm used to IDE2 so don't want to go back to IDE1. So I guess it's back to using an old Windows 10 laptop and IDE2.
My personal view is that the IDE developers have a responsibility to address such issues at least on some of the common distros; or to document the fact that the IDE is not actually usable on some Linux platforms. This likely implies the need for some sort of installer script to configure AppArmor, manage dependencies, or whatever else needs to be done for leading Linux distros.
I see this as an Arduino management failing because I suspect the developers think their job is to deliver an IDE that edits and generates code correctly. But their real goal ought to be to enable people to use Arduino successfully - regardless of whether they are Linux geeks or not. If you can't install and run the IDE success is impossible.
Just my personal opinion.
Nick
There is no need to install it. As I said already, this is not a problem with installation. It is a problem of launching the IDE application.
The only barrier to getting it working is inside yourself. If you want to use Arduino IDE on Linux, it is entirely possible. We are happy to help you with that, but if you aren't willing to try then our hands are tied.
According to the AI, what happened was
AppArmor became significantly more restrictive on stock Ubuntu with the release of Ubuntu 24.04 LTS (April 2024), which enabled the
kernel.apparmor_restrict_unprivileged_userns = 1sysctl restriction by default
So the IDE was working, and then Ubuntu broke it. Other Ubuntu- and Debian-related distros like Linux Mint
configures AppArmor to be less restrictive than stock Ubuntu, specifically by avoiding Ubuntu's tight unprivileged user namespace restrictions that can break certain applications
And other distro families, for example
Fedora runs the Arduino IDE AppImage without Ubuntu’s AppArmor sandbox restrictions because Fedora uses SELinux instead of AppArmor for mandatory access control and does not restrict unprivileged user namespaces in the same way
Did you mean AppArmour?
@nick46109, I have been running IDE 2.3.x on Linux for a number of years without any issue, but then I don't run Ubuntu. With anything new there is always a bit of a learning curve, although I accept that the AppArmour firewall and sandbox do rather complicate things. Windows firewall tends to prompt you when an application needs permissions to access something. You click OK and it creates a rule for you. AppArmour generally does not and requires a bit of knowledge to set up the necessary rules. That does not, however, mean that the IDE does not run on Linux nor that developers should be held responsible for the configuration of security on your computer.
Nevertheless @ptillisch helpfully provided the necessary rule in response to this request for help and all that was needed was for a file to be created in the specified directory and the that rule to be added to the file.
Looking at the IDE documentation, this AppArmour information does appear to be missing from the "Downloading and Installing" Linux section which is perhaps an oversight. It might be helpful if it were added? Since anyone can propose a change, as a Linux user, I would be happy to do so after the weekend, once I am home again. If there is a script that can be downloaded, then a link to its location could also be included?
Linux does have a different way of doing things than Windows. The choice of firewall software is just one of them. There are also various desktop environments (Cinnamon, XFCE, KDE, Gnome etc) each with their own advantages and disadvantages and menu arrangements. Linux is different and it does take a bit of getting used to the way it does things. I do understand to some extent the initial frustration, but over time one becomes used to them.
Yes. Thanks for the correction. Sorry for any confusion.
