Category: Application Install/Tweaking

Creating Ubuntu Torrent and Xbox 360 Media Server

Wow, it’s been awhile since i’ve posted something, but i think that just means that Ubuntu 9.10 has been really stable. It honestly has. I’m running it on multiple computers and compatibility has been a non issue. Now crazy tricks to get things to work properly. However this past weekend i went to work on a new Ubuntu project.

So recently i came upon an old Dell Optiplex GX240. For those who don’t know, this computer is fairly elderly with not a whole lot of useful tasks it can be utilized for any more. My original intention when i purchased the thing for $25 was to use it as a companion to my 42″ LCD since it had such a small case. I already have a HD PVR, so i wasn’t going to use it for that. But simply to browse the web, play flash movies, and a bit of nintendo emulation in a tight small case that doesn’t look like a total eye soar in my tv shelf. Unfortunately, this P4 1.5Ghz with 512MB RAM couldn’t handle it due to the pitiful 16MB AGP video card. And since it only takes low profile AGP cards… i wasn’t about to try and hunt one down.

So after blowing $25 and wanting to salvage my investment my idea changed to create a torrent server that i could stream movies to my Xbox without using the terribly unreliable Windows Media Center. After a good portion of a saturday and a lot of trial and error and swearing, i got myself an Ubuntu torrent and xbox 360 media server using TorrentFlux and uShare.

So here is the quick and easy instructions on how to create a web based torrent downloading client on an Ubuntu machine and stream your torrent downloads directly to your Xbox using Apache, PHP, MySQL, TorrentFlux and uShare.

First off, download the latest version of TorrentFlux which is basically your Bit Torrent download client that will be run on your Ubuntu server. You can find it at www.torrentflux.com

After you download TorrentFlux, take your freshly installed Ubuntu 9.10 machine (or an Ubuntu install you haven’t messed up too badly yet) and install Apache 2.

$ sudo aptitude install apache2

Install PHP 5

$ sudo aptitude install php5

Install MySQL

$ sudo aptitude install mysql-server

$ sudo aptitude install php5-mysql

Restart the apache server

$ sudo /etc/init.d/apache2 restart

LAMP stack is now installed, now move onto installing TorrentFlux (i used 2.4, but whatever is newest i’m sure will work fine). I chose to install in the root www folder of apache, but feel free to put it where you want. I untarred the torrentflux file on my desktop then moved the html folder of TorrentFlux into the root www folder of apache.

$ tar -xvzf torrentflux_2.4.tar.gz

$ sudo chown (user):(user) /var/www/

$ cd /home/user/Desktop/torrentflux_2.4/html/

$ cp -r * /var/www/

Now that we have TorrentFlux in the proper folder, it’s time to setup the database. Create a database called torrentflux.

$ mysqladmin -u root -p create torrentflux

Now run the sql file for torrentflux to get the database in the initial state to run TorrentFlux

$ cd /home/(user)/Desktop/torrentflux_2.4/sql

$ mysql -u root -p torrentflux < mysql_torrentflux.sql

Now you got to modify the TorrentFlux config file and set the database password you used when you installed MySQL.

$sudo gedit /var/www/config.php

modify these lines as you see fit.

$cfg["db_user"] = “root”; // username for your MySQL database

$cfg["db_pass"] = “”; // password for database

Now to set the file permissions on your torrent download folder.

sudo chmod -R 777 /var/www/downloads/

Now that TorrentFlux is now setup, go to http://localhost/index.php and make sure you get a login screen. If you did, that means you followed the steps correctly. Your first login is actually setting your admin username and password. So use this screen now to set that.

So now that we got that complete, we only have to setup the uPnP streaming server to stream the files to our xbox. To install ushare, do the following.

$sudo apt-get install ushare

Once that is installed, lots stop the ushare server and set the configuration.

$/etc/init.d/ushare stop

$sudo gedit /etc/ushare.conf

For my installation, this was probably the biggest pain of it all to get it to stream to the xbox correctly. Problem one, on default, despite what your settings may say, it doesn’t load into ushare using Xbox mode, and sometimes the port changes after you stop and start the server (we will remedy this later in the post when modifying the rc.local file). Not sure if i was doing something incorrectly or just bad luck, but this is the configuration that works 100% for me. The following are lines you should have set in the ushare.conf file. Although feel free to change the ushare_name as that’s the name it shows up as on your xbox. Also, if your downloads folder is a different location than mine, change that.

USHARE_NAME=Torrent

USHARE_PORT=49200

USHARE_DIR=/var/www/downloads

ENABLE_WEB=yes

ENABLE_TELNET=no

ENABLE_XBOX=yes

Next you are going to want to configure the mime types for video streaming.

$ sudo gedit /usr/share/mime/packages/freedesktop.org.xml

find:

type=”video/x-msvideo”

change to:

type=”video/x-ms-wmv”

One of the problems i encountered and mentioned above is that by default, it doesn’t want to take the ENABLE_XBOX settings, so on bootup, your xbox can’t see your torrent server. So to change this, i modified the rc.local file (file which runs whenever you boot linux) to run some root commands to shut down the server, and start it back up on a new port forcing xbox enabled.

$ sudo gedit /etc/rc.local

at the end of the file right before the line “exit 0″, write above it

/etc/init.d/ushare stop
ushare -p 49201 -x

The last couple hurdles i had to overcome was refreshing the share list and updating file permissions. One of the issues with uPnP streaming is that it indexes the list of files you are streaming. This means that even though you download new files, your xbox isn’t going to see them. Luckily ushare builds in a page where you can update it, so i added the link right inside the TorrentFlux interface for easy use. Only thing is, when you are watching a video on your xbox, it’s not accessible, so don’t refresh your list while you’re watching. The other issue i found was TorrentFlux gives it’s own owner to files it downloads. If you share that folder on your network and want to move or delete files, it likely won’t let you, so i just made a script that updated the permissions for every file in the downloads folder. I’m sure there is a better way to do this, but at this point, i was kind of lazy and didn’t want to spend a lot of time figuring this out, and i figured this way was pretty easy by adding the link into the TorrentFlux interface as well.

$ sudo gedit /var/www/index.php

at the very end of the file. but right above the body and html tags, insert this:

<p><center><a href=”http://<?php echo $_SERVER["SERVER_ADDR"]; ?>:49201/web/ushare.html” target=”_blank”>Refresh Share List</a><br><a href=”permissions.php” target=”_blank”>Refresh File Permissions</a></center>

now to create the script that will update the permissions.

$ sudo gedit /var/www/permissions.php

insert the following code.

<?php
echo “Fixing File Permissions…<p>”;
echo shell_exec(“chmod -R 777 /var/www/downloads/”);
echo “<p>Done”;
?>

And just like that you’re done. You now have a torrent client on a remote server you can access from anywhere and you are able to stream everything you download with ease to your xbox. All you gotta do on your xbox is select “My Xbox” and then “Video Library” and select the ushare name you set to your server. Have fun!

$ sudo chown user:user /var/www/torrentflux/

HP Mini 1000 audio fix for Ubuntu 9.04

So i decided to pick up a sexy netbook and i couldn’t be happier. Now, this is the first time i’ve actually purchased anything that wasn’t a desktop, and the recent surge in popularity of netbooks caught my interest. Now i rarely have a need to do computer work on the road or have the need to take a computer somewhere, but i knew i could find some conveniences with a netbook that i wouldn’t normally have with a laptop. Netbooks are tiny, light, and generally look better than laptops. Plus they have enough power to do your every day tasks and is crazy easy to carry around. I decided on the HP Mini 1000 (1035NR) for 2 reasons. 1, the keyboard is large for my freakishly bulbus fingers, and 2. the price was right for only $279.

Obviously, my first task after opening it up was installing Ubuntu. First problem was that i don’t have an external dvd drive, so i had to create a bootable usb flash drive with the ubuntu cd image. That had it’s own set of challenges until i actually managed to format the flash drive correctly prior to loading the image on to it.

After i got Ubuntu installed it looked absolutely perfect with none of the usual suspects when it comes to Linux compatibility with hardware with the one exception of the audio. After searching all over getting no real good answers, i find this incredibly helpful post with a line by line instruction on how to compile the newest alsa drivers from source. i followed the instructions, rebooted, and bam, i got myslef some sound.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/318942/comments/63

- First, check that you have this packages installed (sudo apt-get install package_name):
patch, gettext, libncurses5-dev, xmlto, xmltoman
- Use this script:

cd ~
mkdir soundtmp
cd soundtmp

wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.19.tar.bz2
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.19.tar.bz2
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.19.tar.bz2

tar xjf alsa-driver-1.0.19.tar.bz2
tar xjf alsa-lib-1.0.19.tar.bz2
tar xjf alsa-utils-1.0.19.tar.bz2

cd alsa-driver-1.0.19
./configure –with-cards=hda-intel –with-kernel=/usr/src/linux-headers-$(uname -r)
make
sudo make install
cd ..

cd alsa-lib-1.0.19
./configure
make
sudo make install
cd ..

cd alsa-utils-1.0.19
./configure –disable-nls
make
sudo make install

- Change your alsa-base.conf file (sudo gedit /etc/modprobe.d/alsa-base.conf) adding these lines:

options snd-pcsp index=-2
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel model=hp-m4
options snd-hda-intel enable_msi=1

- Go to System>Preferences>Sound and change first 4 options to ALSA

- Reboot!

- After reboot you should hear login sound…

- In volume control, you’ll want to set the input sources to “line” and “front mic” for the HDA Intel (Alsa mixer). Make sure your volumes are not set too low after a reboot, you’re off and running (thanks to jasonq).

Built in speakers work, headphones and internal mic. Magic blue keys works too, and i’m not having issues about playing from 2 different sources at the same time (youtube in firefox and mp3 in rhytmbox). However, I didn’t test external mic.

Tabbed SSH Terminals to Remote Systems in Ubuntu

Most Server Administrators need to manage multiple Unix/Linux servers via remote SSH Terminals. Here’s a quick guide on how to set up multiple SSH Server Profiles so that they can be run in a tabbed environment in a standard Ubuntu install.

Step 1: Open a Terminal

Applications -> Accessories -> Terminal

Step 2: Create a New Profile

On the terminal window tool bar click File -> New Profile

Give this new profile a name like ‘test’ then click the “Create” button.

Step 3: Set Up Profile Settings

Click the “Title and Command” Tab.

Initial Title: type in the name that you want to appear in your SSH tab/ window.

Check the “Run a custom command instead of my shell” check box to on.

Custom Command: Type in the SSH command line to connect to the remote server.

When command exits: Set this Dropdown to “Exit the Terminal”.

Click the “Close” button.

Step 4: Open Up a Tabbed SSH Terminal to a Remote Server Profile

Click File -> Open Tab -> [profile name]

Type in your password and you are good to go!

Step 5: Setting Up Multiple Profiles The Quick Way:

If you are setting up multiple profiles you can select a base profile to use as template in the “New Profile” Popup by selecting a previously created profile in the “Base on” Dropdown.

You can now setup tabs for all of your remote SSH sessions in Ubuntu without installing other programs!

Mupen64plus with LIRC for mythbuntu 9.04

Instructions for compiling and installing mupen64plus with support your remote control in 64 bit mythbuntu.

Step 1 Install Development Packages

Install the following packages using the synaptec package manager:

  • sdlmame
  • liblircclient
  • liblircclient-dev
  • libqt4
  • libqt4-dev
  • libxtst
  • libxtst-dev
  • libsamplerate
  • libsdl1.2-dev
  • libsdl-ttf2.0-0
  • libsdl-ttf2.0-dev
  • g++

Step 2 Installing mupen64plus

Download the latest source for mupen64plus to your Desktop:

http://mupen64plus.googlecode.com/files/Mupen64Plus-1-5-src.tar.gz

Open up a console and run the following commands:

cd Desktop
tar xzf Mupen64Plus-1-5-src.tar.gz
cd Mupen64Plus-1-5-src
make LIRC=1 all
sudo make install
cd /usr/local/bin
sudo chmod 4755 mupen64plus

Step 3 Configure The Buttons on Your Remote:

run the following command from console (note the ~ is a linux alias for your home directory):

nano ~/.lirc/mupen64plus

# Add the following Lines to the file .lirc/mupen64plus
# replace mceusb with the name of your remote
# you can find the name or your remote by checking any of the files in your .lirc/ directory

# start .lirc/mupen64plus
begin
remote = mceusb
prog = mupen64plus
button = Stop
config = quit
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = Power
config = quit
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = Pause
config = pause
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = Play
config = pause
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = VolDown
config = vol-
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = VolUp
config = vol+
repeat = 0
delay = 0
end
begin
remote = mceusb
prog = mupen64plus
button = Home
config = fullscreen
repeat = 0
delay = 0
end
# end .lirc/mupen64plus
# save the file and exit nano

Run the following command from console:

nano ~/.lircrc

# add the fololowing line to the end of .lircrc

include ~/.lirc/mupen64plus

# save the file and exit nano

Step 4 Configuring Mupen64plus

Run the following command from console and use the gui to setup and configure controllers video settings etc.:

sudo mupen64plus

for best results use the Glide plugin for video not sure why this is best but it sems to work for most games!

Step 5 Configuring Mythbuntu Game Settings

  1. Start up the Myth Frontend Interface.
  2. Select Utilities / Setup -> Setup -> Media Settings -> Game Settings -> Game Players.
  3. Command: mupen64plus –nogui –fullscreen

Rock out with your frock out using mupen64plus!

Installing Java

To install Java Runtime 6:

sudo aptitude install sun-java6-jre sun-java6-plugin

This is needed for Openoffice 3 to completely install…

As for Openoffice,

1) go to www.openoffice.org
2) Download the .DEB files for Openoffice
3) Extract Openoffice
4) Open terminal, and navigate to the extraction point (/home/jason/Downloads/’Openoffice Folder Name’/DEBS)
5) Run “sudo dpkg -i *.deb”

Update Manager Smack-Down

If you have problems with your update manager trying to install useless packages and partial updates that don’t seem to ever friggen install… here’s how to wipe it clean and get a fresh start on life:

Open terminal and type “sudo apt-get clean all”
(This will flush the update manager cache)

Then type “sudo apt-get autoremove”
(This will remove all orphan packages, probably from programs you installed and then uninstalled, or packages that have no linkages to anything and are just taking up space).

Then, to reset the update manager type “sudo apt-get update” and “sudo apt-get upgrade”

That is all. Be gone with you.

Working zsnes package for 8.10!

According to some community people the latest Ubuntu GCC compiler doesn’t compile zsnes properly so you need to use a debian .deb style package to install it.

Here is a link to a working zsnes build for intel! I think it will work for amd 32 bit installs too.

http://packages.ubuntu.com/gutsy/i386/zsnes/download

REMOVE ANY OTHER ZSNES PACKAGE YOU CURRENTLY HAVE INSTALLED BEFORE DOING THIS!

Click the link

Pick a mirror Download the file

Open with Debian Package Installer (Default Option in firefox)

To get to the emulator Click Application -> Games -> ZSNES

ALSO don’t install any updates for this package using the update manager the newly compiled ubutu version of zsnes is messed.

Setup Capture Card for Mythbuntu

Setup Capture Card for Mythbuntu:

Log into MythTV Backend

****Assumung Hauppauge PVR-150****


A) Capture Card Setup

Card Type: MPEG-2 encoder card (PVR-x50, PVR-500)

Video Devce: /dev/video0

Probed Info: Should see the card!

Default Input: Tuner1

B) Video Sources

* New Video Source

Video Source Name: Cable

Listings Grabber: Transmitted Guide Only (EIT)

Channel Frequency Table: us-cable

C) Input Connections

* Select Tuner 1

Video Source: Cable

Transfering Thunderbird profile from Windows to Ubuntu

This is pretty easy, but thought i’d include the directions for this sucker.

Copy your profile folder from Windows:
C:/Documents and Settings/user/Application Data/Thunderbird/Profiles/

Over to (Ctrl+H shows hidden folders):
/home/user/mozilla.thunderbird

After it’s copied over, open up profiles.ini in the mozilla.thunderbird folder. You should see something like this.

[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=r7s8s6fu.default

Change “Path=” to whatever the name of your profile folder is.

Now load up Thunderbird and you should have your account and mail all there. If you get an error message like i did on load, it’s because you have Windows only add-ons. Remove them and the errors will go away. Check the thunderbird site for Linux-friendly add-ons.

——

There is also a way to share your profile between both (share the same files so it update in both), if you so desire, here’s a tutorial for that.

http://www.downloadsquad.com/2007/05/23/sharing-your-thunderbird-and-firefox-data-between-ubuntu-and-win/

Installing Adobe Flash Plug-in on 64-bit Ubuntu

Try installing the adobe flash plug-in on the 64-bit ubuntu and Whamo! You can’t for some crazy reasons I won’t mention here.

Here’s how to spank that monkey:

Open terminal and type: wget http://queleimporta.com/downloads/flash10_en.sh

Then in terminal type: sudo bash ./flash10_en.sh

You will have to restart Firefox before it works.