Gabutdm – Powerful GTK4 Download Manager for Linux with File Transfer Support

Looking for a download manager application for your Linux? Try Gabutdm, a simple and fast tool with full of features!

It’s a free and open-source tool written in Vala programming language. With it, you can download all you need like Url links, Metalink, Magnet link, and Torrents using Aria2c.

Monitor Clipboard, Auto-verify checksum, Torrent seeding:

It monitors your clipboard and automatically opens the dialog once you copied a downloadable URL. Though, you can disable this feather in its settings dialog in case you don’t trust it.

It monitor clipboard. Open and paste the link automatically

Also, it supports HTTP or FTP downloads with user and password authentication, can automatically verify checksum, support GetProxy, Tunnel proxy via http/https/ftp, and BitTorrent seeding.

Gabut HTTP/FTP Login

Remote Access & File Sharing

The app also runs a local web service, allowing to remote control download manager, share folder over local network, and transfer files from your mobile devices to host. Simply, click on the home icon ‘⌂’ on app header bar, it will show you the QR code for scanning from your phone, as well as the ip address (usually ‘http://host_ip_address:2021’ ) to access manually via web browser.

Gabutdm QR Code for remote access

The default user and password for remote access are: gabutdm and 123456. You can change them and enable folder sharing from host to local network devices by going to ‘Sharing’ tab in Settings (click hamburger icon ‘≡’ to access it) dialog.

Share folder and change user & password

Once you access the app remotely, it shows you 3 buttons:

  • Download Manager – for managing downloads remotely.
  • File Transfer – to transfer file from current device (e.g., mobile phone) to the host that’s running Gabutdm service.
  • File Sharing – access files shared from the host.
Access Gabutdm remotely via web browser

Group downloads:

It’s a GTK4 app, but seems not using LibAdwaita. It follows system color scheme (Light or Dark) automatically, though you may set it manually.

The UI is quite suitable for those have large list of downloads, as it groups them in tabs: ‘Downloading’, ‘Paused’, ‘Complete’, ‘Waiting’, and ‘Error’.

There’s even a search button available in header bar to search your downloads. And, you may sort downloads via Name, Type, Size, and Time using the bottom right menu button.

The Gabut Download Manager UI

By clicking icon in the beginning of a download process, will pop-up the information dialog about download status, torrent info, peers, and speed limiters.

Download info

How to Install Gabut Download Manager in your Linux:

The app has an official PPA for Ubuntu & Linux Mint, though not ready at the moment of writing. It’s also available in Snap store but old.

Elementary OS users may install it from app store, while others can install the Flatpak package via following steps:

  • First, follow the link button to setup Flatpak daemon in your Linux in case you don’t have it:
    Tip: some Linux, such as Linux Mint, Fedora, Pop! OS, Cent OS has Flatpak support out-of-the-box!
  • Next, search for and open terminal either from system start menu or ‘Activities’ overview, and run command to install the app:
    flatpak install https://dl.flathub.org/repo/appstream/com.github.gabutakut.gabutdm.flatpakref

    Install GabutDM via Flatpak

After installation, search for and open it just like other normal applications:

For issues, please report bug at it’s project page.

Fix App Not Launching issue:

The download manager seems using GPU rendering to make it runs faster! However, it may refuse to launch due to permission issue.

By launching the app from command line will output something look like:

[email protected]:~$ flatpak run com.github.gabutakut.gabutdm 

libEGL warning: MESA-LOADER: failed to retrieve device information

libGL error: MESA-LOADER: failed to retrieve device information

** (com.github.gabutakut.gabutdm:2): WARNING **: 20:14:50.781: Utils.vala:1449: Could not connect to localhost: Connection refused
No provider of glGetShaderiv found.  Requires one of:
    Desktop OpenGL 2.0
    OpenGL ES 2.0

To fix the issue, simply grant GPU acceleration permission! And, this can be done via the Flatseal app:

  • First, open terminal and run command to install Flatseal:
    flatpak install https://dl.flathub.org/repo/appstream/com.github.tchx84.Flatseal.flatpakref
  • Next, search for and launch the app from ‘Activities’ overview (or start menu):

  • When the app opens, highlight ‘Gabut Download Manager’ in the left. In right, scroll download and turn on the option for ‘GPU acceleration (device=dri)’.

Uninstall Gabutdm:

To remove the app, open terminal and run command:

flatpak uninstall --delete-data com.github.gabutakut.gabutdm

And clear useless runtimes via flatpak uninstall --unused command.

Merilyn Ne
Hi, I'm Merilyn Ne, a computer geek working on Ubuntu Linux for many years and would like to write useful tips for beginners. Forgive me for language mistakes. I'm not a native speaker of English.