Teamspeak start stop script

After my server was restarted twice by my hosting center I decided to make sure Teamspeak would start automatically. I read a few posts on how other people did it but in the end I decided that I created my own minimal script.

My two goals with this init script was:

  • Run the Teamspeak server as an unprivileged user.
  • Make sure the Teamspeak server starts up after reboot even though it wasn’t shut down properly
  • A little bonus was that it reuses much of the init script that is bundled with the installation

Init script (/etc/init.d/teamspeak):

#!/bin/sh

TEAMSPEAK_DIR=/usr/local/teamspeak
TEAMSPEAK_USER=teamspeak

# Make sure that Teamspeak starts even though it wasn't closed nicely last time (ie. by a power cut)
if [ $(su - $TEAMSPEAK_USER -c "ps ux" |grep tsserver2.pid|grep -v grep|wc -l) -eq 0 ] && [ -f ${TEAMSPEAK_DIR}/tsserver2.pid ]
then
    rm ${TEAMSPEAK_DIR}/tsserver2.pid
fi

cd ${TEAMSPEAK_DIR}
su - $TEAMSPEAK_USER -c "./teamspeak2-server_startscript $1"
cd -

My media center

A lot has happened since the last time I blogged… I must admit the main reason for not blogging has been World of Warcraft :)

Anyways back in December my girlfriend and I bought ourselves a new LCD TV capable of displaying HD 1920x1200. To start out with we used our aged Playstation 2 as a DVD player but the low DVD playback quality really shows on the new TV. A few months later I went out and bought a Mac Mini on which I installed Ubuntu.

So far we’ve mainly used it for the slimserver backed for the Squeezebox and occasionally DVD playback in the VLC media player. I’m looking a the different media centers for Linux but haven’t really decided yet. Being a Gnome guy I’m gonna give the next release of Elisa (0.5) a spin when it comes out in july. The earlier releases of Elisa was beautiful and clean but lacking a lot of functionality. So far VLC and a mouse has worked just fine. What I’m really hoping for is some BlueRay playback support in Linux.

Anyways I’m really happy with the Mac Mini as a “Media Center”. I wont be needing any TV Tuners. Its small, good looking, use fairly little power (I think) xD I’m hoping to replace the DVD drive with a BlueRay drive when Linux support picks up at some point.

Migrate emails to Zimbra using imapsync

I’ve installed Zimbra on SLES9 for a costumer because they wanted Zimbra on Suse. The costumer wanted the community maintained version and I felt it was too risky to install Zimbra 5 release candidate.

First a little Suse bashing (sorry but I just get irritated about this over and over again). Zimbra recommends using imapsync to migrate emails to Zimbra and it seems to be a fine piece of software.

  1. I started out by using yast to search for this tool but as I expected nothing.
  2. After downloading it from the website and trying to run it I got a message that I was missing Mail::IMAPClient lib.
  3. I tried to find SLES9 rpm packages (or just RPM packages) with the Mail::IMAPClient lib.
  4. I tried to install this with cpan:

    cpan
    cpan> install Mail::IMAPClient
    ....
    Writing Makefile for Mail::IMAPClient::MessageSet
    Warning: prerequisite Parse::RecDescent 1.94 not found. We have 1.80.
    

    I’m no cpan / perl expert so I couldn’t figure out why I couldn’t get Parse::RecDescent installed.

  5. Anyway what is the benefit of having a supported enterprise version of Suse if you trash it with all sorts of unsupported software.

You could argue that Zimbra should provide imapsync as some part of migration tools.

Anyway the solution was that I installed imapsync on my Ubuntu Gutsy laptop:

sudo apt-get install imapsync

I just gets so disappointed that things are so “hard” in a professional Linux compared to Debian or Ubuntu.

When I’m done I’ll just uninstall it and all its dependencies again:

imapsync libdigest-hmac-perl libdigest-sha1-perl libio-socket-ssl-perl libmail-imapclient-perl libnet-ssleay-perl libparse-recdescent-perl

Important note: I had imapsync on Ubuntu Gutsy hang when it connected to the Zimbra server. I found that passing --noauthmd5 with the example in User Migration in Zimbras wiki made imapsync not hang. An earlier version of Ubuntu (Edgy with an earlier version of imapsync) didn’t need this.

Microsoft will use equipment located in California and other states

I have been meaning to blog about this for a while now. When contacting the Hotmail mail servers to send email your mail server will be presented with strange message in my opinion.

First find the servers which receives email for the hotmail.com domain:

dig mx hotmail.com

which will return something like the following:

hotmail.com.            3600    IN      MX      5 mx1.hotmail.com.
hotmail.com.            3600    IN      MX      5 mx2.hotmail.com.
hotmail.com.            3600    IN      MX      5 mx3.hotmail.com.
hotmail.com.            3600    IN      MX      5 mx4.hotmail.com.

Now try contact one of these on port 25 (just like mail servers does):

telnet mx1.hotmail.com 25

Notice the greetings message from the server:

Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited.
Other restrictions are found at http://privacy.msn.com/Anti-spam/.
Violations will result in use of equipment located in California and other states. 

Bringing it to peoples attention that sending unsolicited commercial or bulk e-mails is prohibited is fair enought even though I doubt many will read it :) But is it really nessesary to threat to use equipment, and why is California emphasised?

Bash prompt pimping

Today at work over lunch I read an article in Linux Magazine called Pimped Prompt.

It inspired me to try different stuff out. I often missed an indication on when I was doing different stuff in the terminal… this is what I ended up with:

export PS1='\[\e[0;34m\][\@\e[1D]\[33[0m\] \u@\h:\w\$ '
This is how it looks like.
This is how it looks like.

To make it permanent put it in your .bashrc file in your home directory. Remember that this variable is propably already set so you either need to replace the line or instert closer to the bottom of the file.