Jump to content
Sign in to follow this  
bobbintb

[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

Share this post


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.

Share this post


Link to post

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
ENV APP_NAME="Xterm"
ENV TAKE_CONFIG_OWNERSHIP 1
 # /config writable with UID 1000 gut /app directory still ro-unaccessible

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

 

file: startapp.sh

#!/bin/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:
http://localhost:5800/

 

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

 

Solution:

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)

 

Share this post


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.

Guest
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.

Sign in to follow this