Transmission

From ArchWiki
Revision as of 04:31, 1 March 2014 by Kynikos.bot (Talk | contribs) (recategorize)

Jump to: navigation, search

Transmission is a light-weight and cross-platform BitTorrent client. It is the default BitTorrent client in many Linux distributions.

Installation

There are several options in official repositories:

Note: The GTK client cannot connect to the daemon, so users wishing to use the daemon will need to consider using the Qt package for a GUI or the remote-cli package for a curses-based GUI.

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 ~/.config/transmission.

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 transmission-remote-cli) starts the curses interface for the daemon, whether local or remote.
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-daemon
    The daemon can then be stopped with:
    # killall transmission-daemon
  • As your own user, by running under your user name:
    $ transmission-daemon
    The daemon can then be stopped with:
    $ killall transmission-daemon
  • Starting (and stopping) the transmission service with systemctl will use the user set in #Choosing a user. Note that the name for the systemd service is transmission, not transmission-daemon.

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

Enable the transmission daemon to run at system start, using systemd.

Note that the name for the systemd service is transmission, not transmission-daemon.

Run only while connected to network

Netctl

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Todo (Discuss in Talk:Transmission#)
Wicd

Create a start script in folder /etc/wicd/scripts/postconnect, and a stop script in folder /etc/wicd/scripts/predisconnect. Remember to make them executable. For example:

/etc/wicd/scripts/postconnect/transmission
#!/bin/bash

/usr/bin/transmission-daemon
/etc/wicd/scripts/predisconnect/transmission
#!/bin/bash

killall transmission-daemon
NetworkManager

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Todo (Discuss in Talk:Transmission#)

Choosing a user

Choose how you want to run transmission:

  • As a separate user, transmission by 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:

/etc/systemd/system/transmission.service.d/transmission.conf
[Service]
User=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 /var/lib/transmission/.config/transmission-daemon/settings.json.
  • If running Transmission under your own username, the configuration file will be located at ~/.config/transmission-daemon/settings.json.

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

Note: If you want to edit the configuration manually using a text editor, stop the daemon first; otherwise, it would overwrite its configuration file when it closes.

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

Now /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.

Note: If /mnt/data/torrents is located on a removable device, e.g. with an /etc/fstab entry with the option nofail, Transmission will complain that it cannot find your files. To remedy this, you can add RequiresMountsFor=/mnt/data/torrents to /etc/systemd/system/transmission.service.d/transmission.conf.

See also