[REQUEST] rmlint plugin/docker

3 posts in this topic Last Reply

Recommended Posts

I have been looking for ages for a de-dupe program that fulfills all my requirements and it looks like rmlint might be just what I am looking for and more. It even has a GUI now. I see it has been requested to be added to nerdtools but it makes more sense to me to have it as a docker or plugin. I think a docker would be better as it would be easier to take advantage of the GUI and a plugin would require compiling it for Slackware. There is already an image on docker hub that I will try and play around with in the next few days but I don't know what version it is at. It's at least a year old so i don't think it's up to date. I also don't know if the existing docker is set up for accessing the GUI over a webserver.

Edited by bobbintb
Link to post

I'm trying to build my own docker using this base image https://github.com/jlesage/docker-baseimage-gui for running GUI apps on a headless server. Unfortunately I can't figure out what package is missing because when trying to run the GUI I am getting 

Failed to load shredder: No module named 'shredder' 

I looked at the compile requirements for rmlint but it doesn't have Alpine so I've just been trying to figure it out as I go.

Link to post
  • 10 months later...

Following lesage's instructions, after downloading base,

setup the following two config files and docker commands.

file: Dockerfile

# Sample Dockerfile with xterm gui on Ubuntu (not alpine-3.6n)

FROM jlesage/baseimage-gui:ubuntu-18.04

RUN add-pkg sudo xterm
RUN add-pkg python3-gi-cairo gsettings-backend dconf-gsettings-backend rmlint-gui
# _-gi-cairo solves: TypeError: Couldn't find foreign struct converter for 'cairo.Context'

COPY startapp.sh /startapp.sh

# Set the name of the application, and other exported values
 # /config writable with UID 1000 gut /app directory still ro-unaccessible

 # solves limited privileges mentioned  (or else keep default UID 1000)


file: startapp.sh


exec /usr/bin/xterm


Run these docker commands in host terminal:

cd docker-baseimage-gui-master

docker build -t docker-xterm-rmlint .
docker run --rm -p 5800:5800 docker-xterm-rmlint


Your guest shell interface is accessible by browser URL:


Test virtual machine rmlint-gui by creating a duped file set:

mkdir subdir ; echo 123 | tee ./subdir/fileB > ./subdir/fileA

rmlint --gui # that's space-dash-dash-gui


In rmlint graphical interface:

[add current /app directory]

[click ">" on the right of /app]

[notice fileA and fileB are 2 twins]

[click on subdir]

[click on render-selected]

[notice original and dupe files listed at bottom of rendered script]

[click test with dry-run still activated, or allow real deletion prior to click]

- -


Beware, as of may2020, this rmlint gui on ubuntu 18 has 3 annoying attributes:

-> DANGEROUS : Ignores modifications made to rendered script, even if you save it!

-> Seems to ignore toggling which file is original and which is not

-> need to click on a directory containing all dupes files before rendering Selected



If you need to change manually the saved rendered script, run it from shell, not GUI.


Rmlint has many other features,

(lucky you if you use btrfs: check out cp --reflink=always)


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.