7

Recently I had a bunch of my own scripts for the thumbnails in Nautilus: WebP previews, sound waveforms, office documents and so on.

Seems like either I’m doing something wrong (thumbnail generation behavior changed), or custom thumbnailes don’t work in latest GNOME at all, even my previous scripts, which worked smoothly on previous versions of Ubuntu.

I’ve done some research, tried to run a simple script (see below) and it didn’t work out.

My test thumbnailer in /usr/share/thumbnailers/z.thumbnailer:

[Thumbnailer Entry]
Exec=/home/maximal/thumb.sh %s %i %u %o
MimeType=image/webp;image/x-webp

Where /home/maximal/thumb.sh is:

#!/bin/bash
echo $0 >> /home/maximal/thumb.log
echo $1 >> /home/maximal/thumb.log
echo $2 >> /home/maximal/thumb.log
echo $3 >> /home/maximal/thumb.log
echo $4 >> /home/maximal/thumb.log

Then, when I remove thumbnail cache rm -rf ~/.cache/thumbnails and restart Nautilus nautilus -q, my log file doesn’t contain anything and ~/.cache/thumbnails/fail/gnome-thumbnail-factory contains all the failed thumbs (looks like corrupted/empty PNGs):

Failed thumbnail file

So, apparently, Nautilus even didn’t try to execute my thumbnailer script. When I try to run thumb command itself, it works perfectly. For example convert through cwebp|dwebp package:

convert -thumbnail 256x256 file.webp png:file.webp.png

When I wrap this command to a thumbnailer, it looks like it wasn’t even requested to run by Nautilus.

[Thumbnailer Entry]
Exec=convert -thumbnail %sx%s %i png:%o
MimeType=image/webp;image/x-webp;

Exactly the same situation occurs with other my thumbnailers: audio waveforms, office documents, photoshop files and so on.

Could anyone help?

5
+100

I've gone thru the same trouble with some of my external thumbnailers.

After some researches, I realised that bubblewarp call fails under Ubuntu and Debian based distros because of --symlink option on /bin and /sbin. In fact under these distros, /bin and /usr/bin are not merged. So, both should be declared with --ro-bind instead of --symlink.

To make bwrap call from Nautilus work under Ubuntu, you need to replace --symlink calls with --ro-bind calls for /bin and /sbin

To solve speed issue with thumbnailers using imagemagick tools, you also need to add a --ro-bind for /etc/alternatives and /var/cache/fontconfig

So, simplest solution is to place a wrapper script under /usr/local/bin/bwrap which will do the job and then call original /usr/bin/bwrap. As /usr/local/bin is before /usr/bin in the PATH, it is transparent for Nautilus.

Wrapper script is available on my Github repo

I've written a small article to explain all into details and to provide wrapper script installation instruction. It has been tested under 18.04 and 18.10

http://bernaerts.dyndns.org/linux/360-ubuntu-nautilus-external-thumbnailer-failure

Hope it helps

  • Interesting. The symlink things should be fixed, see the source code I linked above, but now that I think about it, I am not sure it have percolated down to ubuntu. Will check your suggestion. By the way, for sure you should add a binf for /etc/alternatives too... See my bug report... Thanks! – Rmano Dec 19 '18 at 8:04
  • This is the patch I was mentioning gitlab.gnome.org/GNOME/gnome-desktop/commit/… – Rmano Dec 19 '18 at 8:34
  • Ok: tested and it worked. So the problem is that the patch above has not been added to Ubuntu, yet. I will report this in my bugreport; please chime in if you can. And if you have time, please complete this answer so that it's a bit more informative. It solved my problem though, so I'll grant the bounty. – Rmano Dec 19 '18 at 8:58
  • If you change the last line of your bwrap script to /usr/bin/bwrap --ro-bind /etc/alternatives /etc/alternatives --ro-bind /var/cache/fontconfig /var/cache/fontconfig "${ARR_PARAM[@]}" you solve this problem, the /etc/alternatives one, and the huge font generation slowdown... – Rmano Dec 19 '18 at 9:21
7

I'm using 18.04, but after 2018.11.28 update I had same issue. It is caused by sandboxing thumbnailers with bubblewrap (it cost me 2 days of research!!!).

So I downgraded gnome-desktop3-data, gir1.2-gnomedesktop-3.0, libgnome-desktop-3-17 (not sure if all 3 needed) and then removed bubblewrap.

It's a dirty hack and it weakens the security, but I don't care...

Maybe it will be not so easy on 18.10.

I hope somebody can write better solution...

0

I'm using 18.04 and I could not get the solution with the bwrap script to work. I have a thumbnailer somewhere in my home path, which works under 16.04. I can solve it in 18.04 by putting this program in /usr/bin.

protected by N0rbert Dec 15 '18 at 8:56

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.