I’ve previously posted a number of tutorials concerning the coolest chat clients in the universe, irssi + bitlbee. Bitlbee has seen some recent improvements, including a rewrite of the jabber codeset and addition of chat-room support for the IM clients. This mean you can now join jabber conference rooms within bitlbee.
I initially wrote most of these details the other day while the blog was having some downtime, and my initial notes are available on the Ubuntu Community Wiki – Bitlbee. I wanted to post some of the steps here as well. If you have any additions please add them to the wiki.
The latest jabber improvements and chat room support are included in the latest development build of bitlbee. This means we’ll have to compile the latest code from source. If you’re afraid of compiling you can stop here. I’ve tried to make the steps as painless as possible, but this does required some compilation so you’ve been warned.
Also, if you currently have Bitlbee installed you may want to remove it. A package build and a custom build can cause some problems.
We’ll need some build dependencies first:
sudo aptitude install build-essential libgnutls-dev libglib2.0-dev xinetd
Next we’ll need to get a copy of the 1.1.1dev code set. This should be available here:
wget -c http://get.bitlbee.org/src/bitlbee-1.1.1dev.tar.gz
We’ll then unpack it and start the building:
tar xf bitlbee-1.1.1dev.tar.gz
sudo make install
(Details on custom building is available on the wiki).
Now, since this isn’t a nicely built package there are still a couple of things we have to configure before we can really get going. For one we have to configure the xinetd service, which will handle the service, and we need to set proper ownership on a few files. Let’s dive in.
The Bitlbee service uses the folder /var/lib/bitlbee for storing its data. On a custom installation like this we need to create that by hand and set ownership on it:
sudo mkdir /var/lib/bitlbee
sudo chown nobody. /var/lib/bitlbee
note: if you previously had bitlbee installed this folder will exist, but there may be an ownership conflict. Make sure the owner of this folder matches that of our xinetd service in the next step.
At this point we can configure the xinetd service. We do this by creating a file:
sudo vim /etc/xinetd.d/ircd
and then adding the following content:
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/local/sbin/bitlbee
port = 6667
disable = no
As noted above, the “user” definition needs to exist and match the ownership of the folder we setup above. Once you’ve saved this file you need to restart the xinetd service and you should be ready to go:
sudo /etc/init.d/xinetd restart
Now, in your client you can connect to localhost and configure Bitlbee as normal. To join a jabber chatroom use this as an example:
join_chat [account] [protocol] [chat room] [&room alias] [nick]
join_chat 0 jabber [email protected] &jabber zelut