Calibre, xdg-open and XFCE

Hi! I hope this finds you well!

This is my first post here, so please forgive and correct any errors in etiquette or procedure.

I’m having trouble opening books, any books, on calibre 2.49 on OpenSUSE Leap with XFCE. I get the following error message:

Failed to open URI “file:///home/james/Calibre%20Library/Unknown/the%20c%20book%20(2)”.

Error when getting information for file ‘/home/james/Calibre%20Library/Unknown/the%20c%20book%20(2)’: No such file or directory.

The same thing happens for epubs and pdfs.

Now after digging around a bit and posting on Calibre’s forums, I’m pretty sure the problem is related to xdg-open and not calibre itself. Here’s a link to the same/similar bug report on redhat: https://https://bugzilla.redhat.com/show_bug.cgi?id=1246383 .

I’m on openSUSE Leap: uname -a: Linux linux-svb1 4.1.20-11-default #1 SMP PREEMPT Fri Mar 18 14:42:07 UTC 2016 (0a392b2) x86_64 x86_64 x86_64 GNU/Linux

So my questions are:

  1. is there an easy way to correct the xdg-open script? I’m not quite skilled enough to rewrite xdg-open to fix the problem myself, but it seems like I should be able to alter the script a little to make it work.

  2. Should I file a bug report somewhere so this can get fixed? I’m not sure how to tell if the problem is with the version in openSUSE’s repos, or if the problem is upstream.

Thank you very much for your time!

Post:

ls -l /home/james/Calibre%20Library/Unknown/

james@linux-svb1:~> ls -l /home/james/Calibre%20Library/
ls: cannot access /home/james/Calibre%20Library/: No such file or directory

Thank you very much for your time!
James.

Please use Code-Tags as I use…

There is no directory with any Book inside…

Thanks for taking the time to reply!

The file is there all right:

james@linux-svb1:~> ls -l /home/james/Calibre\ Library/Unknown/
total 0
drwxr-xr-x 2 james users 75 May  7 00:46 the c book (2)

The problem seems to be that Calibre is passing a urlencoded “file:///” link that XFCE’s exo-open is choking on. Here’s a quote from a reply to my post on Calibre’s support forum:

                      This problem is completely unrelated to calibre.

Assuming your distro has the latest version of XFCE in their repos, you’ll need to file a bug report for XFCE upstream, to get them to fix their dedicated file opener (exo-open) so it accepts urlencoded file:/// links.
(calibre uses Qt’s native functions for opening files, which simply pass urlencoded file:/// urls to xdg-open – this is basic UI toolkit file management at its finest. http://s.mobileread.com/i/smilies/smile.gif http://s.mobileread.com/i/smilies/smile.gif)

AFAIK this was supposed to be fixed here and here, so unless they had another regression, this is your distro’s fault for being out-of-date.
(And a thread on MobileRead, here.)
[HR][/HR] * Last edited by eschwartz; Today at 12:19 AM.
*
Thanks again for your time!
James.

Try the opensuse leap repository for xfce.
I believe it has a more recent version and might have the fix for your problem.

Okay, I tested in on Tumbleweed and same problem. It seems the bug has been fixed upstream in exo-open version 0.10.7, but Tumbleweed is still using 0.10.6.

Is this a bug in Tumbleweed, or do I just wait until they get around to updating it? I don’t have a problem with that if so.

Thanks,
James.

Hi,

Tumbleweed is using exo 10.6-1.4
The opensuse leap 42.1 xfce repositories has 10.6-87.42
If you want to try it this is the link:
http://download.opensuse.org/repositories/X11:/xfce/openSUSE_Leap_42.1/

Right, and the bug is fixed upstream in 10.7 …

I’m happy to try and build it myself or find a workaround, my only question is whether it would be helpful to the project and community to report it or not. I’m happy either way :).

Building exo-open 0.10.7 from source downloaded from XFCE’s site fixed the problem.

Thanks everyone for your time, I appreciate it!