Jabref: Error opening file: Cannot run "xdg-open" (error 13)

Created on 18 Nov 2019  路  7Comments  路  Source: JabRef/jabref

I get the following error when I click on the "linked files" icon in the entry table:

Cannot run program "xdg-open": error=13, Permission denied
The exception stacktrace was:

java.io.IOException: Cannot run program "xdg-open": error=13, Permission denied
    at java.base/java.lang.ProcessBuilder.start(Unknown Source)
    at java.base/java.lang.ProcessBuilder.start(Unknown Source)
    at java.base/java.lang.Runtime.exec(Unknown Source)
    at java.base/java.lang.Runtime.exec(Unknown Source)
    at org.jabref/org.jabref.gui.desktop.os.Linux.openFile(Unknown Source)
    at org.jabref/org.jabref.gui.desktop.JabRefDesktop.openExternalFilePlatformIndependent(Unknown Source)
    at org.jabref/org.jabref.gui.desktop.JabRefDesktop.openExternalFileAnyFormat(Unknown Source)
    at org.jabref/org.jabref.gui.fieldeditors.LinkedFileViewModel.open(Unknown Source)
    at org.jabref/org.jabref.gui.maintable.MainTableColumnFactory.lambda$createFilesColumn$18(Unknown Source)
    at org.jabref/org.jabref.gui.util.ValueTableCellFactory$1.lambda$updateItem$1(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
    at org.jabref.merged.module/javafx.event.Event.fireEvent(Unknown Source)
    at org.jabref.merged.module/javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
    at org.jabref.merged.module/javafx.scene.Scene$MouseHandler.process(Unknown Source)
    at org.jabref.merged.module/javafx.scene.Scene.processMouseEvent(Unknown Source)
    at org.jabref.merged.module/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
    at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
    at org.jabref.merged.module/com.sun.glass.ui.View.notifyMouse(Unknown Source)
    at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: error=13, Permission denied
    at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
    at java.base/java.lang.ProcessImpl.start(Unknown Source)
    ... 54 more

JabRef 5.0.0-dev--2019-11-17----3f0aa5803
Linux 5.3.11-zen1-1-zen amd64
Java 13.0.1

linux

Most helpful comment

For reference, solved by making jexec executable:

chmod 755 ./lib/runtime/lib/jexec

All 7 comments

Are you using the snap version?

No, I'm using the jabref-latest package on the AUR (uses https://builds.jabref.org/master/JabRef-portable_linux.tar.gz as a source).

@Marathon2112 Could you try the portable install? to see if the problem is with the aur package or the official build as well?
You can use the one you link to in the comment

JabRef 5.0.0-dev--2019-11-18----fc47b266a
Linux 5.3.0-23-generic amd64
Java 13.0.1

Not a problem for me with today's master beta (deb).

@LyzardKing Works with the portable install. Must be a problem with the AUR package. Closing, thanks.

For reference, solved by making jexec executable:

chmod 755 ./lib/runtime/lib/jexec

Just for future reference, I had to change the permissions to 755 of the following files:

./lib/jabrefHost.py
./lib/runtime/bin/*
./lib/runtime/lib/jexec
./lib/runtime/lib/jspawnhelper
Was this page helpful?
0 / 5 - 0 ratings

Related issues

simonharrer picture simonharrer  路  3Comments

oscargus picture oscargus  路  3Comments

jonasstein picture jonasstein  路  3Comments

Siedlerchr picture Siedlerchr  路  3Comments

Siedlerchr picture Siedlerchr  路  4Comments