Installed software in template not running in appvm - cryptomator

118 views
Skip to first unread message

dumbcyber

unread,
Feb 17, 2017, 5:26:18 AM2/17/17
to qubes-users
I've installed Cryptomator in my Fedora-24 template vm and tested it - works fine. The install also installed some dependencies.

When I try to run the software in any Fedora-24 appvm's I get nothing. No errors, no GUI starting.

Any ideas where i can look for errors? Thanks.

Chris Laprise

unread,
Feb 17, 2017, 1:27:23 PM2/17/17
to dumbcyber, qubes-users
If you start it from CLI, do you see any messages?

Also, you should compare the contents of /home between the template and
appVM. Maybe the latter is missing some user config file that the
program expects.

Chris

Unman

unread,
Feb 17, 2017, 7:43:45 PM2/17/17
to dumbcyber, qubes-users
You don't say how you are starting the program.

I assume that you have an entry for Cryptomator in the menu list for the
appVM. (Check this!) If you haven't use the "Add more shortcuts" entry ,
and try to use the new entry.

It works for me - did you make sure that you restarted the appVM after
closing down the Template?

certainly if I use the desktop file from the menu then it works, but
trying to start at command line throws errors.(I mean just running
/opt/Cryptomator/Cryptomator.)But after the first time it seems to work
fine.

dumbcyber

unread,
Feb 19, 2017, 5:41:14 PM2/19/17
to qubes-users, dumb...@riseup.net, un...@thirdeyesecurity.org

Thanks for the tips.

I'm trying to start the app from the menu shortcut in the appvm. Yes, I've restarted the appvm and templatevm after installing the software in the template.

The /home folder looks exactly the same in both the templatevm and appvm.

When I try to start the app from the command line in the appvm, I get these messages but Cryptomator does start....

[user@work Cryptomator]$ /opt/Cryptomator/Cryptomator
2017-02-19 17:22:59,275 INFO [Cryptomator:39] Starting Cryptomator 1.2.3 on Linux 4.4.38-11.pvops.qubes.x86_64 (amd64)
2017-02-19 17:22:59,292 INFO [SingleInstanceManager:300] no running instance found
2017-02-19 17:22:59,498 INFO [MainApplication:45] JavaFX application started
2017-02-19 17:22:59,554 INFO [Localization:44] Detected language "en" and region "US"
2017-02-19 17:22:59,557 INFO [Localization:49] Attempting to load localization from: /localization/en_US.txt
2017-02-19 17:22:59,558 INFO [Localization:54] Attempting to load localization from: /localization/en.txt
2017-02-19 17:22:59,675 INFO [SettingsProvider:88] Failed to load settings, creating new one.

Steve Coleman

unread,
Feb 20, 2017, 5:11:09 PM2/20/17
to qubes-users
I installed Cryptomator, just being curious on how it works.

Just my 2 cents, the instructions say to use the official java JRE, not
the more commonly installed OpenJVM version, and I can confirm that it
does run with Java(tm) and does not run with /usr/bin/java, so if I were
a betting man I would say to run it using the full path for the proper
location of your official jvm installation. You may have to edit your
*.desktop file to enforce this path to the proper java binary. Test it
from the Dom0 command line with the -p option as below.

This works for me:

InternetVM> /opt/bin/java -jar /path/to/Cryptomator-1.2.4.jar

dom0> qvm-run InternetVM -p "/opt/bin/java -jar
/home/user/Cryptomator/Cryptomator-1.2.4.jar"


Hope that helps

Steve






dumbcyber

unread,
Feb 23, 2017, 9:08:23 PM2/23/17
to qubes-users

Thanks Steve.

I only have Java installed in /usr/bin/java and Cryptomator starts fine from the menu in the templatevm. I can also start it fine from the command line in the appvm. The issue is the appvm menu shortcut does not work.

Steve Coleman

unread,
Feb 27, 2017, 4:26:42 PM2/27/17
to qubes-users
On 02/23/2017 09:08 PM, dumbcyber wrote:
> On Monday, 20 February 2017 17:11:09 UTC-5, steve.coleman wrote:
>> On 02/19/2017 05:41 PM, dumbcyber wrote:
>>> On Friday, 17 February 2017 19:43:45 UTC-5, Unman wrote:
>>>> On Fri, Feb 17, 2017 at 02:26:18AM -0800, dumbcyber wrote:
>>>>> I've installed Cryptomator in my Fedora-24 template vm and tested it - works fine. The install also installed some dependencies.
>>>>>

>>
>> I installed Cryptomator, just being curious on how it works.
>>
>> Just my 2 cents, the instructions say to use the official java JRE, not
>> the more commonly installed OpenJVM version, and I can confirm that it
>> does run with Java(tm) and does not run with /usr/bin/java, so if I were
>> a betting man I would say to run it using the full path for the proper
>> location of your official jvm installation. You may have to edit your
>> *.desktop file to enforce this path to the proper java binary. Test it
>> from the Dom0 command line with the -p option as below.
>>
>> This works for me:
>>
>> InternetVM> /opt/bin/java -jar /path/to/Cryptomator-1.2.4.jar
>>
>> dom0> qvm-run InternetVM -p "/opt/bin/java -jar
>> /home/user/Cryptomator/Cryptomator-1.2.4.jar"
>>
>>
>> Hope that helps
>>
>> Steve
>
> Thanks Steve.
>
> I only have Java installed in /usr/bin/java and Cryptomator starts fine from the menu in the templatevm. I can also start it fine from the command line in the appvm. The issue is the appvm menu shortcut does not work.
>

Ok, here is my latest, more complete test. Before I was only playing
with it in a DispVM.

dom0> find . -iname \*Cryptomator\*.desktop -exec grep -Hi Exec= \;

./.local/share/applications/Internet-Cryptomator.desktop:Exec=qvm-run -q
--tray -a Internet -- 'qubes-desktop-run
/usr/share/applications/Cryptomator.desktop'

# Now, add the "-p" option to the above qvm-run statement on the dom0
command line:

dom0> qvm-run -p -q --tray -a Internet -- 'qubes-desktop-run
/usr/share/applications/Cryptomator.desktop'

Traceback (most recent call last):
File "/usr/bin/qubes-desktop-run", line 7, in <module>
launch(*sys.argv[1:])
File "/usr/lib64/python2.7/site-packages/qubes/xdg.py", line 8, in launch
launcher = Gio.DesktopAppInfo.new_from_filename(desktop)
TypeError: constructor returned NULL


Do you get the same error here?

# lets see what was running on the VM side:

dom0> qvm-run -p -a Internet 'grep Exec
/usr/share/applications/Cryptomator.desktop'

Exec=/opt/Cryptomator/Cryptomator

This is wrong! it should be the full path to the java binary, -jar, and
then the full jarfile path. Instead the desktop file in the VM was
changed/mundged/hacked to try and execute the "directory" named
/opt/Cryptomator/Cryptomator where the app stored its keys!! I can't
even put a script there by that name because its a directory that was
originally created by the Cryptomator application itself.


Solution? I might find a way to move its key srorage. But, its easier
creating a script /opt/bin/Cryptomator and pointing my template
*.desktop Exec to that script. We will see how that works.

Bingo!

fedora-24$ grep Exec= /usr/share/applications/Cryptomator.desktop
Exec=/opt/bin/Cryptomator

Internet$ cat /opt/bin/Cryptomator
#!/bin/bash
/opt/bin/java -jar /opt/Cryptomator/Cryptomator-1.2.4.jar


Works from both dom0 command line and from the menu now!

Hope that helps.


Steve.


dumbcyber

unread,
Feb 28, 2017, 6:27:52 PM2/28/17
to qubes-users

Thanks Steve. I appreciate the time you are putting into this. I'll give this a go when I get time to play around. Thanks again.

john.g...@gmail.com

unread,
May 29, 2017, 7:31:50 PM5/29/17
to qubes-users

I'm in the same boat as dumbcyber:


"I only have Java installed in /usr/bin/java and Cryptomator starts fine from the menu in the templatevm. I can also start it fine from the command line in the appvm. The issue is the appvm menu shortcut does not work."

I've tried doing your mentioned fix, but it still fails to launch in the personal AppVM.

Trying to use:
/usr/bin/java -jar /opt/Cryptomator/app/Cryptomator-1.2.3.jar

Results in java errors and no launch:
2017-05-29 19:22:14,658 INFO [Cryptomator:39] Starting Cryptomator 1.2.3 on Linux 4.4.67-12.pvops.qubes.x86_64 (amd64)
2017-05-29 19:22:14,681 INFO [SingleInstanceManager:300] no running instance found
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.cryptomator.ui.Cryptomator.main(Cryptomator.java:51)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more

Simply running /opt/Cryptomator/Cryptomator from the fedora-24 TemplateVM or AppVM launches without issue.

If I use the following in the AppVM: nohup /opt/Cryptomator/Cryptomator &!
The program will open and give me back the Terminal.

Not really sure why it launches from fedora-24 TemplateVM but not the AppVM?

Any assistance is greatly appreciated; is strangely the only App I can't just launch from its Icon in the Qubes menu.

Thanks!

Reply all
Reply to author
Forward
0 new messages