Difference between revisions of "Transmission"

From ArchWiki
Jump to: navigation, search
m (Installation: Added note about requiring transmission-cli for web-client)
m (Without Using the Systemd Service: transmission-daemon can also be run as standard user.)
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
== Installation ==
 
== Installation ==
 
 
There are several options in [[official repositories]]:
 
There are several options in [[official repositories]]:
 +
* {{Pkg|transmission-cli}} - CLI tools, daemon, and web client.
 +
* {{Pkg|transmission-gtk}} - GTK+ GUI.
 +
* {{Pkg|transmission-qt}} - Qt GUI.
 +
* {{Pkg|transmission-remote-cli}} - Curses interface for the daemon.
  
* {{Pkg|transmission-cli}} - includes CLI tools, daemon and web client
+
{{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.}}
  
* {{Pkg|transmission-gtk}} - GTK+ GUI
+
At a minimum, the -cli package is required.  See note above when choosing between the -gtk and -qt packages.
 
+
* {{Pkg|transmission-qt}} - Qt GUI
+
 
+
If you install {{Pkg|transmission-gtk}} or {{Pkg|transmission-qt}} and you want to use the remote web client then you must also install {{Pkg|transmission-cli}} as that is where the {{ic|/usr/share/transmission/web/}} files are packaged.
+
  
 
== 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}}.
+
=== Using the Systemd Service (Recommended) ===
 
+
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}}.
+
 
+
=== Run as a daemon ===
+
 
+
Start the {{ic|transmission}} daemon [[systemd#Using units|using systemd]].
+
  
Navigate to http://localhost:9091/ in your web browser to see the web client.
+
{{Note|The above is not created until the daemon is run initially.}}
  
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'''.
+
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:
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}}.
+
# mkdir /mnt/data/torrents
 +
# chown -R facade:transmission /mnt/data/torrents
 +
# chmod -R 775 /mnt/data/torrents
  
{{Note|If you cannot find the {{ic|~/.config/transmission-daemon}} folder, run {{ic|transmission-daemon}} once to create it.}}
+
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.
  
If you change your download location, make sure the ''transmission'' user has read/write privileges to your download directory.
+
=== Without Using the Systemd Service ===
 +
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 {{ic|~/.config/transmission}}.
  
==== Changing daemon user ====
+
When run with standard user rights, transmission-daemon configuration files are saved under {{ic|~/.config/transmission-daemon}}. By default the download location is set to {{ic|~/Downloads}}.
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 ==
  
 
*[https://trac.transmissionbt.com/wiki Transmission wiki]
 
*[https://trac.transmissionbt.com/wiki Transmission wiki]
 
*[https://trac.transmissionbt.com/wiki/HeadlessUsage/General HeadlessUsage]
 
*[https://trac.transmissionbt.com/wiki/HeadlessUsage/General HeadlessUsage]

Revision as of 13:44, 4 January 2014

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

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.

Using the Systemd Service (Recommended)

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

Without Using the Systemd Service

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.

When run with standard user rights, transmission-daemon configuration files are saved under ~/.config/transmission-daemon. By default the download location is set to ~/Downloads.

See Also