Installing Transmission on Ubuntu

This tutorial will show you how to install the Transmission BitTorrent client on Ubuntu.

Ubuntu Transmission BitTorrent Client

Transmission is a popular BitTorrent client you can install to your Ubuntu operating system.

This client is known for being lightweight while having a reasonably packed feature set. It even boasts a web interface so you can interact with the torrent client remotely.

An advantage of using a resource-friendly torrent client like Transmission on Ubuntu is that you can run it without draining the rest of the system. Of course, it will still affect your internet speed if you don’t set any bandwidth limits.

If you don’t know what torrents are, it’s a peer-to-peer protocol for transferring files. It is especially useful when dealing with large amounts of data. Each torrent client that connects can both download and upload parts of the file at the same time.

By the end of the following section, you will have the Transmission client running on your Ubuntu device. You can even install newer versions of Transmission, such as 4.0, to Ubuntu by following these steps.

How to Install Transmission on Ubuntu

We are going to offer two different solutions to getting Transmission on Ubuntu.

If you are happy with the version that the Ubuntu repository provides, then go with the first section. However, if you want the latest and greatest version of Transmission, you can follow our second section.

Installing from the Ubuntu Package Repository

In this section, we will show you the simplest way to install Transmission to your Ubuntu system.

This method will install the version available from the official package repository. Using the package repository has its pros and cons.

Installing Transmission from the Package Repo

1. Before we get started with installing Transmission, let us begin by updating any existing packages.

To do this, we need to update the package list and upgrade any out-of-date ones using the following two commands.

sudo apt update
sudo apt upgrade -y

The package list is a cache of all available packages, their version, and where apt can download them. If you plan on installing or upgrading a package, you should run “sudo apt update” beforehand.

2. Once the update is completed, we can install Transmission directly from the official package repository.

Installing Transmission to Ubuntu this way means you will get the version currently being provided by the repository. This version can differ depending on the release of Ubuntu you are using. The newer version of Ubuntu, the newer version of Transmission you will likely get.

You now must decide whether you want the desktop UI or just the web interface.

To install Transmission with its desktop interface, use the following command.

sudo apt install transmission

Alternatively, if you are running Ubuntu server or just don’t need the GUI you can install the daemon version of Transmission by using the following. command.

sudo apt install transmission-daemon

Enabling the Web Interface when using the Transmission Daemon

3. If you use the Daemon version of Transmission on Ubuntu, you must manually edit the configuration file.

You can begin editing the configuration file by using the following command.

sudo nano /etc/transmission-daemon/settings.json

4. With the file open, you will want to ensure that RPC is enabled. In our case, it already was enabled.

You can verify it is enabled by searching for the following setting and ensuring it is set to “true“.

    "rpc-enabled": true,

5. Next, you must re-adjust the “RPC Whitelist” setting. By default, only the current localhost can access the web interface.

Start by finding the following line within this file.

    "rpc-whitelist": "127.0.0.1",

You will want to adjust this line by adding your IP address to the current value. To add a new IP you need to add a comma (,) to the end of the current list, then type out your IP.

For example, if you want to whitelist “192.168.0.123“, you would use the following.

    "rpc-whitelist": "127.0.0.1,192.168.0.123",

6. Alternatively, you can disable the whitelist altogether by finding the option below and setting the value to “false“.

    "rpc-whitelist-enabled": true

7. Once you have made these changes to the file, save and quit by pressing CTRL + X, followed by Y, then the ENTER key.

8. Your next step is to force a reload on Transmission so that it will pull in the configuration changes. You do not want to restart the service as it will reset your changes.

sudo systemctl reload transmission-daemon

Installing Transmission from Source Code on Ubuntu

If you want to use newer versions of Transmission on Ubuntu, such as Transmission 4.0, you will want to compile from the source code.

Compiling from source ensures you have the latest available features without having to wait for the repository to be updated.

Best of all, compiling from the source code is a relatively straightforward process.

Installing the Require Packages

1. Our first step is to ensure we have the latest version of the package list and upgrade any out-of-date packages.

Perform both of these steps by using the following commands within the terminal.

sudo apt update
sudo apt upgrade -y

2. We now need to install all the required packages to compile Transmission 4.0 on your Ubuntu device.

Install all these packages including, the build-essential meta package, using the following command.

sudo apt-get install build-essential automake autoconf cmake libtool pkg-config intltool libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libgtk-3-dev libappindicator3-dev libssl-dev libsystemd-dev

If you want to use the desktop interface for Transmission you will want to also install the following package.

sudo apt install libgtkmm-3.0

Preparing Transmission for Compilation on Ubuntu

3. With everything installed, we need to clone the latest version of Transmission.

You can clone the repository to your device by using the following command.

git clone --recurse-submodules https://github.com/transmission/transmission Transmission

By using the “--recurse-submodules” option we are telling git that it should also pull any submodules.

4. Once the cloning process completes, change into its directory by using the cd command.

cd Transmission

5. Next, we must make a directory to store all the build files.

mkdir build

6. With the “build” directory created, we need to use the cd command again to change into the new directory.

cd build

Compiling and Installing Transmission on Ubuntu

7. We can now get cmake to generate the build configuration for Transmission on Ubuntu by using the command below.

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DENABLE_CLI=ON ..

8. You can now begin compiling Transmission on Ubuntu by running the following command within the terminal.

Depending on the hardware you are running this on, this process can take a few minutes to complete.

make

9. Finally, once the compilation process completes, you can install Transmission using the following command.

If you only want to use the GUI for Transmission, you can skip to the next section after the installation completes.

sudo make install

Creating the System Service Files

10. If you are using Transmission, you will likely want it to start up in the background automatically.

The first thing we need to do is create a new user called “transmission“. You will need to ensure the directories you want to save your torrents to can be accessed by this user.

sudo adduser --system --group transmission

11. Now copy the service from the Transmission repository we cloned to our Ubuntu device earlier to the “systemd” directory.

sudo cp ~/Transmission/daemon/transmission-daemon.service /lib/systemd/system/

12. Our next step is to enable our new service so that the Transmission daemon will start when your Ubuntu device powers on.

All we need to do to enable the service is to use the following command.

sudo systemctl enable transmission-daemon.service

13. Once the service is enabled, we can immediately start the Transmission daemon using the command below.

sudo systemctl start transmission-daemon.service

Enabling the Web Interface for Transmission

14. Before we can make changes to Transmission’s settings we will need to temporarily disable it. If we don’t stop the service it can automatically overwrite all of your settings changes.

You can stop the Transmission torrent client on your Ubuntu device using the below command.

sudo systemctl stop transmission-daemon.service

15. When you are using Transmission without the GUI, you must enable the web interface by modifying the settings file.

You can begin editing this settings file by using the following command.

sudo nano /home/transmission/.config/transmission-daemon/settings.json

16. With this file open, we must change a few different settings. The first open allows us to enable the web interface.

Find the following option within this file.

    "rpc-enabled": false,

Once you find the line above, you must replace “false” with “true“. Doing this will enable Transmissions web interface on Ubuntu.

    "rpc-enabled": true,

17. After enabling the remote access functionality, you must modify the whitelist. By default, only the localhost can connect to the web interface.

To change this, find the following line within the file.

    "rpc-whitelist": "127.0.0.1,::1",

To add a new IP address to the whitelist, you must add a comma to the end of the current list followed by the IP Address. You can also use an asterisk as a wildcard.

For example, if we wanted everyone on the “192.168.0.0” subnet to have access to Transmission’s web interface, we would change the above line to the following.

    "rpc-whitelist": "127.0.0.1,::1,192.168.*.*",

18. After editing the configuration file, you can save and quit by pressing CTRL + X, followed by Y, then the ENTER key.

19. We can now safely start the Transmission daemon again. However, this time, you can now access the web interface.

sudo systemctl start transmission-daemon.service

Accessing the Transmission Web Interface

Now that you have Transmission installed on your Ubuntu system let us move on to how to access its web interface.

The web interface is a key feature of Transmission and allows you to access it remotely and easily manage your torrents.

1. To access the Transmission web interface, you must know your Ubuntu device’s IP address.

We recommend setting up a static IP address on your Ubuntu device, as it will make accessing the torrent client easier in the future.

2. Once you know your Ubuntu machine’s IP address, access Transmission’s web interface by going to the following address.

Ensure that you replace “IPADDRESS” with the address for your machine.

http://IPADDRESS:9091

3. You now have access to Transmissions web interface and can use it to manage torrents on your system.

Depending on the version of Transmission that you are using, this interface may look a bit different. In our screenshot, we are running Transmission 4.0.

Ubuntu Transmission BitTorrent Client

Conclusion

At this point in the guide, you should hopefully have Transmission up and running on your Ubuntu installation.

This lightweight client boasts many features, including a very useful web interface.

Please feel free to comment below if you have any issues with getting Transmission to work on your device.

If you found this tutorial helpful, be sure to check out our many other Ubuntu tutorials and guides.

One Comment

  1. Avatar for Dan
    Dan on

    Thanks I really appreciate this guide!

Leave a Reply

Your email address will not be published. Required fields are marked *