Difference between revisions of "Transmission"

From ArchWiki
Jump to: navigation, search
(begin cleanup and fixup, first of several edits)
(Configuration: fix up)
Line 16: Line 16:
  
 
== Configuration ==
 
== Configuration ==
 +
Users need to make a decision regarding how transmission is to run on the system:
 +
# As the transmission user daemonized (recommended for increased security).
 +
# As their user without a daemon.
  
For transmission-gtk and transmission-qt, the default path of configuration files is {{ic|~/.config/transmission}}.
+
=== As the transmission users daemonized ===
 +
Start the {{ic|transmission}} daemon [[systemd#Using units|using systemd]].  Customize the options using a transmission client or using the included webinterface accessible via http://localhost:9091 in a supported browser.  Alternatively, the options can be modified using a text editor.  The package default location is {{ic|/var/lib/transmission/.config/transmission-daemon/settings.json}} which should be edited while the daemon is not running.
  
For transmission-cli, default configuration path is {{ic|~/.config/transmission-daemon}}.
+
{{Note|The above is not created until the daemon is run initially.}}
  
=== Run as a daemon ===
+
A recommendation for those running daemonized is to create a shared directory with the correct permissions to allow access to both the transmission user, and system users.  For example:
 +
# mkdir /mnt/data/torrents
 +
# chown -R facade:transmission /mnt/data/torrents
 +
# chmod -R 775 /mnt/data/torrents
  
Start the {{ic|transmission}} daemon [[systemd#Using units|using systemd]].
+
Now {ic|/mnt/data/torrents}} is accessible for the system user '''facade''' and for the '''transmission''' group to which the '''transmission''' user belongs.  Using chmod to make the target directory world read/writible is highly discouraged (i.e. do not chmod the dir to 777).  There are multiple way to allow a directory to be used by several users/groups.  Consult google for additional options.
  
Navigate to http://localhost:9091/ in your web browser to see the web client.
+
=== As any user not daemonized ===
 
+
Both transmission-gtk and transmission-qt can function autonomously without a formal backend daemonThe default path of configuration files is under this scenario is {{ic|~/.config/transmission}}.
You can edit the main configuration file {{ic|~/.config/transmission-daemon/settings.json}} to fit your preference. '''You need to stop the daemon''' before editing configuration files, or your edits '''will not be saved'''.
+
By default, the daemon will run as the user ''transmission'', whose home directory is {{ic|/var/lib/transmission/}}. This means the default location for the configuration file is {{ic|/var/lib/transmission/.config/transmission-daemon/settings.json}}.
+
 
+
{{Note|If you cannot find the {{ic|~/.config/transmission-daemon}} folder, run {{ic|transmission-daemon}} once to create it.}}
+
 
+
If you change your download location, make sure the ''transmission'' user has read/write privileges to your download directory.
+
 
+
==== Changing daemon user ====
+
To change the user the daemon is running as, simply override {{ic|1=User=}} in the service file with a drop-in config (see [[systemd#Editing provided unit files]]):
+
{{hc|/etc/systemd/system/transmission.service.d/user.conf|2=<nowiki>
+
[Service]
+
User=<custom user></nowiki>}}
+
Then run the following to reload the service file:
+
  # systemctl daemon-reload
+
When the daemon is started, it will create its settings in {{ic|~/.config/transmission-daemon/}}.
+
  
 
== See also ==
 
== See also ==

Revision as of 13:20, 13 December 2013

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:

  • transmission-cli - CLI tools, daemon, and web client.
  • transmission-gtk - GTK+ GUI.
    Note: The gtk client cannot connect to the daemon, so user wishing to use the daemon will need to consider using the qt package for a gui or the remote-cli package for a curses gui.
  • transmission-qt - Qt GUI.
  • {Pkg|transmission-remote-cli}} - Curses interface for the daemon.

At a minimum, the -cli package is required. See note above when choosing between the -gtk and -qt packages.

Configuration

Users need to make a decision regarding how transmission is to run on the system:

  1. As the transmission user daemonized (recommended for increased security).
  2. As their user without a daemon.

As the transmission users daemonized

Start the transmission daemon using systemd. Customize the options using a transmission client or using the included webinterface accessible via http://localhost:9091 in a supported browser. Alternatively, the options can be modified using a text editor. The package default location is /var/lib/transmission/.config/transmission-daemon/settings.json which should be edited while the daemon is not running.

Note: The above is not created until the daemon is run initially.

A recommendation for those running daemonized is to create a shared directory with the correct permissions to allow access to both the transmission user, and system users. For example:

# mkdir /mnt/data/torrents
# chown -R facade:transmission /mnt/data/torrents
# chmod -R 775 /mnt/data/torrents

Now {ic|/mnt/data/torrents}} is accessible for the system user facade and for the transmission group to which the transmission user belongs. Using chmod to make the target directory world read/writible is highly discouraged (i.e. do not chmod the dir to 777). There are multiple way to allow a directory to be used by several users/groups. Consult google for additional options.

As any user not daemonized

Both transmission-gtk and transmission-qt can function autonomously without a formal backend daemon. The default path of configuration files is under this scenario is ~/.config/transmission.

See also