I found a list of some GUI duplicate finders while doing searches and thought I would add to this since this page had pretty decent SEO rankings in my searches.
Note that these should all be disto-agnostic (e.g. they should work with Ubuntu as well as any other distro) but I have not tested them. The listed apps do all meet the requirements mentioned in the OP to the best of my knowledge (e.g. they are Linux native apps and have GUIs, from the descriptions they should all work as duplicate detectors as well). I have opted to try to keep my notes fairly distro-agnostic as well.
The link contains a table which attempts to do a feature comparison. I am not going to rip-off the table, but I understand that people like answers to contain more than just a link, so I will also list out the apps from the list along with some of my own notes:
- DupeGuru: Same thing suggested in the other answer, this is probably what I would recommend for most users as well (especially for those on Ubuntu as it has an official PPA for Ubuntu Focal/Bionic/Xenial at time of writing or deb files on their GitHub releases page). If you are on a non-Ubuntu/Debian-based distro, there is a tar file or you can build from source.
- Rmlint-GUI: Some pages I saw mentioned that this was formerly called "Shredder". I've seen a lot of good mentions online but have not tried it yet myself. I had found this documentation link prior to finding the linked comparison table. I'm not on an Ubuntu pc at the moment but according to repology it should be in the central repos for most distros including Ubuntu, Debian, Arch, Manjaro, Fedora and many others. It does not appear to have any precompiled binary releases on GitHub but can be built from source.
- DetWinner: I don't really know anything about this one. One interesting thing from their GitHub readme is that is supports "searching and removing duplicate files and similar images". It has a flatpak available here. But it does not appear to be in any distro's central repos (per repology) nor does it appear to offer snaps or precompiled binaries. So if flatpaks aren't an option, building from source may be the only other route.
- Czkawka: Neat rust-based GUI but might have an issue if you want report only without actually deleting the duplicates (see note and linked issue below - I did not verify this issue myself, just passing along the warning). According to this page, it should be available via snap, flatpak, appimage, rust's
cargo
manager, PPA, AUR (for Arch users), precompiled binaries on GitHub, or building from source.
- FSlint: This is deprecated in Ubuntu 20.04 and later due to python2 dependencies but workarounds exist if you are ok with installing deprecated packages or using an unofficial snap. I do not recommend this for most users. (unless a new python3 fork comes out... I wouldn't hold my breath as the dev - pixelb - has already stated "I don't really have time for [continuing to maintain fslint] TBH." and recommended czkawka as a more modern replacement).
However, I think at least one of the linked projects may require manually compiling, unless you are ok with flatpaks and the like.
There's also at least one issue to be aware of: a user in the linked thread reported that "Czkawka will just delete all copies of a file without warning, unlike FSLint". I know one page I came across for it did mention a "Preview" button, so it is possible that there are different actions and only preview makes no changes. So I am not clear from the comments whether this was a bug / unexpected behavior of the program or some misunderstanding on the part of the user. Either way, if you opt to try Czkawk, it seems prudent that you run some tests on data you don't care about first.