Without root user you need to build your snap in strict mode and use the setting on the ctrlX CORE that you allow apps from unknown sources. Like the ones buildable from the ctrlX SDK.
Then you can also install non Rexroth apps via the local storage. Just the standard process.
So that I understand, I need to get the source and rebuild any app that is not already built by rexroth or that does not have a prebuilt downloadable snap? In some instances these snaps already exist and are ready for download for a specific installation they just require root access to install (which I understand will not be accessible for most users).
It seems like this removes the core from a "smart phone" type of control and into the "specialized knowledge required" category.
You do not need to rebuild the snap. To be more precise:
All apps build for ARM64 architecture based on core16 or core18 are installable the way I mentioned above.
The only restriction is if it needs some special system plugs/slots that are not auto connected and not on our whitelist or rejected by our blacklist (will be published in the official ctrlX SDK documentation). Then some function could be blocked. So please have a look to the install instruction of the app if this needed.
Beware that these apps are not visible or quick accessible via the bars in the web interface of the ctrlX CORE. Only apps out of our upcoming online store will automatically do so.
The issue I see with this is that on the snapcraft website the snaps/apps are not available as standalone .snap files. The installation commands are listed when you select download. Without root access and ability to execute these commands, what is the correct procedure for getting these snap files that we can install in the normal way?
Each snap installable is also downloadable. So at the moment I would suggest that you do a "snap download grafana" on your preferred ubuntu 18 working os and copy the downloaded snap to the ctrlX CORE.
The real smartphone like access that you mentioned is like at all other devices you have to use the standard store that is at the moment in preperation by Boschrexroth fore the ctrlX CORE.
For clarity, the reccomendation is to install another instance of ubuntu core, execute the install commands as the root user and copy over the downloaded snap onto the core?
Is is possible to have root access so that I don't need a completely seperate installation?
No, you do not need to install the snap on the other system and copy all the files. You can download the snap file with the command I mentioned and copy this single snap file to the ctrlX CORE.
You can also get the assertions to generate a user that has root access to control. This is meant to be used for development purposes. Please see this tread for a discussion about this topic and also the solution.
Fastest way to achieve that is running an Ubuntu Container in Docker.
docker run --name snapuntu –p 9090:9090 -v //c/Users/<name>/ubuntu:/data --env http_proxy="<http>" --env https_proxy="<https>" -t -i ubuntu /bin/bash
Delete --env proxy-part if no proxy needed. Choose valid path for Snaps after -v
After first run you can reenter bash with
docker exec -it snapuntu bash
apt install snap
snap download <packagename>
mv *.assert /data
mv *.snap /data
Find your snap-files in the folder you entered in the docker run command.
Do you know how to download in snap format a version of an application from the two different arm64 architectures or one from amd?
snap download <packagename> arm64 or amd
how would it be?
Like I already wrote above use the command "snap download <snapname>" to download the .snap file. This is only possible for the host architecture of the system the command is executed on. So in WSL or a Ubuntu VM it will be amd.
To get the snap for arm64 you have to set up a system with this architecture (like in a docker or on a Rasperry Pi).
For grafana please have a look at this page.
I found out that you can download .snap for arm64 in amd64 machines using this command:
sudo snap download --basename=arm64 snap_name
I wasn't able to get the above command to work, however this command worked for me.
|UBUNTU_STORE_ARCH=arm64 snap download node-red|
I used a laptop with an x86 cpu with ubuntu 20.04 to download the snap then moved the snap over.