[SOLVED] DOCX/ODT thumbnails in Nemo 6.6.3 on Fedora 44 (without LibreOffice UI, without tumbler)

Setup:

  • Fedora 44
  • Nemo 6.6.3
  • ONLYOFFICE as default Office document editor
  • No full LibreOffice desktop install

The problem:
DOCX, ODT, XLSX, and other Office format files showed only generic icons in Nemo’s icon view. No thumbnails.

What did not work and why:

  1. tumbler — Installs and starts, registers on D-Bus, but on Fedora 44 the build is stripped. It has no Queue method, so it cannot actually process thumbnail requests. Confirmed via gdbus introspect. Dead end.

  2. gsf-office-thumbnailer — Already present via libgsf. This tool only works if the Office file has an embedded preview thumbnail baked in at save time. ONLYOFFICE does not always embed these, so the thumbnailer silently fails with “Could not find thumbnail in zip file.”

  3. Putting a .thumbnailer file in /usr/share/thumbnailers/ alone does nothing without tumbler working.

What actually works:

Nemo reads thumbnailer definitions from ~/.local/share/thumbnailers/ directly, without needing tumbler. Combined with LibreOffice running headless to render documents, this works reliably.

Step 1 — Install LibreOffice rendering components (no UI required):

sudo dnf install libreoffice-core libreoffice-writer libreoffice-draw libreoffice-impress

Step 2 — Create a wrapper script:

sudo tee /usr/local/bin/lo-thumbnailer << 'EOF'
#!/bin/bash
INPUT="$1"
OUTPUT="$2"
SIZE="$3"
TMPDIR=$(mktemp -d)
libreoffice --headless --convert-to png --outdir "$TMPDIR" "$INPUT" 2>/dev/null
RESULT=$(find "$TMPDIR" -name "*.png" | head -1)
if [ -f "$RESULT" ]; then
    mv "$RESULT" "$OUTPUT"
fi
rm -rf "$TMPDIR"
EOF
sudo chmod +x /usr/local/bin/lo-thumbnailer

Step 3 — Create the thumbnailer definition in the user-local directory:

mkdir -p ~/.local/share/thumbnailers
tee ~/.local/share/thumbnailers/libreoffice.thumbnailer << 'EOF'
[Thumbnailer Entry]
TryExec=/usr/local/bin/lo-thumbnailer
Exec=/usr/local/bin/lo-thumbnailer %i %o %s
MimeType=application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.presentation;application/msword;application/vnd.ms-excel;application/vnd.ms-powerpoint;
EOF

Step 4 — Clear the thumbnail cache and restart Nemo:

rm -rf ~/.cache/thumbnails/*
nemo -q

That is it. Thumbnails will generate on first load — LibreOffice renders each document headless, which takes a second or two per file.

Why ~/.local/share/thumbnailers/ and not /usr/share/thumbnailers/?
Nemo 6.6.3 reads the user-local thumbnailer directory directly without going through tumbler. Definitions in /usr/share/thumbnailers/ require a working tumbler Queue method, which is absent in the Fedora 44 build.

Note on tumbler:
If you want to confirm your tumbler build is broken, run:

gdbus introspect --session \
  --dest org.freedesktop.thumbnails.Manager1 \
  --object-path /org/freedesktop/thumbnails/Manager1

A working tumbler will show a Queue method. The Fedora 44 build shows only a Register method. This may be a packaging bug worth filing separately.

posting to enable marking a solution