Version 2 (modified by charles, 13 years ago) (diff)


Running Transmission on a headless machine (NSLU2)

(for other distributions see the Headless Usage article)


Using ipkg

(See also:

Normally you can install Transmission using this command:

$ ipkg install Transmission

The ipkg repositories may not always be up-to-date with the latest Transmission, so you might want to build it from source.

Building from Source


Use ipkg to install:

  1. optware-devel (to get the developer toolchain)
  2. openssl-dev
  3. libcurl-dev

If you're not building Transmission 1.50 or a revision higher then r7258 you will also need:

  1. gettext
  2. perl-xml-parser (for intltool)
  3. intltool (you'll need to compile it for yourself, because it's not available on ipkg)


After setting up your server and configuring it properly, you should be able to install Transmission from source.

Make sure that you use:

$ ./configure --prefix=/opt --datadir=/opt/share/ --disable-gtk --disable-nls CPPFLAGS=-DTR_EMBEDDED


  • --prefix=/opt: makes sure all goes smoothly, since we are using a different partition for third party
  • --datadir=/opt/share: This installes the Web Interface in /opt/share/transmission/web/
  • --disable-gtk: disables the unnecessary GTK client, unless GTK+ is actually installed, it wouldn't have build anyway
  • --disable-nls: disables the unnecessary gettext dependancy (will only be valid on Transmission 1.50 or r7258 and later)
  • CPPFLAGS=-DTR_EMBEDDED: Builds Transmission in embedded mode.


You'll need to set the environment variable for the Web Interface files:

$ TRANSMISSION_WEB_HOME=/opt/share/transmission/web/

Have a look at the Editing The "settings.json" File page, and the Environment Variables page for more information on how to configure Transmission.

Using Transmission

Look in the man page for the flags you'd like to set, like authentication, and type in your terminal:

$ transmission-daemon

To quit the daemon:

$ killall transmission-daemon

To connect to your Transmission, either use the Web Interface, or the transmission-remote.

For more functionality and start/stop scripts, have a look at the Scripts page.


Libevent Issues on Specific Systems

If you're experiencing crashes, it may be libevent who is at the cause.

  1. If your (package-) system has libevent installed, update it. Older, such as v1.1, are know to contain bugs.
  2. Try setting, one by one, the following environment variables:

Libevent is capable of handling different kinds of event mechanisms used by OSes. However, it seems that some OSes have a malfunctioning implementation of one of these event mechanisms. So, one by one, disabling one of the event mechanisms that libevent supports allows us to identify and disable the one that's misbehaving, while still supporting the others.

Feedback is greatly appreciated, since, honestly, we have no real idea what or why it goes wrong.