Difference between revisions of "Transmission"

From ArchWiki
Jump to: navigation, search
(Run as a daemon)
m (Without Using the Systemd Service: transmission-daemon can also be run as standard user.)
(16 intermediate revisions by 9 users not shown)
Line 2: Line 2:
 
[[de:Transmission]]
 
[[de:Transmission]]
 
[[it:Transmission]]
 
[[it:Transmission]]
{{expansion|Systemd configuration needed.}}
+
[[zh-CN:Transmission]]
[http://www.transmissionbt.com/ Transmission] is a light-weighted and cross-platform BitTorrent client. It is the default BitTorrent client in many Linux distributions.
+
[http://www.transmissionbt.com/ Transmission] is a light-weight and cross-platform BitTorrent client. It is the default BitTorrent client in many Linux distributions.
  
==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.
+
== 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.
  
==Configuration==
+
=== Using the Systemd Service (Recommended) ===
For {{pkg|transmission-gtk}} and {{pkg|transmission-qt}}, the default path of configuration files is {{ic|~/.config/transmission}}.
+
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 {{pkg|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
  
{{Note|
+
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 cannot find the {{ic|~/.config/transmission-daemon}} folder, run {{ic|transmission-daemon}} once to create it.
+
*'''You need to stop the daemon''' before editing configuration files, or your edits '''will not be saved'''.}}
+
  
To run transmission as a [[daemon]], you need have {{pkg|transmission-cli}} installed. By default, the daemon will run as the user {{ic|transmission}}, whose home directory is {{ic|/var/lib/transmission/}}.
+
=== 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}}.
  
If you use initscripts, you can change the user in {{ic|/etc/conf.d/transmissiond}}:
+
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}}.
  
TRANS_USER="<your user name>"
+
== See Also ==
  
If you use systemd, you have to override the user in both the service file ({{ic|/usr/lib/systemd/system/transmission.service}}) and the tmpfile ({{ic|/usr/lib/tmpfiles.d/transmission.conf}}). To do so, copy both files to the appropriate directory in {{ic|/etc}}:
 
# cp /usr/lib/systemd/system/transmission.service /etc/systemd/system/
 
# cp /usr/lib/tmpfiles.d/transmission.conf /etc/tmpfiles.d/
 
 
Create a new group named for example, {{ic|transmission}}:
 
# groupadd transmission
 
 
Add your custom user to the newly created {{ic|1=[group]}} ie. {{ic|transmission}}:
 
# gpasswd -a [user] [group]
 
 
Then change {{ic|1=User=}} to your custom user in the service file and edit the tmpfile to the following:
 
{{hc|/etc/tmpfiles.d/transmission.conf|
 
d /run/transmission - [user] [group] -}}
 
Then run {{ic|systemd-tmpfiles --create transmission.conf}} and restart the transmission service.
 
 
You may need to reload service files after editing:
 
# systemctl daemon-reload
 
 
Don't forget to change permissions to '''777''' on folder '/run/transmission'.
 
 
Navigate to {{ic|http://127.0.0.1:9091}} in web browser and you can see the Web client.
 
 
You can also edit the main configuration file {{ic|~/.config/transmission-daemon/settings.json}} or {{ic|/var/lib/transmission/.config/transmission-daemon/settings.json}} to fit your preference. Or place a symlink to your media drive in Downloads dir set in config, just make sure the transmission ''user'' has rw privileges to your media drive dirs:
 
 
ln -s /media/USB_Movies/Downloads /home/user/Downloads
 
chown user /media/USB_Movies/Downloads
 
 
If you would use Transmission daemon with its own group, you have to give the writing permission to transmission group in your download's directory. For this you need to run:
 
# chgrp transmission /path/to/download
 
# chmod g+w /path/to/download
 
 
==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