> On 8 Sep 2016, at 09:17, Eloy García (PC Actual) <eloy.garcia....@gmail.com> > wrote: > > Hi all. > > I currently have several problems with my snap package for > wallpaperdownloader application, a java-based piece of software that > downloads wallpapers from the Internet, and maybe this is the solution for > some of them. > In this application, I execute some Linux command tools such as xdg-open and > gsettings. They work flawlessly within a "native" environment, but when I try > to execute them inside the snap package, they simply don't work. > > Gustavo, when you suggest to use the line: bus-send --print-reply --session > --dest=com.canonical.SafeLauncher / com.canonical.SafeLauncher.OpenURL > string:"$1" > could you give an example of that? I mean, if I want to, for example, open a > browser using "xdg-open https://www.google.com" executing this command from > my Java code, what would be the line I should use instead?. This implies to > modify my java code too and I had to do the distinction between the > application executed in a native environment and in a snap confinement. This > wouldn't be the desired way of packaging the app. Would be possible to use > some kind of interface to have access to the "native" command line tools > installed in the system? This way, source code would be agnostic (I mean, I > didn't have to tweak the application depending on the environment executed) > and it would be only a matter of snapcraft.yaml configuration. >
I believe there’s a special version of xdg-open that does exactly what that bus-send line above is doing. https://github.com/snapcore/snapd-xdg-open/blob/master/src/xdg-open.c You can add a part to your snap that includes this executable so that all the other code in your snap can remain the same. Best regards ZK -- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft