Tag: setup

Installing a Transmission Daemon on Ubuntu

TransmissionLet’s say you have a computer (could be your home file server) on which you want to install a torrent client as daemon (command line), and manage it through a Web interface. Would be great, right? It’s pretty easy to achieve but there are a couple of details you need to pay attention to.

Note: This tutorial was written for Ubuntu Server 12.04 but it doesn’t mean it can’t be useful for other versions or distros.

Required packages

It’s pretty simple as only a couple of packages need to be installed, and they are already in the repositories. For readability, I’m putting each of them on a different line, but they should all go on the same.

sudo apt-get install transmission-cli
                     transmission-common
                     transmission-daemon

Create folders for Transmission

Even if you could always use the default folders, I like keeping track of everything, the way I want it. So here’s what I’ve done. I think the folder names talk by themselves.

sudo mkdir ~/transmission
sudo mkdir ~/transmission/complete
sudo mkdir ~/transmission/downloading
sudo mkdir ~/transmission/torrents

Permissions

This step isn’t crucial, but it will save you lots of “sudo” commands in the future. By default, Transmission always gives downloaded files permissions to the transmission group (debian-transmission to be more precise). This is why adding your user to this group could be a good idea. Make sure your replace your_user in the following commands:

sudo usermod -a -G debian-transmission your_user

Now you need to set the correct ownership and permissions:

sudo chown -R your_user:debian-transmission ~/transmission
sudo chmod -R 755 ~/transmission

A good configuration file

Now this part is very important. The configuration file must be filled correctly or else you might not be able to access Transmission’s web interface. Many other things could also “go wrong”. But don’t worry, you can edit this file anytime in the future to fix any problem you might encounter.

First thing to do is to stop the daemon. If you don’t, the configuration file will be overridden when Transmission closes the next time.

sudo /etc/init.d/transmission-daemon stop

Use any text editor (I use Nano here) to edit the configuration file.

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

You will find all possible settings here: official Transmission wiki.

When you’re done, restart the daemon.

sudo /etc/init.d/transmission-daemon start

Configuration file example

Here’s an example of what I have added or changed from the default configuration file. Don’t forget to change your_favorite_list_url and your_user in the following example.

"blocklist-enabled": true,
"blocklist-updates-enabled": true,
"blocklist-url": "your_favorite_list_url",

"download-dir": "/home/your_user/transmission/complete",

"incomplete-dir-enabled": true,
"incomplete-dir": "/home/your_user/transmission/downloading",

"rpc-authentication-required": false,
"rpc-whitelist-enabled": false,

"watch-dir-enabled": true,
"watch-dir": "/home/your_user/transmission/torrents"

Make sure there’s a comma at the end of each line, except for the last one. The last entry (watch-dir), means every torrent file your copy in that folder will be automatically added by Transmission. Download should start only seconds after that.

Port forwarding

For optimal performance in both download and upload, it is recommended to open/forward Transmission’s default port, 51413. To do that, you will need to access your router’s from your favorite Web browser (usually at http://192.168.0.1 or http://192.168.1.1). If you need help passed that point, I suggest googling for something like “your_router_model port forwarding”. You should find plenty of information.

Access Transmission WebUI

Now that you have stopped the daemon, edited settings.json, and restarted the daemon, you should be able to access the Web interface. Simply navigate to your server/computer’s IP and port 9091 (can be changed in settings.json if it doesn’t suit your needs), which should look something like: http://192.168.1.101:9091.

Last step: show your girlfriend how to add new torrents using WebUI. 😉

Setting Up Eclipse for Android Under Ubuntu

Android using Eclipse under UbuntuI know, tutorials such as this one can be found all around the Web. But I feel this might be helpful for many people reading this blog. I will try to cover everything from JDK installation to deploying applications directly to your phone using the “run” button in Eclipse.

Used for this tutorial

  • Ubuntu 11.04 (Natty Narwhal)
  • Acer TimelineX 1830T netbook
  • Samsung Galaxy S Fascinate
  • USB cable

Before you continue

Before you continue, please note that I rarely use the Ubuntu Software Center to install packages and applications so I will mostly use command line in this article. If this causes you any problem, feel free to post your questions in the comments section.

Installing Eclipse

If you don’t already know, Eclipse is a free and open source IDE (integrated development environment) that can be used to develop in Java, C++, PHP, Ruby, and many more. To install Eclipse, open a Bash shell and execute the following:

sudo apt-get install eclipse

By installing the Eclipse package, many other packages such as Java JRE and JDK will be installed. This will save you a lot of configuration time.

Installing the Android SDK

Call it a personal preference. but I like to install SDK’s in the /usr/lib folder. If you prefer to install it somewhere else, in your home folder for example, feel free to do so. Note: replace your_user by your Ubuntu user name.

cd /usr/lib
sudo mkdir android
sudo chown -R your_user:your_user android
cd android

Now navigate to the Android SDK Download Page and copy the link to the Linux (i386) SDK. At the time of writing this article, the URL is: http://dl.google.com/android/android-sdk_r10-linux_x86.tgz. Now back to your shell:

wget http://dl.google.com/android/android-sdk_r10-linux_x86.tgz
tar -xvzf android-sdk_r10-linux_x86.tgz

Installing the ADT Plugin for Eclipse

The Android Development Tools (ADT) Plugin is required for any Android development. Follow these instructions to install it:

  1. Open Eclipse (confirm workspace location if prompted, default location is good)
  2. In Eclipse’s top menu, select Help / Install New Software…
  3. Click on the “Add…” button
  4. Enter “ADT Plugin” for the name, the following for the URL and click the OK button: https://dl-ssl.google.com/android/eclipse/
  5. Check “Developer Tools” (to download everything offered) and click the Next button twice
  6. Accept terms and conditions and click “Finish”
  7. If security warning pops, click “OK” to continue
  8. When asked, click “Yes” to restart Eclipse

Configuring Eclipse with the Android SDK

Eclipse needs to know where the Android SDK was installed:

  1. In Eclipse’s top menu, select Window / Preferences
  2. In the window’s left menu, click on “Android”
  3. Click “Browse…” and locate the place where the Android SDK was previously installed (in my case: /usr/lib/android/android-sdk-linux_x86)
  4. Click “OK” but not “Apply”

Other essential SDK components

Before you are ready to start developing, some essential components must be downloaded and installed using the Android SDK and AVD Manager. To open the manager, you can use the download-like arrow icon located in left part of Eclipse’s icon bar, or you can select Window / Android SDK and AVD Manager from the top menu.

Click on “Available Packages” on the left, and under “Android Repositories” select the following packages:

  • Android SDK Platform-tools
  • Android SDK Tools (if in the list, but it shouldn’t at this point)
  • Documentation for Android SDK
  • One or several SDK Platforms (I chose Android 2.1 and 2.2 because that’s the API’s I’m developing for)
  • Click “Install Selected”
  • Select “Accept All” and click “Install”
  • When asked, click “Yes” to restart the ADB

Note 1: it is recommended you choose an Android API as low as possible to reach as many users as possible. Click here for the latest usage share.

Note 2: if you need more help selecting components, please read this.

Adding the Platform Tools to your environment

To make the Android SDK Platform-tools available from everywhere, you need to add the platform-tools directory to the PATH environment variable. To do so, use your favorite text editor (I use nano) and do the following:

nano ~/.bashrc

Scroll to the end of the file and add this line:

PATH=$PATH:/usr/lib/android/android-sdk-linux_x86/platform-tools/

Logout from your Ubuntu session and log back in. Now the “adb” command should be available from anywhere in your Bash shell.

Setting your phone

To be able to deploy your applications directly from Eclipse to your phone, you need to do two things:

  1. Set USB Debugging on (on my phone, with Android 2.2, it’s located under Settings / Applications / Development)
  2. Allow install of non-market applications (again, on my phone, under Settings / Applications)

Connect your phone to ADB

Using your USB cable, connect your phone to your computer. Your phone should “say” it is now under USB debugging. On your computer, open a shell and type:

adb devices

You should get an output like this one:

List of devices attached
1000ed430c4c    device

If you can’t see your device, try:

adb kill-server
adb start-server

Finally, deploy to your phone

Now start Eclipse. Open your Android project or create a new one (not covered in this tutorial).

You will need to create a run configuration at this point if not done already. What is important here is to set your configuration’s target to “Manual”. When finished, press “run” (the green play button). A window entitled “Android Device Chooser” should now open and your phone should be there. Select it and press the OK button. It should then deploy to your phone and the application will start by itself.

If you get a timeout error

When deploying to your phone, you may someday get:

Android error: Failed to install *.apk on device *: timeout.

It can be solved easily by going into Eclipse’s top menu in Window / Preferences / Android / DDMS, and changing the ADB connection timeout.

Why not use the emulator?

The emulator may be a good tool in some situations (you can’t own/test all different devices). But I prefer to develop directly on my phone. This is why this tutorial won’t cover the use of the emulator. At this point, I’m almost sure you will figure it out by yourself as all the required tools have now been installed.

Need more help?

I really hope this will help you getting started with your Android development projects. If this tutorial doesn’t answer all your questions, here are some sites/pages you may want to visit:

As always, feel free to post your questions or comments!

© 2017 Evil Coding Monkey

Theme by Anders NorenUp ↑