Transmission is a light-weight and cross-platform BitTorrent client. It is the default BitTorrent client in many Linux distributions.
There are several options in official repositories:
- CLI, and web client (http://localhost:9091) interfaces. - daemon, with
- - Curses interface for the daemon.
- - GTK3 package.
- - Qt5 package.
Configuring the GUI version
Both GUI versions, transmission-gtk and transmission-qt, can function autonomously without a formal back-end daemon.
GUI versions are configured to work out-of-the-box, but the user may wish to change some of the settings. The default path to the GUI configuration files is
A guide to configuration options can be found on the Transmission web site: https://trac.transmissionbt.com/wiki/EditConfigFiles#Options.
Transmission-daemon and CLI
The commands for transmission-cli are:
- transmission-daemon: starts the daemon.
- transmission-remote: invokes the CLI for the daemon, whether local or remote, followed by the command you want the daemon to execute.
- transmission-remote-cli: (requires curses interface for the daemon, whether local or remote. ) starts the
- transmission-cli: starts a non-daemonized local instance of transmission, for manually downloading a torrent.
- transmission-show: returns information on a given torrent file.
- transmission-create: creates a new torrent.
- transmission-edit: add, delete, or replace a tracker's announce URL.
Starting and stopping the daemon
As explained in #Choosing a user, the
transmission daemon can be run:
- As the user
transmission, by running as root:
# transmission-daemonThe daemon can then be stopped with:
# killall transmission-daemon
- As your own user, by running under your user name:
$ transmission-daemonThe daemon can then be stopped with:
$ killall transmission-daemon
- Starting (and stopping) the
transmissionservice with systemctl will use the user set in #Choosing a user. Note that the name for the systemd service is
Starting the daemon will create an initial transmission configuration file. See #Configuring the daemon.
An alternative option to stop the
transmission daemon is to use the transmission-remote command:
$ transmission-remote --exit
Autostart at boot
transmission daemon to run at system start, using systemd.
Note that the name for the systemd service is
Run only while connected to network
#!/bin/bash killall transmission-daemon
Choosing a user
Choose how you want to run
- As a separate user,
transmissionby default (recommended for increased security).
By default, transmission creates a user and a group
transmission, with its home files at
/var/lib/transmission/, and runs as this "user". This is a security precaution, so transmission, and its downloads, have no access to files outside of
/var/lib/transmission/. Configuration, operation, and access to downloads needs to be done with "root" privileges (e.g. by using sudo).
- Under the user's own user name.
To set this up, override the provided service file and specify your username:
Configuring the daemon
Create an initial configuration file by starting the daemon.
- If running Transmission under the username
transmission, the configuration file will be located at
- If running Transmission under your own username, the configuration file will be located at
One can customize the daemon by using a Transmission client or using the included web interface accessible via http://localhost:9091 in a supported browser.
A guide to configuration options can be found on the Transmission web site: https://trac.transmissionbt.com/wiki/EditConfigFiles#Options
A recommendation for those running under username
transmission is to create a shared download directory with the correct permissions to allow access to both the
transmission user and system users, and then to update the configuration file accordingly. For example:
# mkdir /mnt/data/torrents # chown -R facade:transmission /mnt/data/torrents # chmod -R 775 /mnt/data/torrents
/mnt/data/torrents will be accessible for the system user
facade and for the
transmission group to which the
transmission user belongs. Making the target directory world read/writable is highly discouraged (i.e. do not chmod the directory to 777). Instead, give individual users/groups appropriate permissions to the appropriate directories.