Classic confinement for atlauncher


#1

I am trying to publish the atlauncher snap, which is a launcher for Minecraft that makes it easy to mod Minecraft and play packs of mods. Unfortunately, due to the nature of the launcher and the mods, classic confinement is required for it to work properly.

The link to the git source of the snap is at GitLab while the original launcher source code is at GitHub

Thank you in advance.


#2

@jdstrand, can you have a looksee at your convenience? thanks :slight_smile:

@vitimiti I suspect you’ll need to be clearer on what the “nature of the launcher” is that prevents it working in strict confinement.


#3

I don’t understand why this requires classic. Could you explain that in more detail, please?

Thank you.


#4

Not made it myself, but from my testings, apart from needed access to hardware and network data, it needs access to home cache that is specific to the user, which seems to be stored in ~/.java/ and uses the user’s computer name and user name, as well as the Ubuntu version of it and can’t seem to give it access with the plugs, unless I add specifically every user’s .java folders.


#5

Hardware and Network information can usually be exposed with the plugs of hardware-observe and network-observe. For the .java folder in $HOME the likelihood is you can safely store this information in $SNAP_USER_DATA or $SNAP_USER_COMMON. $HOME by default is set to $SNAP_USER_DATA so this should be out-of-the-box behaviour anyway…


#6

Well, I can’t as the launcher isn’t mine and the developer of the launcher isn’t interested as the current, more difficult way of installing the launcher works. The intention of the snap is to make it easy to use and install on Linux.


#7

If you really require access to ~/.java you could use the personal-files interface to request read access to this.


#8

@daniel and @alexmurray are right, there are others ways of handling this outside of classic. That said, ~/.java is far too generic for personal-files since ‘atlauncher’ is not the clear owner of this directory. There are most certainly ways to coax the program to write to other directories via environment variables, and I suspect you’d be able to move ~/.java to a snap-compliant location.