Transmission provides a lightweight BitTorrent client that handles downloading and sharing files with minimal system overhead. Whether you want to grab large Linux ISOs, sync datasets from academic torrents, run a seedbox on your home server, or automate downloads via command-line scripts, Transmission offers dedicated packages for each scenario. This guide covers every installation method available on Fedora, from the GTK desktop client to the headless daemon with web interface access. By the end, you will have Transmission installed, configured for your workflow, and verified as working correctly.
Choose Your Transmission Installation Method
Transmission is available through Fedora’s official repositories and Flathub, so you have flexibility in how you install and update the client. The table below compares your options:
| Method | Channel | Version | Updates | Best For |
|---|---|---|---|---|
| DNF (GTK) | Fedora Repos | Stable | Automatic via dnf upgrade | GNOME desktop users who want distro-tested packages |
| DNF (Qt) | Fedora Repos | Stable | Automatic via dnf upgrade | KDE Plasma users who prefer Qt applications |
| DNF (Daemon) | Fedora Repos | Stable | Automatic via dnf upgrade | Headless servers, NAS devices, always-on systems |
| Flatpak | Flathub | Latest stable | Manual via flatpak update | Users who want sandboxing and the newest release |
For most desktop users, the DNF GTK method is recommended because it integrates seamlessly with GNOME, receives security updates through standard system upgrades, and requires no additional setup. Choose the daemon if you plan to run Transmission on a server or want web-based remote access.
Method 1: Install Transmission via DNF
Fedora’s official repositories provide several Transmission packages tailored to different use cases. Before installing, update your system to ensure you have the latest package metadata and security patches:
sudo dnf upgrade --refresh
Install Transmission GTK (Desktop)
The GTK version provides a graphical interface that integrates well with GNOME and other GTK-based desktop environments. As a result, this package is suitable for most desktop users:
sudo dnf install transmission-gtk -y
This command also installs transmission-common, which provides shared utilities like transmission-remote for command-line control and transmission-create for making torrent files.
Once installation completes, verify the application is available:
transmission-gtk --version
transmission-gtk 4.x.x (xxxxxxxxxx)
Install Transmission Qt (KDE Plasma)
If you use KDE Plasma or another Qt-based desktop environment, the Qt version provides a native look and feel that matches your system theme:
sudo dnf install transmission-qt -y
Next, verify the installation succeeded by checking the version:
transmission-qt --version
transmission-qt 4.x.x (xxxxxxxxxx)
Install Transmission CLI Tools Only
For users who only need command-line utilities without a graphical interface or daemon, the CLI package provides standalone tools for creating, editing, and inspecting torrent files:
sudo dnf install transmission-cli -y
This package includes several tools: transmission-cli (a minimal BitTorrent client), transmission-create, transmission-edit, and transmission-show. To verify the installation, run:
transmission-show --version
transmission-show 4.x.x (xxxxxxxxxx)
Method 2: Install Transmission via Flatpak
Flatpak provides Transmission in a sandboxed environment, which isolates the application from your system and ensures you receive the latest upstream releases. Although Fedora Workstation includes Flatpak by default, you may need to add the Flathub repository.
Add the Flathub Repository
Flathub is the primary source for Flatpak applications. Add it to your system if it is not already configured:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
The --if-not-exists flag prevents errors if Flathub is already present. To confirm the remote is active, list configured remotes:
flatpak remotes
Name Options fedora system,oci flathub system
Install Transmission from Flathub
With Flathub configured, you can now install Transmission using the Flatpak command:
flatpak install flathub com.transmissionbt.Transmission -y
During the first installation, Flatpak downloads the required GNOME runtime (approximately 600 MB), which subsequent GNOME applications will share. Once complete, verify the installation:
flatpak list | grep -i transmission
Transmission com.transmissionbt.Transmission 4.x.x stable system
Launch Transmission
After installation, you can start Transmission either from your desktop environment or the terminal.
Launch from Applications Menu
To get started, search for “Transmission” in Activities and open it. The application appears in your applications menu immediately after installation without requiring a logout.


Launch from Terminal
To launch the DNF-installed GTK version, run:
transmission-gtk &
Similarly, launch the Qt version with:
transmission-qt &
If you installed via Flatpak, use:
flatpak run com.transmissionbt.Transmission &
In each case, the ampersand (&) runs the application in the background, freeing your terminal for other commands.
Configure Transmission Daemon for Server Use
The Transmission daemon runs as a background service, making it ideal for headless servers, NAS devices, or systems that need to download torrents continuously. If you are setting up a dedicated download server, you might also consider running Transmission in a Docker container on Fedora for additional isolation. This section covers installing and configuring the native daemon for remote access through its built-in web interface.
Install the Transmission Daemon
First, install the daemon package, which includes the systemd service and the transmission system user:
sudo dnf install transmission-daemon -y
During installation, the package creates a dedicated transmission user with its home directory at /var/lib/transmission. This user runs the daemon process and owns downloaded files.
Start and Enable the Service
First, start the daemon and enable it to run automatically at boot:
sudo systemctl enable --now transmission-daemon
Then verify the service is running:
systemctl status 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 ...; 5s ago
Main PID: 12345 (transmission-da)
Tasks: 3 (limit: 4652)
Memory: 8.0M
CPU: 150ms
CGroup: /system.slice/transmission-daemon.service
└─12345 /usr/bin/transmission-daemon -f --log-level=error
Configure the Daemon Settings
Transmission stores its configuration in a JSON file that the daemon creates on first run. Because the daemon rewrites this file when it shuts down, you must stop the service before editing to prevent your changes from being overwritten:
sudo systemctl stop transmission-daemon
Next, open the settings file in a text editor:
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json
If the file does not exist, start the daemon once (
sudo systemctl start transmission-daemon), wait a few seconds, then stop it again. This allows the daemon to generate a default configuration file.
Common Configuration Options
Below are frequently modified settings. Edit the JSON values as needed:
Download directory:
"download-dir": "/home/downloads/complete",
Incomplete downloads directory (keeps partial downloads separate):
"incomplete-dir": "/home/downloads/incomplete",
"incomplete-dir-enabled": true,
Speed limits (values in KB/s):
"speed-limit-down": 5000,
"speed-limit-down-enabled": true,
"speed-limit-up": 500,
"speed-limit-up-enabled": true,
Remote access authentication:
"rpc-authentication-required": true,
"rpc-username": "admin",
"rpc-password": "your-secure-password",
When you restart the daemon, Transmission automatically hashes the password for security. As a result, the plaintext password you enter is replaced with a hash that cannot be reversed.
Allow remote connections (enable access from other devices on your network):
"rpc-whitelist": "127.0.0.1,192.168.1.*",
"rpc-whitelist-enabled": true,
Replace 192.168.1.* with your local network range. To allow all IP addresses (not recommended for internet-exposed servers), set "rpc-whitelist-enabled": false.
Apply Configuration and Restart
After saving your changes, restart the daemon:
sudo systemctl start transmission-daemon
At this point, the web interface is accessible at http://localhost:9091 (or your server’s IP address if connecting remotely). If you enabled authentication, enter the username and password you configured.
Open Firewall Port for Remote Access
If you want to access the web interface from another computer on your network, open port 9091 in firewalld:
sudo firewall-cmd --permanent --add-port=9091/tcp
sudo firewall-cmd --reload
Additionally, for better peer connectivity and faster downloads, open the default peer listening port:
sudo firewall-cmd --permanent --add-port=51413/tcp
sudo firewall-cmd --permanent --add-port=51413/udp
sudo firewall-cmd --reload
Finally, verify the ports are open:
sudo firewall-cmd --list-ports
9091/tcp 51413/tcp 51413/udp
Manage Torrents with transmission-remote
In addition to the web interface, the transmission-remote command allows you to control the daemon from the terminal. This tool is included in the transmission-common package, which is installed as a dependency of the daemon.
Add a torrent:
transmission-remote -a /path/to/file.torrent
Add a magnet link:
transmission-remote -a "magnet:?xt=urn:btih:..."
List all torrents:
transmission-remote -l
ID Done Have ETA Up Down Ratio Status Name
1 45% 1.2 GB 3 hrs 0.0 2.5M 0 Downloading example-file.iso
Sum: 1.2 GB 0.0 2.5M
Remove a torrent (keep downloaded files):
transmission-remote -t 1 -r
Remove a torrent and delete files:
transmission-remote -t 1 -rad
If you configured authentication, add the -n flag with your credentials:
transmission-remote -n admin:password -l
Update Transmission
Keeping Transmission updated ensures you have the latest security patches and protocol improvements. Here is how to update each installation type.
Update DNF Installation
Transmission receives updates through standard system upgrades. Run the following command to update all packages, including Transmission:
sudo dnf upgrade --refresh
Update Flatpak Installation
If you installed via Flatpak, update all Flatpak applications with:
flatpak update
Alternatively, to update only Transmission:
flatpak update com.transmissionbt.Transmission
Troubleshooting
Web Interface Shows “403 Forbidden”
If you receive a 403 error when accessing the web interface from another computer, the IP whitelist is likely blocking your connection. First, check whether your current IP is allowed in the settings:
sudo grep rpc-whitelist /var/lib/transmission/.config/transmission-daemon/settings.json
To resolve this, stop the daemon, add your network range to the whitelist, then restart:
sudo systemctl stop transmission-daemon
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json
# Edit: "rpc-whitelist": "127.0.0.1,192.168.1.*",
sudo systemctl start transmission-daemon
Permission Denied on Download Directory
If the daemon cannot write to your download directory, the transmission user likely lacks appropriate permissions. First, check ownership:
ls -la /path/to/downloads
Then grant the transmission user access by adding it to the directory’s group or changing ownership:
sudo chown -R transmission:transmission /path/to/downloads
Alternatively, add your user to the transmission group and set group-writable permissions:
sudo usermod -aG transmission $USER
sudo chmod -R g+rw /path/to/downloads
Daemon Configuration Changes Not Applied
If your settings.json changes are not taking effect, the daemon may be overwriting them. Always stop the daemon before editing:
sudo systemctl stop transmission-daemon
# Make your changes
sudo systemctl start transmission-daemon
However, if the file still reverts, check that you are editing the correct file at /var/lib/transmission/.config/transmission-daemon/settings.json and not a different location.
SELinux Prevents Access to Download Directory
By default, Fedora enables SELinux, which may block the daemon from accessing directories outside its default paths. If you see “Permission denied” errors despite correct file permissions, SELinux is likely the cause. To check for denials, run:
sudo ausearch -m avc -ts recent | grep transmission
To allow the daemon to write to a custom directory, apply the correct SELinux context:
sudo semanage fcontext -a -t transmission_home_t "/path/to/downloads(/.*)?"
sudo restorecon -Rv /path/to/downloads
As a result, this sets the proper SELinux type so the Transmission daemon can read and write files in your custom download location.
Remove Transmission
If you no longer need Transmission, remove it using the method matching your installation.
Remove DNF Installation
First, uninstall the Transmission packages you installed:
sudo dnf remove transmission-gtk transmission-qt transmission-daemon transmission-cli -y
Next, remove orphaned dependencies that were installed alongside Transmission:
sudo dnf autoremove -y
Finally, verify the removal succeeded:
rpm -q transmission-gtk transmission-daemon
package transmission-gtk is not installed package transmission-daemon is not installed
Remove Flatpak Installation
To uninstall the Flatpak application, run:
flatpak uninstall com.transmissionbt.Transmission -y
Afterward, remove unused Flatpak runtimes to free disk space:
flatpak uninstall --unused -y
Remove User Configuration and Data
Warning: The following commands permanently delete Transmission configuration and cached data. If you want to preserve your settings or torrent history, back up these directories first.
To clean up the GTK or Qt desktop client, remove user configuration:
rm -rf ~/.config/transmission
If you used the daemon, remove the service data directory:
sudo rm -rf /var/lib/transmission
Finally, for Flatpak installations, remove sandboxed application data:
rm -rf ~/.var/app/com.transmissionbt.Transmission
Conclusion
At this point, you have Transmission installed and configured on Fedora. The GTK and Qt clients provide straightforward desktop interfaces, while the daemon enables headless operation with remote web access. For ongoing maintenance, standard system updates keep your installation current with security patches and protocol improvements.
Useful Links
For more information about Transmission, visit the official project resources:
- Transmission Official Website: Download options, features overview, and project news
- Transmission GitHub Repository: Source code, issue tracker, and release notes
- Transmission Discussions: Community support and feature requests
- Transmission Forum: User support and troubleshooting