How to Install Transmission on Fedora Linux

Last updated Tuesday, March 10, 2026 11:20 am 9 min read

Transmission stays popular on Linux because it covers three jobs without much overhead: a desktop BitTorrent client, a small command-line tool, and a daemon you can control from a browser or the terminal. If you want to install Transmission on Fedora, the default repositories already carry the GTK client, the Qt build, the CLI tools, and the headless daemon.

Flathub also ships a sandboxed desktop build for people who prefer Flatpak updates. That gives you a native desktop app, terminal-friendly tools, or a background service with web access, plus straightforward update and removal paths.

Install Transmission on Fedora

Fedora does not need a third-party repository for Transmission. The default packages cover the GTK client, the Qt build, the CLI tools, and the daemon, so the main choice is which interface you want to run.

MethodPackage or App IDUpdate pathBest fit
Fedora GTK buildtransmission-gtksudo dnf upgrade --refreshGNOME and other GTK desktops
Fedora Qt buildtransmission-qtsudo dnf upgrade --refreshKDE Plasma and other Qt desktops
Fedora CLI toolstransmission-clisudo dnf upgrade --refreshOne-off terminal downloads and torrent inspection
Fedora daemontransmission-daemonsudo dnf upgrade --refreshHeadless systems and web-based control
Flathub desktop buildcom.transmissionbt.Transmissionsudo flatpak updateSandboxed desktop install

Most desktop users should start with transmission-gtk. Use transmission-daemon when the client needs to stay running in the background, and pick Flathub only when you specifically want the sandboxed desktop build.

Update Fedora Before Installing Transmission

Refresh package metadata and apply any pending Fedora updates first:

sudo dnf upgrade --refresh

This article uses sudo for package management, services, and firewall changes. If your account does not have sudo access yet, follow the guide to add a user to sudoers on Fedora before continuing.

Install Transmission GTK on Fedora

The GTK build is the default choice for Fedora Workstation and other GTK-based desktops. The package installs a launcher named Transmission in Activities.

sudo dnf install transmission-gtk -y

Verify the GTK client is installed:

transmission-gtk --version
transmission-gtk 4.1.1 (56442e2929)

Install Transmission Qt on Fedora

The Qt build fits better on KDE Plasma and other Qt desktops. Fedora exposes this launcher as Transmission (Qt) in Activities.

sudo dnf install transmission-qt -y

Verify the Qt client is installed:

transmission-qt --version
transmission-qt 4.1.1 (56442e2929)

Install Transmission CLI Tools on Fedora

The CLI package is useful when you want to inspect a torrent file, kick off a one-off download, or work entirely from a shell without opening the desktop client. Unlike transmission-daemon, it runs in the foreground and exits when that download session ends.

sudo dnf install transmission-cli -y

Verify the CLI tools are available:

transmission-show --version
transmission-show 4.1.1 (56442e2929)

The same package also gives you transmission-cli, which can pull from a torrent file or magnet link directly from the terminal:

transmission-cli ~/Downloads/example.torrent -w ~/Downloads
transmission-cli "magnet:?xt=urn:btih:..." -w ~/Downloads

Install Transmission from Flathub on Fedora

Use the Flathub build when you want the desktop client in a Flatpak sandbox instead of as a native Fedora package.

Fedora Workstation includes Flatpak by default. On Server or minimal installs, run sudo dnf install flatpak first. The commands below keep sudo because Flathub is being added at system scope.

Add the Flathub remote if it is not configured yet:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Verify that both the Fedora and Flathub remotes are listed:

flatpak remotes
fedora	system,oci
flathub	system

Install the Flathub build of Transmission:

sudo flatpak install flathub com.transmissionbt.Transmission -y

Verify the Flatpak install with flatpak info:

flatpak info com.transmissionbt.Transmission
Transmission - Download and share files over BitTorrent

          ID: com.transmissionbt.Transmission
         Ref: app/com.transmissionbt.Transmission/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 4.1.1
      Origin: flathub
Installation: system

Launch Transmission on Fedora

After installation, Fedora can launch Transmission either from Activities or from the terminal.

Launch Transmission from Activities

Search for Transmission in Activities to open the GTK client or the Flatpak build. If you installed the Qt package, Activities also shows a separate launcher named Transmission (Qt).

Launch Transmission from the Terminal

Use the command that matches the build you installed:

transmission-gtk &
transmission-qt &
flatpak run com.transmissionbt.Transmission &

The trailing ampersand keeps your shell prompt free after the app opens. The daemon setup below is separate because transmission-daemon runs as a system service rather than as a desktop window.

Install and Configure Transmission Daemon on Fedora

Use transmission-daemon when Transmission needs to keep running after you close your terminal or when you want the built-in web interface for remote control.

Install and Start Transmission Daemon

The daemon package creates a dedicated transmission system user and stores its working files under /var/lib/transmission.

sudo dnf install transmission-daemon -y
sudo systemctl enable --now transmission-daemon

Verify that the service is active:

systemctl status --no-pager transmission-daemon
● transmission-daemon.service - Transmission BitTorrent Daemon
     Loaded: loaded (/usr/lib/systemd/system/transmission-daemon.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Tue 2026-03-10 10:50:15 AWST; 15ms ago
       Docs: man:transmission-daemon(1)
   Main PID: 2870 (transmission-da)

Create Download Directories for Transmission Daemon

Create the download directories before you change the daemon settings so the transmission user already owns them.

sudo install -d -o transmission -g transmission /srv/transmission/complete /srv/transmission/incomplete

Verify the ownership before continuing:

ls -ld /srv/transmission /srv/transmission/complete /srv/transmission/incomplete
drwxr-xr-x. 1 root         root         36 Mar 10 10:56 /srv/transmission
drwxr-xr-x. 1 transmission transmission  0 Mar 10 10:56 /srv/transmission/complete
drwxr-xr-x. 1 transmission transmission  0 Mar 10 10:56 /srv/transmission/incomplete

Edit Transmission Daemon Settings

Stop the daemon before editing settings.json. If you leave the service running, it can overwrite your changes when it exits.

sudo systemctl stop transmission-daemon
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json

Update the download paths, enable RPC authentication, and allow your LAN in the whitelist:

"download-dir": "/srv/transmission/complete",
"incomplete-dir": "/srv/transmission/incomplete",
"incomplete-dir-enabled": true,
"rpc-authentication-required": true,
"rpc-username": "fedora",
"rpc-password": "choose-a-strong-password",
"rpc-whitelist": "127.0.0.1,::1,192.168.1.*",
"rpc-whitelist-enabled": true,

Replace 192.168.1.* with your own LAN range. Transmission rewrites rpc-password into a hash the next time the daemon starts, so seeing a long brace-prefixed value afterward is normal.

Restart Transmission Daemon and Verify the Web UI

Start the service again after saving the file:

sudo systemctl start transmission-daemon

Verify that the web interface answers with HTTP 200 when you use the credentials you just set:

curl -s -u 'fedora:your-password' -o /dev/null -w "%{http_code}\n" http://127.0.0.1:9091/transmission/web/
200

Open the Transmission Web UI on Fedora

Replace your-password with the RPC password you set in settings.json. In a browser, open http://localhost:9091/transmission/web/ on the same machine or http://YOUR-FEDORA-IP:9091/transmission/web/ from another system on your LAN.

Open Firewalld Ports for Transmission Daemon

Open the web interface and peer ports if other systems need to reach this host. If you still need to set up the firewall service itself, follow the guide to install firewalld on Fedora first.

sudo firewall-cmd --permanent --add-port=9091/tcp
sudo firewall-cmd --permanent --add-port=51413/tcp
sudo firewall-cmd --permanent --add-port=51413/udp
sudo firewall-cmd --reload

Verify that the permanent rules are present:

sudo firewall-cmd --permanent --query-port=9091/tcp
sudo firewall-cmd --permanent --query-port=51413/tcp
sudo firewall-cmd --permanent --query-port=51413/udp
yes
yes
yes

Control Transmission Daemon with transmission-remote

The daemon install also pulls in transmission-common, which includes transmission-remote for terminal-side management.

transmission-remote 127.0.0.1:9091 -n 'fedora:your-password' -l
    ID    Done       Have  ETA              Up      Down  Ratio  Status       Name
Sum:                 None                  0.0       0.0

You can add either a torrent file or a magnet link the same way:

transmission-remote 127.0.0.1:9091 -n 'fedora:your-password' -a ~/Downloads/example.torrent
transmission-remote 127.0.0.1:9091 -n 'fedora:your-password' -a "magnet:?xt=urn:btih:..."

Update Transmission on Fedora

Native Transmission packages update through DNF, while the Flathub build updates through Flatpak.

Update Fedora Packages for Transmission

sudo dnf upgrade --refresh

Update the Transmission Flatpak

sudo flatpak update com.transmissionbt.Transmission

Troubleshoot Transmission on Fedora

Fix Transmission Web UI 403 Forbidden on Fedora

If the web interface opens locally but returns 403 Forbidden from another machine, the requesting IP is not inside rpc-whitelist.

The error looks like this:

curl -s http://YOUR-FEDORA-IP:9091/transmission/web/
<h1>403: Forbidden</h1>

Check the current whitelist values first:

sudo grep -E 'rpc-whitelist|rpc-whitelist-enabled' /var/lib/transmission/.config/transmission-daemon/settings.json
"rpc-whitelist": "127.0.0.1,::1",
"rpc-whitelist-enabled": true,

Add your LAN range to rpc-whitelist, then start the daemon again:

sudo systemctl stop transmission-daemon
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json
sudo systemctl start transmission-daemon

After the whitelist includes the client subnet, verify remote access with the credentials you configured:

curl -s -u 'fedora:your-password' -o /dev/null -w "%{http_code}\n" http://YOUR-FEDORA-IP:9091/transmission/web/
200

Fix Transmission Web UI 401 Unauthorized on Fedora

If the daemon answers but refuses the login, the credentials in settings.json no longer match what you are sending.

A quick check with curl shows the problem:

curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:9091/transmission/web/
401

Confirm that RPC authentication is enabled and which username is stored:

sudo grep -E 'rpc-authentication-required|rpc-username' /var/lib/transmission/.config/transmission-daemon/settings.json
"rpc-authentication-required": true,
"rpc-username": "fedora",

Reset the username or password, then start the daemon again:

sudo systemctl stop transmission-daemon
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json
sudo systemctl start transmission-daemon

Transmission hashes the new password when it starts, but the login should succeed immediately afterward:

curl -s -u 'fedora:your-password' -o /dev/null -w "%{http_code}\n" http://127.0.0.1:9091/transmission/web/
200

Remove Transmission from Fedora

Use the removal path that matches the method you installed.

Remove Fedora Packages for Transmission

If you installed the native Fedora packages, remove the ones you used. The example below removes every native Transmission package, and DNF automatically drops the unused transmission-common dependency at the same time.

sudo dnf remove -y transmission-gtk transmission-qt transmission-cli transmission-daemon

Verify that the Fedora packages are gone:

rpm -q transmission-gtk transmission-qt transmission-cli transmission-daemon transmission-common
package transmission-gtk is not installed
package transmission-qt is not installed
package transmission-cli is not installed
package transmission-daemon is not installed
package transmission-common is not installed

Remove the Transmission Flatpak

Remove the system-wide Flatpak app first, then clear any unused runtimes:

sudo flatpak remove com.transmissionbt.Transmission -y
sudo flatpak uninstall --unused -y

Verify that the Flatpak app is no longer installed:

flatpak info com.transmissionbt.Transmission
error: com.transmissionbt.Transmission/*unspecified*/*unspecified* not installed

Delete Remaining Transmission Data

The following commands permanently delete native desktop settings, daemon state, and Flatpak sandbox data. Back up anything you want to keep first, for example with sudo cp -a /var/lib/transmission ~/transmission-backup-daemon if you need to preserve the daemon queue and session files.

Removing the packages and Flatpak app can still leave these paths behind, so clean them up manually if you want a full reset:

rm -rf ~/.config/transmission
rm -rf ~/.var/app/com.transmissionbt.Transmission
sudo rm -rf /var/lib/transmission

Verify that the remaining data directories are gone:

test -d ~/.config/transmission && echo present || echo missing
test -d ~/.var/app/com.transmissionbt.Transmission && echo present || echo missing
sudo test -d /var/lib/transmission && echo present || echo missing
missing
missing
missing

Frequently Asked Questions

What is the difference between transmission-daemon and transmission-cli on Fedora?

transmission-daemon runs as a background service with a web UI and works well for always-on or headless systems. transmission-cli is a foreground terminal client for one torrent or magnet link at a time, and it exits when that session finishes.

Should I use the Fedora package or the Flathub build for Transmission?

Use the Fedora packages when you want the native GTK, Qt, CLI, or daemon packages and updates through sudo dnf upgrade --refresh. Use Flathub when you specifically want the sandboxed desktop app and separate Flatpak updates.

Does Transmission daemon have a default username or password?

No. Fedora starts transmission-daemon with rpc-authentication-required disabled, so the web UI does not have a default login. Once you turn authentication on, choose your own rpc-username and rpc-password; Transmission hashes the password after the daemon starts again.

Can I run Transmission on Fedora without the desktop client?

Yes. Install transmission-daemon for the web UI or transmission-cli for one-off torrent and magnet downloads from the terminal. You can manage a running daemon from the shell with transmission-remote.

Conclusion

Transmission on Fedora is ready as a desktop client, a terminal tool, or a daemon with a web UI, depending on the path you chose. If you plan to expose the daemon over the network, tighten the host first with this guide to install firewalld on Fedora, or move the service into containers with this guide to install Docker on Fedora.

Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Leave a Comment

We read and reply to every comment - let us know how we can help or improve this guide.

Let us know you are human: