Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an installer for Linux #641

Open
3 tasks done
avlapp opened this issue Nov 30, 2021 · 8 comments · May be fixed by #356
Open
3 tasks done

Provide an installer for Linux #641

avlapp opened this issue Nov 30, 2021 · 8 comments · May be fixed by #356
Assignees
Labels
os: linux Specific to Linux operating system topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement

Comments

@avlapp
Copy link

avlapp commented Nov 30, 2021

Describe the request

Provide some way of automatically configuring the Linux system for the Arduino IDE installation:

  • Application menu item
  • Application icon
  • MIME types

This will be accomplished by generating a "desktop entry" file (.desktop file).

🙂 It will be more convenient for Linux users to use Arduino IDE.

Describe the current behavior

No installer is provided for the Linux build of Arduino IDE.

🙁 Users must launch Arduino IDE directly from the installation package or else figure out how to create the desktop entry manually.

Arduino IDE version

Original report

Not stated

Last verified with

117b2a4

Operating system

Linux

Operating system version

Any

Additional context

This is accomplished by Arduino IDE 1.x users by running the install.sh script that is included in the built package:

https://github.com/arduino/Arduino/blob/89539b1131f8cde9f7a83225f21c811071af53a8/build/linux/dist/install.sh

Related

Additional requests

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details
@avlapp avlapp changed the title How should this arduino-ide be installed on linux? Missing install script. How should this arduino-ide be installed on Linux? Missing install script. Nov 30, 2021
@per1234 per1234 added the os: linux Specific to Linux operating system label Nov 30, 2021
@per1234 per1234 linked a pull request Nov 30, 2021 that will close this issue
@avlapp
Copy link
Author

avlapp commented Nov 30, 2021

That goes fast...
FYI for Processing, when I install it with sudo in /opt using the install.sh script, everything went well, except it seems I had to run the following command as normal user to get Desktop icon. Not sure if this also applies to stable / former Arduino IDE. I'll check tonight or tomorrow.

xdg-desktop-icon install /usr/share/applications/processing-pde.desktop

@avlapp
Copy link
Author

avlapp commented Nov 30, 2021

Yes, it seems the script doesn't add a desktop shortcut icon when running the ./install.sh script of the stable IDE as root.

After running the install script, I had to run as normal user (not root):
xdg-desktop-icon install /usr/share/applications/arduino-arduinoide.desktop

I wonder if that shouldn't be /usr/local/share/applications though. It's a local install I would think.

@avlapp
Copy link
Author

avlapp commented Nov 30, 2021

I'm not an expert, but reading this tells me that if one installs in /opt, no files of that package should be placed outside of /opt
https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html

It could be that the xdg tool is placing the *.desktop file in /usr/share/applications, when used as root.

@avlapp
Copy link
Author

avlapp commented Nov 30, 2021

https://unix.stackexchange.com/questions/196636/system-wide-desktop-file-installation-for-unpackaged-software
https://wiki.archlinux.org/title/Desktop_entries

A bit confusing. I tend to think that those tools (xdg-tools, desktop-file-install) are for packaged packages (which you can install via apt etc.).

Maybe the best way for third party package is to copy the *.desktop file to the right place (/opt/arduino-/usr/share/applications/arduino-arduinoide.desktop) (?)

Or to arduino-/usr/share/applications/arduino-arduinoide.desktop (as it is now, its a users/ system administrators choice where to place the arduino folder. This probably should be in /opt, but it's not a requirement.

And then make a symbolic link from the Desktop folder to the Arduino *.desktop file in /opt/arduino....

But this has to be confirmed by someone more knowledgeable then I am on this topic.

@avlapp
Copy link
Author

avlapp commented Nov 30, 2021

A symlink from /usr/local/share/applications/arduino-arduinoide.desktop to /opt/arduino..../arduino-arduinoide.desktop, should add arduino to the menu.

A symlink from ~/Desktop to /opt/arduino..../arduino-arduinoide.desktop should add a shortcut on the Desktop to open Arduino.

Would be a solution, for a system wide installation probably. Like I said, needs confirmation though. I could be wrong.

@avlapp
Copy link
Author

avlapp commented Dec 2, 2021

I think I would install in /opt instead of /usr/local for a package like Arduino.
https://unix.stackexchange.com/questions/11544/what-is-the-difference-between-opt-and-usr-local

@SuperNinja-4965
Copy link

I just thought I'd share that i am helping with working on a flatpak (on flathub) release for the new Arduino IDE.
At the moment it only exists as a pull request and further decisions are to be made as to whether or not to add this to its own flatpak package (or have it in a beta branch then moving it to release upon full release of v2).
Here is the pull request as of right now: flathub/cc.arduino.arduinoide#42
I understand this doesn't solve the install script issue (which will be useful for those who would like to install on linux), but this allows an alternate installation method of the new IDE.

Related #356

@pabloab
Copy link

pabloab commented Aug 4, 2022

Are you against installing using Flatpak?

@per1234 per1234 changed the title How should this arduino-ide be installed on Linux? Missing install script. Provide an installer for Linux Jun 1, 2023
@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure labels Jun 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os: linux Specific to Linux operating system topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants